PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datensatz löschen


noxz
08.06.2005, 19:05
hi.
Also folgendes: Ich hab eine Tabelle in meiner DB die folgendermaßen aussieht.
Label, Labelcode, Artist, Titel, Format, Exemplare
In der Tabelle speichere ich Daten über Schallplatten.
Jetzt hab ich mir ein Formular geschrieben, mit dem ich mir alle Datensätze über eine Suchfunktion in einer Tabelle ausgeben lassen kann und ich vor jeden Datensatz einen Radiobutton setze. Was ich damit erreichen möchte ist, das derjenige Datensatz gelöscht wird, wo ein Häckchen in dem Feld des Radiobuttons ist.
Blos ich finde keine Ansatz wie ich das realisieren kann.
Hier mal mein Quelltext den ich bis jetzt geschrieben hab.


<?php
if (isset($_REQUEST['suchen']))

{

if ( ($_POST["begriff"])!=null)

{

$db = mysql_connect("localhost","root") or die ("Fehler beim Verbinden mit der Datenbank");
mysql_select_db("vinyl");

$suchenklein = strtolower($_POST["begriff"]);
$Suchen = ucwords($suchenklein);

$Kriterium=$_POST[select_suchen];


$res="select * from bestand where ($Kriterium like '%".$Suchen."%')";
$result=mysql_db_query('vinyl',$res);
$num=mysql_num_rows($result);



?>

<table width=720 border=0 cellpadding=0>
<tr>
<td width=2%<</td>
<td width=22%><font size=2>Label</td>
<td width=13%><font size=2>Labelcode</td>
<td width=20%><font size=2>Artist</td>
<td width=32%><font size=2>Titel</td>
<td width=10%><font size=2>Format</td>
<td width=5%><font size=2>Exemplare</td>
</tr>
<?php
while($row=mysql_fetch_array($result))
{

?>


<tr>
<td width=2%><input type="radio" name="auswahl"></td>
<td width=15%><?php echo "<font size=2> $row[Label]";?></td>
<td width=13%><?php echo "<font size=2> $row[Labelcode]";?></td>
<td width=20%><?php echo "<font size=2> $row[Artist]";?></td>
<td width=32%><?php echo "<font size=2> $row[Titel]";?></td>
<td width=10%><?php echo "<font size=2> $row[Format]";?></td>
<td width=5%><?php echo "<font size=2> $row[Exemplare]";?></td>
</tr>


<?php
}

}
else
{
$status= "Bitte Feld ausfüllen um nach einer Platte zu suchen!";
}

}//end if


?>
</table>
<br>
<form name="löschen" method="POST">
<div class="ab">
<span class="bez"></span>
<span class="formcheck"><input type="submit" name="löschen" value="Löschen"></span>
</div>

h75
08.06.2005, 22:55
Hi noxz, ist das denn ein Grund, so den Kopf hängen zu lassen? :rolleyes: Ich bin mir sicher, das hier jemand ist, der das hinbekommt. Ich bin mir nicht ganz so sicher.. Hab aber mal was gegoogelt, und das dabei gefunden. Vielleicht hift dir das ja schonmal weiter... :)

http://www.phpforum.de/forum/phpforum2___29154_1118264012.html
http://ffm.junetz.de/members/reeg/DSP/node13.html

Boothby
09.06.2005, 22:46
Erweiter die Tabelle um eine Spalte id, die auto inkrement ist.

ALTER TABLE `tabelle` ADD `id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

Dann kannst du jeden Datensatz über die id ansprechen.

In deinem Quellcode änder <td width=2%><input type="radio" name="auswahl"></td>
in
<td width=2%><input type="radio" name="auswahl" value="$row[id]"></td>

Die Zeile mit dem <form> tag mußt du vor die Tabelle setzen, damit die radio-buttons auch erfasst werden ;).

Nun kannst du die Datensätze löschen.


if ($_POST['löschen'] && $_POST['auswahl'])
{
$sql = "DELETE FROM bestand WHERE id=$_POST[auswahl]";
//u.s.w.
}