login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Meerdere dingen tegelijktijd deleten

Offline remcobers - 04/11/2004 22:03
Avatar van remcobersPHP expert Ik wil graag meerdere dingen tegelijktijd deleten uit mijn database. Ik heb een forum. En je kan dan aanvinken of je het wilt deleten of niet. Alle vinkvierkantjes(ben ff de naam kwijt) hebben wel allemaal de zelfde naam plus een getal

  1. echo "<form method='post' action=''>";
  2. for($i = 0; $i < 3; $i++){
  3. <input type='hidden' name='antwoord' value='antwoord$i'>
  4. <textarea name='text$i' cols='10' rows='10'></textarea>";
  5. } echo"
  6. <input type='text' name='naam' value='rz001'>
  7. <input name='submit' type='submit' value='submit'>
  8. </form>";
  9. }

Zoiets wil ik dan maken, maar dan om te deleten. Ik weet dat het kan want heb ik al eerder gezien. Maar ik zou niet weten hoe.

8 antwoorden

Gesponsorde links
Offline Dennisvb - 04/11/2004 22:29
Avatar van Dennisvb MySQL ver gevorderde je kunt even in dit script kijken, want daar wordt het ook gebruikt:

http://www.site...amp;id=113
Offline bosgroen - 05/11/2004 00:23 (laatste wijziging 05/11/2004 10:05)
Avatar van bosgroen Gouden medaille

PHP interesse
  1. for($i = 0; $i < 3; $i++){
  2. if($POST['text'.$i]) statement delete;
  3. }


is een beetje te algemeen om een goed beeld te kunnen vormen van wat je juist wilt, maar het is echt niet zo moeilijk als je er eventjes over nadenkt. De truc is idd om de naam te kiezen met een cijfer in, zo kan de gegevens die je in een loop geprint hebt, ook in een loop verwerken.
Offline Thomas - 05/11/2004 10:42
Avatar van Thomas Moderator Je kan ook een verzameling getallen als WHERE-argument gebruiken in een DELETE-query. Stel dat je bijvoorbeeld de berichten 1,2 en 5 wilt verwijderen, dan kon dit volgens mij als volgt:

  1. DELETE FROM forum_berichten WHERE id IN (1, 2, 5)
Offline remcobers - 05/11/2004 16:05
Avatar van remcobers PHP expert Bedantk voor jullie antwoorden, heb het van het script gebruikt en werkt geweldig
Offline Stijn1 - 05/11/2004 18:16 (laatste wijziging 05/11/2004 18:19)
Avatar van Stijn1 Gouden medaille

PHP ver gevorderde
Dit hier vind ik eigenlijk beter:
  1. -- begin form --
  2. ($id = het berichtid, dit staat eigenlijk in een loopje)
  3. <input type="checkbox" name="chek[]" value="<?= $id ?>">
  4. <input type="checkbox" name="chek[]" value="<?= $id ?>">
  5. <input type="checkbox" name="chek[]" value="<?= $id ?>">
  6. <input type="submit" name="submit" value="Delete">
  7. -- einde form --
  8. <?php
  9. if(isset($_POST['submit'])){
  10. $query = 'DELETE FROM {tabel} WHERE';
  11. $count = 1;
  12. foreach($_POST['chek'] AS $value){
  13. $query .= " id='".$value."'";
  14. if($count < count($_POST['chek'])){
  15. $query .= ',';
  16. }
  17. $count++;
  18. }
  19. echo $query; // normaal doe je hier mysql_query($query); he :-P
  20. }
  21. ?>

(wel gewoon getypt, niet gekeken of het werkt, normaal zitten er geen fouten in maar je weet maar nooit...)
Offline twopeak - 05/11/2004 19:07
Avatar van twopeak Gouden medaille

PHP ver gevorderde
Stijn, je oplosing is niet fout, maar die van FangorN is beter (the shorter, the Better)
Offline Stijn1 - 05/11/2004 21:59
Avatar van Stijn1 Gouden medaille

PHP ver gevorderde
Die van fangorN? Daar kan de topicstarter toch neits mee?
Offline remcobers - 05/11/2004 22:35
Avatar van remcobers PHP expert heb die van het script al gebruikt
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.362s