newger
05.01.2006, 14:05
Hallo,
bin Anfänger und benötige Hilfe.
Vielen Dank dafür.....
Habe ein Script aus dem Internet für meine DB angepaßt.
Soweit funktioniert alles, außer dass die Datensätze willkürlich gelöscht werden. Ich vermute es liegt an der Schleife.
Ich habe vier Daten in der Tabelle.
2 werden gelöscht, aber nicht die, die ich gewählt habe.
Und die letzten 2 Datensätze werden garnicht mehr gelöscht.-----------------------------
Hier die Tabelle(phpadmin)
*************************************
Nach Schlüssel sortieren: PRIMARY (aufsteigend)
PRIMARY (absteigend) keine
id feld
1 A
2 B
3 C
4 D
Alle auswählen / Auswahl entfernen markierte:
*************************************
Leider komme ich hier nicht weiter..
Vielen, vielen dank....
Hier das Script:
**************************************
<?
// Verbindung zur Datenbank herstellen
$db=@mysql_connect("localhost","root","");
$select=@mysql_select_db("newger",$db);
if($submit) {
// Wenn der Submit-Button geklickt wurde ...
// die Anzahl der markierten Datensaetze ermitteln
$y=count($loeschen);
echo "$y Datensätze werden gelöscht.<br><br>";
// Für jeden markierten Datensatz
// den delete-Befehl aufrufen.
for($x=0;$x<$y;$x++) {
mysql_query("delete from testdaten
where ID='$loeschen[$x]'");
echo "Gelöscht: $loeschen[$x]<br>";
}
}
// Die vorhandenen Datensätze abrufen
$result=mysql_query("select * from testdaten");
// Nur wenn Daten gefunden wurden,
// wird das Formular angezeigt.
if(mysql_num_rows($result)) {
?>
<form method="post" action="loeschen.php">
<table width="300" border="0" cellspacing="0"
cellpadding="0">
<?
// Daten anzeigen
while($row=mysql_fetch_array($result,MYSQL_ASSOC)) {
$ID=$row["ID"];
$feld=$row["feld"];
?>
<tr>
<td width="30">
<input type="checkbox" name="loeschen[]"
value="<? echo $ID ?>">
</td>
<td><? echo $feld ?></td>
</tr>
<? } ?>
</table>
<br>
<input type="submit" name="submit" value="Löschen">
</form>
<?
} else {
echo "Keine Daten gefunden.";
}
?>
und hier die Löschroutine:
*******************************************
<!-loeschen.php->
<html>
<body>
<?php
// changed by Joey 30.12.2005
include ("start.php");
mysql_query("DELETE FROM testdaten WHERE id='$x'");
mysql_close();
?>
bin Anfänger und benötige Hilfe.
Vielen Dank dafür.....
Habe ein Script aus dem Internet für meine DB angepaßt.
Soweit funktioniert alles, außer dass die Datensätze willkürlich gelöscht werden. Ich vermute es liegt an der Schleife.
Ich habe vier Daten in der Tabelle.
2 werden gelöscht, aber nicht die, die ich gewählt habe.
Und die letzten 2 Datensätze werden garnicht mehr gelöscht.-----------------------------
Hier die Tabelle(phpadmin)
*************************************
Nach Schlüssel sortieren: PRIMARY (aufsteigend)
PRIMARY (absteigend) keine
id feld
1 A
2 B
3 C
4 D
Alle auswählen / Auswahl entfernen markierte:
*************************************
Leider komme ich hier nicht weiter..
Vielen, vielen dank....
Hier das Script:
**************************************
<?
// Verbindung zur Datenbank herstellen
$db=@mysql_connect("localhost","root","");
$select=@mysql_select_db("newger",$db);
if($submit) {
// Wenn der Submit-Button geklickt wurde ...
// die Anzahl der markierten Datensaetze ermitteln
$y=count($loeschen);
echo "$y Datensätze werden gelöscht.<br><br>";
// Für jeden markierten Datensatz
// den delete-Befehl aufrufen.
for($x=0;$x<$y;$x++) {
mysql_query("delete from testdaten
where ID='$loeschen[$x]'");
echo "Gelöscht: $loeschen[$x]<br>";
}
}
// Die vorhandenen Datensätze abrufen
$result=mysql_query("select * from testdaten");
// Nur wenn Daten gefunden wurden,
// wird das Formular angezeigt.
if(mysql_num_rows($result)) {
?>
<form method="post" action="loeschen.php">
<table width="300" border="0" cellspacing="0"
cellpadding="0">
<?
// Daten anzeigen
while($row=mysql_fetch_array($result,MYSQL_ASSOC)) {
$ID=$row["ID"];
$feld=$row["feld"];
?>
<tr>
<td width="30">
<input type="checkbox" name="loeschen[]"
value="<? echo $ID ?>">
</td>
<td><? echo $feld ?></td>
</tr>
<? } ?>
</table>
<br>
<input type="submit" name="submit" value="Löschen">
</form>
<?
} else {
echo "Keine Daten gefunden.";
}
?>
und hier die Löschroutine:
*******************************************
<!-loeschen.php->
<html>
<body>
<?php
// changed by Joey 30.12.2005
include ("start.php");
mysql_query("DELETE FROM testdaten WHERE id='$x'");
mysql_close();
?>