SetaPDF
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 29.07.2003, 19:42   #1
TP-Junior
 
Benutzerbild von schlagspin
 
Registriert seit: Jul 2003
schlagspin macht alles soweit korrekt
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.
schlagspin ist offline   Mit Zitat antworten


Alt 29.07.2003, 20:14   #2
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
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, ...");

Strogij ist offline   Mit Zitat antworten
Alt 29.07.2003, 20:22   #3
TP-Junior
 
Benutzerbild von schlagspin
 
Registriert seit: Jul 2003
schlagspin macht alles soweit korrekt
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.
schlagspin ist offline   Mit Zitat antworten
Alt 31.07.2003, 10:23   #4
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
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
Stuck Mojo ist offline   Mit Zitat antworten
Alt 31.07.2003, 18:31   #5
TP-Junior
 
Benutzerbild von schlagspin
 
Registriert seit: Jul 2003
schlagspin macht alles soweit korrekt
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.
schlagspin ist offline   Mit Zitat antworten
Alt 31.07.2003, 18:34   #6
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
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
Stuck Mojo ist offline   Mit Zitat antworten
Alt 31.07.2003, 20:25   #7
TP-Junior
 
Benutzerbild von schlagspin
 
Registriert seit: Jul 2003
schlagspin macht alles soweit korrekt
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.
schlagspin ist offline   Mit Zitat antworten
Alt 31.07.2003, 20:29   #8
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Heisst die Spalte mit 100% "kuerzel" ? Ansonsten sehe ich keinen Fehler.
Stuck Mojo ist offline   Mit Zitat antworten
Alt 31.07.2003, 23:32   #9
TP-Junior
 
Benutzerbild von schlagspin
 
Registriert seit: Jul 2003
schlagspin macht alles soweit korrekt


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.
schlagspin ist offline   Mit Zitat antworten
Alt 31.07.2003, 23:35   #10
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
mysql_query("UPDATE spielklassen SET spaltenname = '".$value."',spaltennamezwei = 'wert' WHERE id = '".$id."' LIMIT 1");

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 31.07.2003, 23:43   #11
TP-Junior
 
Benutzerbild von schlagspin
 
Registriert seit: Jul 2003
schlagspin macht alles soweit korrekt
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.
schlagspin ist offline   Mit Zitat antworten
Alt 31.07.2003, 23:45   #12
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Ich weiss ja nicht was du updaten willst? Bzw. woher die zu updatenden Sache kommen...
Stuck Mojo ist offline   Mit Zitat antworten
Alt 31.07.2003, 23:48   #13
TP-Junior
 
Benutzerbild von schlagspin
 
Registriert seit: Jul 2003
schlagspin macht alles soweit korrekt
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.
schlagspin ist offline   Mit Zitat antworten
Alt 31.07.2003, 23:51   #14
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
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
Stuck Mojo ist offline   Mit Zitat antworten
Alt 31.07.2003, 23:57   #15
TP-Junior
 
Benutzerbild von schlagspin
 
Registriert seit: Jul 2003
schlagspin macht alles soweit korrekt
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.
schlagspin ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Mehrere Datensätze auslesen und in einem Formular zum editieren anzeigen Mehrere Datensätze auslesen und in einem Formular zum editieren anzeigen
« Variablen in Kommandozeile? | Thumbnail Funktion »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:00 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67