login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Probleem met selectievakjes (Opgelost)

Offline webmaker - 19/02/2007 22:22
Avatar van webmakerPHP interesse Ik heb een probleem met selectievakjes, iedere categorie heeft een id, het probleem is dat als je meerder selectievakjes aanvinkt hij die id's niet kent value=$id heb ik gedefineerd. Het is een tabel in die weergegeven wordt via while lus. En als je op de knop verwijderen klikt en vb 2 selectievakjes aanvinkt dan herkent hij maar 1 id.

Ik sla de $_POST van het selectievakje in 1 variabele op hoe kun je er nu voor zorgen dat hij meer dan 1 bericht kan verwijderen?:s

5 antwoorden

Gesponsorde links
Offline Nanon - 19/02/2007 23:18
Avatar van Nanon PHP interesse Met een stuk code worden we misschien wel wat wijzer.
Offline Wave6 - 19/02/2007 23:21 (laatste wijziging 19/02/2007 23:22)
Avatar van Wave6 PHP beginner Laten we eerst maar is beginnen met je ID zowieso als primary en unique id want anders heb je alweer conflicten met dat je 2x de id waarde 1 heb bijvoorbeeld. Ik heb hier een klein voorbeeldje van hoe je het kan doen.

  1. <?php
  2. if(isset($_SESSION['docenten']))
  3. {
  4. mysql_connect("localhost","root","******");
  5. mysql_select_db("stage") or die (mysql_error());
  6.  
  7. if(isset($_POST['submit']) && ($_POST['del']))
  8. {
  9. $bedrijf = implode(',', $_POST['del']);
  10.  
  11. mysql_query("DELETE FROM stagebedrijven WHERE id IN(".$bedrijf.")");
  12. }
  13.  
  14. ?><FORM ACTION="<?=$_SERVER['PHP_SELF']?>" METHOD="post"><?php
  15.  
  16. $del = mysql_query("SELECT * FROM stagebedrijven ORDER BY id");
  17.  
  18. echo "<BR><BR><BR><HR COLOR='FFFFFF'><BR>";
  19. echo "<TABLE BORDER='3' CELLSPACING='1' CELLPADDING='1' BORDERCOLOR='000000' ALIGN='center'>";
  20. echo "<TR><TH BGCOLOR='FF0000'>Selecteren:</TH><TH BGCOLOR='0000cc'>Id:</TH><TH BGCOLOR='0000cc'>Bedrijf</TH><TH BGCOLOR='0000cc'>Soort</TH><TH BGCOLOR='0000cc'>Contactpersoon</TH>";
  21. echo "<TH BGCOLOR='0000cc'>Adres</TH><TH BGCOLOR='0000cc'>Huisnummer</TH><TH BGCOLOR='0000cc'>Postcode</TH><TH BGCOLOR='0000cc'>Plaats</TH><TH BGCOLOR='0000cc'>Telefoon</TH>";
  22. echo "<TH BGCOLOR='0000cc'>E-Mail</TH><TH BGCOLOR='0000cc'>Datum</TH>";
  23.  
  24. while($fdel = mysql_fetch_array($del))
  25. {
  26.  
  27.  
  28. echo "<TR><TD><INPUT TYPE='checkbox' NAME='del[]' VALUE='".$fdel['id']."'</TD>";
  29.  
  30. echo "<TD>".$fdel[0]."</TD>";
  31. echo "<TD>".$fdel[1]."</TD>";
  32. echo "<TD>".$fdel[2]."</TD>";
  33. echo "<TD>".$fdel[3]."</TD>";
  34. echo "<TD>".$fdel[4]."</TD>";
  35. echo "<TD>".$fdel[5]."</TD>";
  36. echo "<TD>".$fdel[6]."</TD>";
  37. echo "<TD>".$fdel[7]."</TD>";
  38. echo "<TD>".$fdel[8]."</TD>";
  39. echo "<TD>".$fdel[9]."</TD>";
  40. echo "<TD>".$fdel[10]."</TD>";
  41. }
  42. ?>
  43. </TABLE>
  44. <BR>
  45. <HR COLOR="FFFFFF">
  46. <BR>
  47. <CENTER><INPUT TYPE="submit" NAME="submit" VALUE="verwijderen"></CENTER>
  48. </FORM>
  49. <?
  50. }
  51. else
  52. {
  53. echo "Je moet ingelogd zijn (als docent) om deze pagina te mogen bekijken";
  54. echo "<HR COLOR='FFFFFF'>";
  55. }
  56. ?>
Offline Stefan14 - 19/02/2007 23:22
Avatar van Stefan14 PHP gevorderde dit gaat ongeveer als volgt:
je selectievakjes maak je als volgt (het gaat om [] achter de naam):
  1. <input type="checkbox" name="check[]" value="<?php echo($id); ?>">


de geselecteerde vakjes haal je dan als volgt op:
  1. <?php
  2. foreach($_POST['check'] as $check)
  3. {
  4. $query = "DELETE FROM tabel WHERE id = ".$check;
  5. $result = mysql_query($query) or die (mysql_error());
  6. }
  7. ?>

de code binnen de foreach wordt voor elk geselecteerd vakje opnieuw uitgevoerd.
$check heeft de waarde die bij value staat, in dit geval dus een id.
Offline Wave6 - 19/02/2007 23:24
Avatar van Wave6 PHP beginner Netjes gedaan stefan14 hahaha ik was zelf nog niet op dat idee gekomen maar goed weer on-topic.

grt
Offline webmaker - 20/02/2007 16:58
Avatar van webmaker PHP interesse bedankt voor alle antwoorden, ik ben er nu uit. Goed gezegd "D_O". "Stefan14" heeft dat inderdaad goed gedaan, knap hoor!!:cool: 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.237s