highfive: Automatische generierte tabellen spalten identifizieren.

Moin,

ich arbeite grade am layout der Datenbanksteuerung (mySQL) meines Programms.

Der User soll die Möglichkeit bekommen bestimmte Datensätze zu löschen.

Ich eröffne also ein Formular und schreibe per echo "Tabellenkopf...";

Danach kommt meine SQL abfrage

$abfrage = "SELECT * FROM  user_highfive_test";  
$ergebnis = mysql_query($abfrage);  
while($row = mysql_fetch_object($ergebnis))  
	{echo "<tr><td width=10%> $row->Number </td>  
<td width=10%> $row->und noch viele mehr </td></tr>}  
echo "</table>";

Jetzt hätte ich gerne eine Checkbox für jede Zeile, die mir die Zeile dann zum löschen identifiziert. Irgentwo muss doch SQL auch die einzelnen Zeilen identifieren, wenn sie aufgerufen werden, gibts da vielleicht einen Befehl, der diese Art identifizierung möglich macht?

Danke HighFive

  1. Hi!

    $abfrage = "SELECT * FROM  user_highfive_test";

    $ergebnis = mysql_query($abfrage);

    Hier fehlt eine Reaktion auf Fehler. Selbst wenn deine Query syntaktisch fehlerfrei ist, aknn das DBMS gerade eben sich entschlossen haben, wegen eines anderen Grundes sie nicht ausführen zu können. mysql_query() liefert dann false, was kein gültiges Argument für die Fetch-Funktionen ist.

    if ($ergebnis = mysql_query($abfrage)) {

    while($row = mysql_fetch_object($ergebnis))
    {echo "<tr><td width=10%> $row->Number </td>
    <td width=10%> $row->und noch viele mehr </td></tr>}
    echo "</table>";

      
    } else {  
      // Fehler, Administrator benachrichtigen, mysql\_error() mitsenden  
    }  
      
    
    > Jetzt hätte ich gerne eine Checkbox für jede Zeile, die mir die Zeile dann zum löschen identifiziert. Irgentwo muss doch SQL auch die einzelnen Zeilen identifieren, wenn sie aufgerufen werden, gibts da vielleicht einen Befehl, der diese Art identifizierung möglich macht?  
      
    Ja, und das konntest du über keine Suchmaschine oder ein (My)SQL-Tutorial finden? Für Identifizierungen ist der Primärschlüssel zuständig. Er sorgt dafür, dass der Wert in der ID-Spalte eindeutig ist. Diesen Wert kannst du selbst festlegen, beispielsweise über eine GUID oder einfach hochzählen lassen (auto\_increment).  
      
      
    Lo!
    
    1. // Fehler, Administrator benachrichtigen, mysql_error() mitsenden

      Richtig werd ich einbauen

      »»beispielsweise über eine GUID oder einfach hochzählen lasse(auto_increment).

      Ich habe bereits ein autoincrement was mit brav alle Datensätze numeriert. Bloß die Checkbox gibt ja diesen wert nicht zurück.

      Ich weis nicht ganz wie die Abfrage aussehen soll
      SELECT * WHERE id = "checked checkbox"

      Und wie würde man mehere gecheckte Checkboxen behandeln weil ja die while-schleife die die Tabelle erzeugt nur eine Checkbox schreibt und die auch nur einen value ausgibt.

      Cheers

      1. Hi,

        Ich habe bereits ein autoincrement was mit brav alle Datensätze numeriert. Bloß die Checkbox gibt ja diesen wert nicht zurück.

        Ja dann sorge halt dafür, *dass* sie es tut ...
        Checkboxen haben ein value-Attribut.

        Und wie würde man mehere gecheckte Checkboxen behandeln

        Als Array.
        Für PHP sind dazu eckige Klammern an den Feldnamen im Formular anzuhängen - name="xyz[]".

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?