Toon posts:

Delete records uit DB ???

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende gemaakt maar het werkt op de een of andere manier niet ???
Ik genereer een lijst met voor elke rij een checkbox. Nu wil ik na een druk op de knop de aangevinkte rij(en) verwijderen. Wat doe ik fout (Iets met de rowid ??????)

dellink.php
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<TABLE>
 <TR>
  <TD>
   <H2>Link verwijderen</H2>
   <form method="post" action="dellinkfromdb.php">
   <table width="600" border=0 cellspacing=1 cellpadding=0>
    <tr>
     <td width="20">&nbsp;</td>
     <td width="20">ID</td>
     <td width="160">Groep</td>
     <td width="200">Naam</td>
     <td width="200">URL</td>
    </tr>

   <?php
   $db = mysql_connect("localhost","xxxxxx","xxxxxx");
   mysql_select_db("xxxxxx");
   $sql = "SELECT * FROM links";
   $result = mysql_query($sql);

   while ($row = mysql_fetch_row($result)) {
   $rowid = $row[0];
   printf ("<tr>");
   printf ("<td><input type=\"checkbox\" name=\"$rowid\"></td>");
   printf ("<td>$row[0]</td>");
   printf ("<td>$row[1]</td>");
   printf ("<td>$row[2]</td>");
   printf ("<td>$row[3]</td>");
   printf ("</tr>");
   }

   printf ("<tr>");
   printf ("<td colspan=5><input type=\"submit\" value=\"Link verwijderen\"></td>");
   printf ("</tr>");

   mysql_free_result($result);
   ?>

   </table>
   </form>
  </TD>
 </TR>
</TABLE>

en dellinkfromdb.php
code:
1
2
3
4
5
6
7
8
9
10
11
<?php

$db = mysql_connect("localhost","xxxxxx","xxxxxx");
mysql_select_db("xxxxxx");

$sql = "DELETE FROM links WHERE link_id = '$rowid'";
mysql_query($sql) or die("foutje");

header("Location: showlinks.php");

?>

  • NightBird
  • Registratie: Januari 2000
  • Laatst online: 20:33

NightBird

DPC-Crew Coding
Je form geeft 4 variabelen door aan dellink...php
Dat zijn de $rowid's, die op false of true staan, afhankelijk van of ze wel of niet aangevinkt zijn.
Je dellink...php moet dus voor iedere $rowid kijken of die true of false is, en dan wel of niet verwijderen.

WatHoorJeWaar · Asobakken
Eerdere projecten: Leading Courses · Brandstof-zoeker.nl · Voertuig-zoeker.nl


Verwijderd

Topicstarter
MAar zoals het hier boven staat werkt het dus niet. Iedere keer de ID ophalen en in de var. rowid zetten. Na de submit de records waar link_id = rowid deleten.

Werkt dat niet ??

  • mjax
  • Registratie: September 2000
  • Laatst online: 20-09 07:57
<input type="checkbox" name="ids[]" value="<?= $row["id"] ?>">

Dan in je delete.php (of zoiets):

"delete from table where id in (".implode(",",$ids).")"

Easy enough?

Verwijderd

Op zaterdag 22 september 2001 10:19 schreef MiKe_V het volgende:
MAar zoals het hier boven staat werkt het dus niet. Iedere keer de ID ophalen en in de var. rowid zetten. Na de submit de records waar link_id = rowid deleten.

Werkt dat niet ??
Ik zal het proberen uit te leggen aan de hand van een voorbeeldje.
Stel ..
$rowid[0] = "aap", die is niet aan gevinkt
$rowid[0] = "noot", die is wel aan gevinkt
$rowid[0] = "mies", die is niet aan gevinkt
$rowid[0] = "kees", die is wel aan gevinkt

Jouw dellinkfromdb.php krijgt nu als variabelen mee: $aap=false, $noot=true, $mies=false en $kees=true.
Je moet dus een loop bouwen die voor alle $rowid's (dus aap t/m kees) checkt of "$".$rowid true of false is, en dan wel of niet dat rowid deleten.