login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Verkeerd gebruik? Hoe moet het?

Offline finduilas - 27/01/2007 15:22 (laatste wijziging 27/01/2007 15:23)
Avatar van finduilasPHP gevorderde
  1. <?php if(isset ($_POST['verwijderen']) && isset ($_POST['check']))
  2. {
  3. foreach ($_POST['check'] as $id) {
  4. $Query = "DELETE FROM detectives WHERE id = $id";
  5. if ((mysql_query($Query))==false)
  6. {
  7. $var = 'mislukt';
  8. }
  9. else
  10. {
  11. $var = 'gelukt';
  12. }
  13. }
  14. echo $var;
  15. } ?>


Ik ben bezig met de mogelijkheid om alle berichten te gebruiken.Maar ik kan niet bedenken hoe ik het moet doen. Zit een beetje vast.Kan iemand me helpen.Daarom niet met code maar met de structuur ofzo.

Zou ik werken met een for en dan de waarde van de array vb check[1] telkens uithalen?

12 antwoorden

Gesponsorde links
Offline Kr4nKz1n - 27/01/2007 15:30
Avatar van Kr4nKz1n Onbekend Gewoon een while-statement ?
Offline finduilas - 27/01/2007 16:01 (laatste wijziging 27/01/2007 16:45)
Avatar van finduilas PHP gevorderde Volgens mij kan het enkel met een for/foreach.Met een while wordt het veel te traag. Kan iemand een vb geven hoet het werkt met foreach?

Weet er iemand hoe je een value van een checkbox kan opvragen?
Offline compudoc - 27/01/2007 16:51
Avatar van compudoc PHP beginner kijk eens op: http://nl2.php.net/foreach of op: http://nl2.php.net/for
Offline finduilas - 27/01/2007 17:28
Avatar van finduilas PHP gevorderde Het probleem blijft dat ik niet weet welke value mijn checkbox heeft. Zolang ik dit niet kan oplossen weet ik niet hoe er aan te beginnen.
Offline Ibrahim - 27/01/2007 18:58 (laatste wijziging 27/01/2007 19:00)
Avatar van Ibrahim PHP expert een simpel voorbeeld 

  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4. foreach($_POST['checkbox'] as $ID)
  5. {
  6. $Query = "DELETE FROM berichten WHERE id = " . $ID;
  7.  
  8. if( @mysql_query( $Query ) )
  9. {
  10. echo 'Bericht met ID <b>' . $ID . '</b> is succesvol verwijderd <br />';
  11. }
  12. else
  13. {
  14. echo 'Query is mislukt. <br />';
  15. }
  16. }
  17. }
  18. else
  19. {
  20. $Query = "SELECT...";
  21.  
  22. if( @mysql_query( $Query ) )
  23. {
  24. echo '<form id="form1" name="form1" method="post" action="">';
  25.  
  26. while(...)
  27. {
  28. echo '<input type="checkbox" name="checkbox[]" value="' . $fetch['ID'] . '" />';
  29. }
  30. ?>
  31. <p>
  32. <input type="submit" name="Submit" value="Submit" />
  33. </form>
  34. </p>
  35. <?php
  36. }
  37. else
  38. {
  39. echo 'Query error: <br />';
  40. }
  41. }
  42. ?>
  43. <?php
  44. }
  45. ?>
Offline finduilas - 27/01/2007 20:15
Avatar van finduilas PHP gevorderde Had ik ook al geprobeerd.
Maar krijg dan:
Query is mislukt.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on' at line 1
Offline Rens - 27/01/2007 20:19
Avatar van Rens Gouden medaille

Crew algemeen
Regel 15:

==>
  1. die(mysql_error()."<br />");

Dan zie je je query, en weet je wat er daadwerkelijk als waarde word opgegeven...
Is makkelijker debuggen 
Offline finduilas - 27/01/2007 20:21 (laatste wijziging 27/01/2007 20:54)
Avatar van finduilas PHP gevorderde Query is mislukt.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on' at line 1

Ik krijg hetzellfde :s?
Offline Stefan14 - 27/01/2007 20:58 (laatste wijziging 27/01/2007 20:59)
Avatar van Stefan14 PHP gevorderde je kunt je probleem op de volgende manier oplossen:

je checkboxjes moeten er als volgt uitzien.
  1. <?php
  2. <input type="checkbox" name="checkbox[".$fetch['ID']."]" value="'.$fetch['waarde'].'">
  3. ?>


en je foreach dan als volgt
  1. <?php
  2. foreach ($_POST['checkbox'] as $id => $waarde)
  3. {
  4. //hier je code uitvoeren waarbij $id je id van je record is wat je in de name tag hebt gezet, en $waarde de waarde is die je in de value tag hebt gezet.
  5. }
  6. ?>
Offline finduilas - 27/01/2007 21:21
Avatar van finduilas PHP gevorderde
  1. if($_SERVER['REQUEST_METHOD'] == 'POST')
  2. {
  3. foreach ($_POST['checkbox'] as $id => $waarde)
  4. {
  5. $Query = "DELETE FROM berichten WHERE id = " . $waarde;
  6.  
  7. if( @mysql_query( $Query ) )
  8. {
  9. echo 'Bericht <b>' . $ID . '</b> is succesvol verwijderd <br />';
  10. }
  11. else
  12. {
  13. echo 'Query is mislukt. <br />';
  14. die(mysql_error()."<br />");
  15. }
  16. }
  17. }
  18. <input type="checkbox" name="checkbox[<?php echo $det['id']; ?>]" value"<?php echo $det['id'];?>"/>

Maar helaas,nog dezelfde error
Offline Ibrahim - 27/01/2007 21:26
Avatar van Ibrahim PHP expert Ik liet een VOORBEELD zien, en dat betekent dat je het moet aanpassen aan jou situatie. Dus ook de tabelnaam veranderen.

Jou tabel is detectives en ik gebruik berichten.
en @Stefan, name="checkbox[]" is meer dan genoeg hoor

  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4. foreach($_POST['checkbox'] as $ID)
  5. {
  6. $Query = "DELETE FROM detectives WHERE id = " . $ID;
  7.  
  8. if( @mysql_query( $Query ) )
  9. {
  10. echo 'Bericht met ID <b>' . $ID . '</b> is succesvol verwijderd <br />';
  11. }
  12. else
  13. {
  14. echo 'DELETEQUERY is mislukt. <br />';
  15. }
  16. }
  17. }
  18. else
  19. {
  20. $Query = "SELECT...";
  21.  
  22. if( @mysql_query( $Query ) )
  23. {
  24. echo '<form id="form1" name="form1" method="post" action="">';
  25.  
  26. while(...)
  27. {
  28. echo '<input type="checkbox" name="checkbox[]" value="' . $fetch['ID'] . '" />';
  29. }
  30. ?>
  31. <p>
  32. <input type="submit" name="Submit" value="Submit" />
  33. </form>
  34. </p>
  35. <?php
  36. }
  37. else
  38. {
  39. echo 'SELECT QUERY is mislukt: <br />';
  40. }
  41. }
  42. ?>
  43. <?php
  44. }
  45. ?>


probeer dit eens
Offline finduilas - 28/01/2007 09:18 (laatste wijziging 28/01/2007 15:43)
Avatar van finduilas PHP gevorderde @siliecom14: veranderde ik zelf al .Maar dat is de fout niet:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on' at line 1.

$_POST['checkbox'] blijft een array waarin de status van de checkbox wordt opgeslagen. (en volgens mij alleen dan nog deze bij degene die geselecteerd zijn: 'on').

Heeft niemand een werkend voorbeeld op deze manier?Of een andere manier die werkt? Ik heb al vanalles zitten bedenken maar het loopt telkens vast doordat $_POST['checkbox'] niet het id geeft maar 'on'.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.266s