Tabellen Zeile löschen

Manasat

Grünschnabel
Anhang anzeigen 63192Hallo zusammen,

Ich bin Anfänger im Programmieren. Ich denke das Problem ist schon irgendwo erklärt worden, aber entweder finde ich diese Erklärung nicht oder ich verstehe sie nicht.
Ich habe das Problem, dass ich eine Mysql Tabelle in eine html Tabelle anzeige. Jetzt möchte ich auf der Website in jeder Zeile einen Button haben mit dem ich nur diese Zeile lösche. Ich habe schon ein bisschen herumprobiert, aber es will einfach nicht funktionieren.

Hier mein Code:

PHP:
                $sql_userlist = "SELECT * 
		FROM basti.user";
		
	$result_userlist = mysql_query( $sql_userlist );
	
	echo '<table border="2" cellpadding="1" cellspacing="0">';	
			echo "<tr>";
				echo "<th>Id</th>";
				echo "<th>Benutzername</th>";
				echo "<th>Passwort</th>";
				echo "<th>E-Mail</th>";
				echo "<th>Rang</th>";
			echo "</tr>";
			
			echo "<font size='3'>Es gibt Accounts: ";
		
		while ($line = mysql_fetch_array( $result_userlist, MYSQL_ASSOC))
		{
			
			echo "<tr>";
				echo "<td>". $line['id'] . "</td>";
				echo "<td>". $line['username'] . "</td>";
				echo "<td>". $line['passwd'] . "</td>";
				echo "<td>". $line['email'] . "</td>";
				echo "<td>". $line['admin'] . "</td>";
				echo "<td><form action='/sebastian/index.php/?site=benutzer_verwalten' method='post'>
							<input type='submit' size='0' value='L&ouml;schen' name='delite_table_line'>
						  </form></td>";
				echo "<td><form action='/sebastian/index.php/?site=benutzer_verwalten' method='post'>
							<input type='submit' size='0' value='Bearbeiten' name='change_table_line'>
						  </form></td>";
			echo "</tr>";
			if (isset($_POST["delite_table_line"]))
			{
				$sql_account_delete_line = "DELETE FROM basti.user 
											WHERE id='".$line['id']."';";
				$result_account_delete_line = mysql_query( $sql_account_delete_line );
			}
		}
	echo "</table>";

Ich denke das meine ganze Programmierung Bullshit ist, aber ich möchte jetzt keine komplizierten Sachen lernen. Sehr Cool wäre es wenn irgendwer mir erklären kann wie ich jeden Löschen Button der richtigen Zeile zuteile.

Ich hoffe das reicht jetzt an Informationen.

LG Manasat
 

Anhänge

  • accounts.png
    accounts.png
    6,4 KB · Aufrufe: 14
Zuletzt bearbeitet:
Du hast recht, sauber ist das alles nicht, aber ich helf dir trotzdem :-)
Du musst deinen Formularen/Buttons die ID des Datensatzes als Post-PAramater mitgeben.

<form action='/sebastian/index.php/?site=benutzer_verwalten'

in:
"<form action='/sebastian/index.php/?site=benutzer_verwalten&amp;id=".$line['id']."'"

und beim lösch-Befehl auf den Post-PAramter abfragen.
 
Maniac, das ist aber nen GET-Parameter :P

Generell würde ich für das Löschen und Bearbeiten allerdings verschiedene URLs verwenden, da du den Zustad der Resource änderst.

Beispiel:
/sebastian/index.php/?site=benutzer&action=loeschen
/sebastian/index.php/?site=benutzer&action=bearbeiten
/sebastian/index.php/?site=benutzer&action=anzeigen
 
Maniac, das ist aber nen GET-Parameter :P

Generell würde ich für das Löschen und Bearbeiten allerdings verschiedene URLs verwenden, da du den Zustad der Resource änderst.

Beispiel:
/sebastian/index.php/?site=benutzer&action=loeschen
/sebastian/index.php/?site=benutzer&action=bearbeiten
/sebastian/index.php/?site=benutzer&action=anzeigen

Schande auf mein Haupt, klar ist ja an den Action-Parameter angehängt.
Ich wollte Ihm ja auch nur einen kleinen Denkanstoß geben, klar ist dein Code natürlich sicherer.

PHP:
if(isset($_GET['action']) && $_GET['action'] == 'loeschen') {
    $iId = null;
    if(isset($_GET['id']) && $_GET['id'] !== '') {
        $iId = $_GET['id'];

        if(false === is_null($iId)) {
       /* mysql-query zum löschen mit $iId */
      }
   }
}
 
Hallo,
Ich versuche eure Vorschläge mal einzubauen, aber wenn ich jetzt einen neuen Benutzer hinzufüge, dann soll der neue Button automatisch wieder der neuen Zeile zugeteilt werden. Funktioniert das denn so auch?

Aber erstmal DANKE :D

Gruß Manasat
 
Zuletzt bearbeitet:
Hallo,
Ich versuche eure Vorschläge mal einzubauen, aber wenn ich jetzt einen neuen Benutzer hinzufüge, dann soll der neue Button automatisch wieder der neuen Zeile zugeteilt werden. Funktioniert das denn so auch?

Aber erstmal DANKE :D

Gruß Manasat

Na klar, die Buttons werden ja in der Schleife hinzugefügt wo du durch die Datenbank-Rows
iterierst. Das von mir gepostete is ja nur die verarbeitung des buttons.
 
Ahhh, sehr cool. Danke dir :)
Ich ich versuche das dann mal einzubauen und wenn es nicht klappt melde ich mich noch einmal.

Gruß Manasat
 
Zurück