+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 15 von 18

Thema: Mehrere Datensätze auslesen und in einem Formular zum editieren anzeigen

  1. #1
    TP-Junior schlagspin macht alles soweit korrekt Avatar von schlagspin
    Registriert seit
    Jul 2003
    Beiträge
    18

    Question Mehrere Datensätze auslesen und in einem Formular zum editieren anzeigen

    Hallo,

    ich habe folgendes Problem:
    Ich möchte aus einer SQL-Datenbank mehrere Datensätze auslesen:

    Name Vorname Straße PLZ Ort
    xxxxx yyyyyyyy zzzzz 1111 22222
    xxxxx yyyyyyyy zzzzz 1111 22222
    xxxxx yyyyyyyy zzzzz 1111 22222
    xxxxx yyyyyyyy zzzzz 1111 22222
    xxxxx yyyyyyyy zzzzz 1111 22222

    Diese Daten möchte ich in einem Formular ausgeben. Habe leider nicht ganz den Durchblick wie ich es durchführen soll. Ich habe es so versucht:

    $query = "SELECT * FROM spielklassen";
    $ergebnis = @mysql_query($query);
    $anz_reihen = mysql_num_rows( $ergebnis );
    while ( $datensatz = mysql_fetch_row( $ergebnis ) )
    {
    $kuerzel[$reihe] = $datensatz[0];
    print "<input type=text name=kuerzel size=10 value=$kuerzel[$reihe]></td>";
    $reihe++;
    }

    Die Anzeige der Daten funktioniert auch so weit. Ob´s so funktionieren kann, da bin ich mir nicht so sicher.

    Wie übergebe ich die Daten, damit ich diese (eventuell geänderten) wieder in die Datenbank schreiben kann und wie muss der Query aussehen?

    Danke schonmal
    Wir sind allet Borg. Und Du ooch gleich. Dein Widastand kannste vajessen. Weil wa nämlich Deine janzen Eijenschaften in unsre mit rintun werden. So sieht det aus.

  2. #2
    Guest Strogij hilft, wo's geht Strogij hilft, wo's geht
    Registriert seit
    Aug 2002
    Beiträge
    2.233
    Hast du soweit auch richtig gemacht, um die Datensätze zu aktualisieren benutz einfach UPDATE.
    Dann sieht es etwa so aus:
    PHP-Code:
    if (isset($_POST['Submit']))
    {
    mysql_query("UPDATE tabelle SET spalte1 = inhalt, ...");


  3. #3
    TP-Junior schlagspin macht alles soweit korrekt Avatar von schlagspin
    Registriert seit
    Jul 2003
    Beiträge
    18
    Ich tue mich ein bischen schwer damit.

    In welcher Form werden denn die Daten übergeben? Wäre $kuerzel[0] dann der 1. Datensatz der Spalte kuerzel?

    Wie sieht denn der genaue Query mit meinen Beispieldaten aus?
    Wir sind allet Borg. Und Du ooch gleich. Dein Widastand kannste vajessen. Weil wa nämlich Deine janzen Eijenschaften in unsre mit rintun werden. So sieht det aus.

  4. #4
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Naja... so ganz richtig ists nicht... Es ist eher umständlich.
    Mein Vorschlag:
    PHP-Code:
    $query "SELECT * FROM spielklassen";
    $ergebnis = @mysql_query($query);

    while ( 
    $datensatz mysql_fetch_assoc$ergebnis ) )
    {
    print 
    '<input type="text" name="kuerzel['.$datensatz['id'].']" size="10" value="'.$datensatz['spaltenname']."></td>";
    $reihe++; 

    dann auf der ankommenden Seite:
    PHP-Code:
    foreach($_POST["kuerzel"] AS $id => $value) {
        
    mysql_query("UPDATE spielklassen SET spaltenname = '".$value."' WHERE id = '".$id."' LIMIT 1");

    Das Vorhandensein einer ID hab ich nu einfach mal festgelegt

    Gruss
    Jan

  5. #5
    TP-Junior schlagspin macht alles soweit korrekt Avatar von schlagspin
    Registriert seit
    Jul 2003
    Beiträge
    18
    Vielen Dank schonmal,

    ist denn der Syntax so richtig?

    Ich bekomme nach dem einfügen des Codes Fehlermeldungen, die sich allerdings nicht auf den eingefügten Code beziehen.

    Sind die " bzw. ' so richtig? Ich dachte immer, innerhalb eines print kann man " nur so \" benutzen.

    Wolfgang
    Wir sind allet Borg. Und Du ooch gleich. Dein Widastand kannste vajessen. Weil wa nämlich Deine janzen Eijenschaften in unsre mit rintun werden. So sieht det aus.

  6. #6
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    ups...
    PHP-Code:
    print '<input type="text" name="kuerzel['.$datensatz['id'].']" size="10" value="'.$datensatz['spaltenname'].'"></td>'// <- das letzte doublequote muss natürlich auch ein einzelnes sein ;) 
    Gruss
    Jan

  7. #7
    TP-Junior schlagspin macht alles soweit korrekt Avatar von schlagspin
    Registriert seit
    Jul 2003
    Beiträge
    18
    Soweit funktioniert es schonmal

    Leider übernimmt er mir nicht den Wert der Spalte Kürzel in das Input-Feld.

    Wo ist da der Fehler?

    $query = "SELECT * FROM spielklassen";
    $ergebnis = @mysql_query($query);
    while ( $datensatz = mysql_fetch_assoc( $ergebnis ) )
    {
    print "<tr>";
    print '<td><input type="text" name="kuerzel['.$datensatz['id'].']" size="10" value="'.$datensatz['kuerzel'].'"></td>';
    print "</tr>";
    }
    Wir sind allet Borg. Und Du ooch gleich. Dein Widastand kannste vajessen. Weil wa nämlich Deine janzen Eijenschaften in unsre mit rintun werden. So sieht det aus.

  8. #8
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Heisst die Spalte mit 100% "kuerzel" ? Ansonsten sehe ich keinen Fehler.

  9. #9
    TP-Junior schlagspin macht alles soweit korrekt Avatar von schlagspin
    Registriert seit
    Jul 2003
    Beiträge
    18


    Das ist mir jetzt etwas peinlich. Wenn die Spalte kurzel heisst sollte man sie auch so aufrufen.

    Klappt prima. Danke.

    Eine abschließende Frage noch:
    Wenn ich mehrere Spalten updaten will, wie muss ich den Query dann erweitern?

    foreach($_POST["kuerzel"] AS $id => $value) {
    mysql_query("UPDATE spielklassen SET spaltenname = '".$value."' WHERE id = '".$id."' LIMIT 1");
    }
    Wir sind allet Borg. Und Du ooch gleich. Dein Widastand kannste vajessen. Weil wa nämlich Deine janzen Eijenschaften in unsre mit rintun werden. So sieht det aus.

  10. #10
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    mysql_query("UPDATE spielklassen SET spaltenname = '".$value."',spaltennamezwei = 'wert' WHERE id = '".$id."' LIMIT 1");

    Gruss
    Jan

  11. #11
    TP-Junior schlagspin macht alles soweit korrekt Avatar von schlagspin
    Registriert seit
    Jul 2003
    Beiträge
    18
    Das hatte ich mir schon gedacht, aber muss ich hier auch was ändern?

    foreach($_POST["kuerzel"] AS $id => $value)
    Wir sind allet Borg. Und Du ooch gleich. Dein Widastand kannste vajessen. Weil wa nämlich Deine janzen Eijenschaften in unsre mit rintun werden. So sieht det aus.

  12. #12
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Ich weiss ja nicht was du updaten willst? Bzw. woher die zu updatenden Sache kommen...

  13. #13
    TP-Junior schlagspin macht alles soweit korrekt Avatar von schlagspin
    Registriert seit
    Jul 2003
    Beiträge
    18
    Also, das Formular sieht wie folgt aus:
    print "<form method=POST action=admin.php?anwender=$anwender&gruppe=$gruppe&bereich=admin_spieltage&vorgang=edit_ok>";
    print "<table width=780 align=center border=0 cellpadding=0 cellspacing=0>";
    print "<tr><td><b>Kürzel</b></td>";
    print "<td><b>Bezeichnung</b></td>";
    print "<td><b>Anfang</b></td>";
    print "<td><b>Ende</b></td>";
    print "<td><b>Reihenfolge</b></td></tr>";
    $query = "SELECT * FROM spieltage ORDER BY reihenfolge";
    $ergebnis = @mysql_query($query);
    while ( $datensatz = mysql_fetch_assoc( $ergebnis ) )
    {
    print "<tr>";
    print '<td><input type="text" name="spieltag['.$datensatz['id'].']" size="20" value="'.$datensatz['spieltag'].'"></td>';
    print '<td><input type="text" name="bezeichnung['.$datensatz['id'].']" size="55" value="'.$datensatz['bezeichnung'].'"></td>';
    print '<td><input type="text" name="anfang['.$datensatz['id'].']" size="10" value="'.$datensatz['anfang'].'"></td>';
    print '<td><input type="text" name="ende['.$datensatz['id'].']" size="10" value="'.$datensatz['ende'].'"></td>';
    print '<td><center><input type="text" name="reihenfolge['.$datensatz['id'].']" size="5" value="'.$datensatz['reihenfolge'].'"></td>';
    print "</tr>";
    }
    print "<tr></tr>\n";
    print "<tr><td colspan=4><input type=submit value=Abschicken name=SubmitBtn><input type=reset value=Zurücksetzen name=SubmitBtn2></td></tr>";
    print "</table>";
    print "</form>";

    Ich möchte für alle 5 Spalten alle Werte in die Tabelle "spieltage" zurückschreiben.
    Wir sind allet Borg. Und Du ooch gleich. Dein Widastand kannste vajessen. Weil wa nämlich Deine janzen Eijenschaften in unsre mit rintun werden. So sieht det aus.

  14. #14
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Da der Key bei allen Sachen gleich ist, reicht es, wenn du die foreach-Schleife so lässt. Du musst nur den query so erweitern:
    Code:
    foreach($_POST["kuerzel"] AS $id => $value) {
    mysql_query("UPDATE spielklassen SET spaltenname = '".$value."',bezeichnung = '".$_POST['bezeichnung'][$id]."'  WHERE id = '".$id."' LIMIT 1");
    }
    Also wie hier mit Bezeichnung, musst du es für alle anderen auch machen.

    Gruss
    Jan

  15. #15
    TP-Junior schlagspin macht alles soweit korrekt Avatar von schlagspin
    Registriert seit
    Jul 2003
    Beiträge
    18
    Muss ich $value durch etwas anderes ersetzen?

    Ich bekomme die Meldung "Warning: Invalid argument supplied for foreach() "
    Wir sind allet Borg. Und Du ooch gleich. Dein Widastand kannste vajessen. Weil wa nämlich Deine janzen Eijenschaften in unsre mit rintun werden. So sieht det aus.

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51