Datenbankezeile löschen
Johannes M.
- php
0 Tom
Hallo!
Ich beschäftige mich seit gestern mit Php *gg*
Ich arbeite gerade an einem Script, in welches Leute die Ergebnisse von (legalen) Viertelmeilenrennen eintragen können, ein eingabeformular und eine Tabelle zu gestallten war ja noch "sehr einfach", momentan arbeite ich jedoch an einem Admin Panel, welches in welche alle beiträge erstmal reinkommen, überprüft werden, ggf. editiert bzw. gelöscht und letztendlich für die öffentlichkeit Freigegeben wird.
Das hauptproblem liegt allerdings bei der Löschfunktion (löschen einer kompletten Zeile) mittls klick auf "löschen"
Nur zur info: Ich habe eine Spalte "ID" in der vortlaufende nummern sind (auto_increment) eingerichtet.
hier das scipt:
<?php
$conn = mysql_connect("localhost", "USER", "PASS");
$result = mysql_db_query("DBNAME", "select * from viertelmeile1", $conn);
echo '<table width="814" border="0" align="center">
<tr bgcolor="#333333">
<th><font size="1" face="verdana" align="center" color="white">Fahrzeug</font></th>
<th><font size="1" face="verdana" align="center" color="white">Leistung</font></th>
<th><font size="1" face="verdana" align="center" color="white">Modifikationen</font></th>
<th><font size="1" face="verdana" align="center" color="white">Gewicht</font></th>
<th><font size="1" face="verdana" align="center" color="white">Strecke</font></th>
<th><font size="1" face="verdana" align="center" color="white">Fahrer</font></th>
<th><font size="1" face="verdana" align="center" color="white">VMax 1/4-Meile</font></th>
<th><font size="1" face="verdana" align="center" color="white">Zeit 1/4-Meile</font></th>
<th></th>
<th></th>
<th></th>
</tr>';
while ($row = mysql_fetch_row($result)) {
echo '<tr bgcolor="#666666">
<td>',$row[1],'</td>
<td>',$row[2],'</td>
<td>',$row[3],'</td>
<td>',$row[4],'</td>
<td>',$row[5],'</td>
<td>',$row[6],'</td>
<td>',$row[7],'</td>
<td>',$row[8],'</td>
<td><a href="index.html">editieren</a></td>
<td><a href="index.html">löschen</a></td>
<td><a href="index.html">O.K.</a></td>
</tr>';
}
echo '</table>';
mysql_close($conn);
?>
Was muss ich in die Zeile:
<td><a href="index.html">löschen</a></td>
einfügen, damit bei klick auf den link die entsprechende Zeile gelöscht wird???
wer sich unter dem ganzen nichts vorstellen kann, kann sich das mal unter: www.jojosplanet.de/viertelmeilex.php angucken!
Danke für eure Antworten, mfg
Johannes M.
Hello,
Was muss ich in die Zeile:
<td><a href="index.html">löschen</a></td>
einfügen, damit bei klick auf den link die entsprechende Zeile gelöscht wird???
Grundsätzlich sollte man folgendes ungeschriebenes Gesetz beachten:
wer sich unter dem ganzen nichts vorstellen kann, kann sich das mal unter: http://www.jojosplanet.de/viertelmeilex.php angucken!
Im Prinzip sollte also ein Button für die Zeile generiert werden
<form action="http://selfhtml.bitworks.de/debug/kontrolle.php" method="post">
<p><input type="submit" name="btn[del][1]" value="DEL"> hier steht Zeile 1 </p>
<p><input type="submit" name="btn[del][2]" value="DEL"> hier steht Zeile 2 </p>
<p><input type="submit" name="btn[del][3]" value="DEL"> hier steht Zeile 3 </p>
</form>
Bau das mal testhalber in Dein Script so ein un dklick mal drauf.
Dann siesht Du, wie die Buttons im Testscript ankommen
Die ID steht in der letzten eckigen Klammer
In Deinem Script fragst Dun das dann so ab:
if(isset($_POST['btn']['del']))
{
$id_delete = key(isset($_POST['btn']['del']));
if do_delete($table, $id_delete, $id_user)
{
# go back to list
}
else
{
# schimpf mit User
}
}
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
bei deinem Script bekomme ich immer den fehler:
Fatal error: Only variables can be passed by reference in /home/www/htdocs/jojosplanet.de/loeschen.php on line 9
Woran könnte das liegen???
Ciao!
Hello,
bei deinem Script bekomme ich immer den fehler:
Fatal error: Only variables can be passed by reference in /home/www/htdocs/jojosplanet.de/loeschen.php on line 9
Woran könnte das liegen???
Da ich nicht weiß, was in Deinem Script drinsteht, kann ich Dir das nicht beantworten.
Jedenfalls deutet das darauf hin, dass Du eine Funktion benutzt, die eine Referenz erwartet und keinen statischen Wert. Das könnte z.B. an einem falsch benutzen isset() liegen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
Das könnte z.B. an einem falsch benutzen isset() liegen.
sprachs und sahs. Copy und Past hatte mal wieder zugeschlagen.
if(isset($_POST['btn']['del']))
{
$id_delete = intval(key($_POST['btn']['del'])); ## so sollte das heißen
if do_delete($table, $id_delete, $id_user)
{
# go back to list
}
else
{
# schimpf mit User
}
}
Harzliche Grüße aus http://www.annerschbarrich.de
Tom