PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

14-09-2003, 18:35
|
el_espiritu
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 170
|
|
Daten mit while-Schleife in Datenbank
Hallo !
Ich stehe grad vor folgendem Problem:
Wenn ich beispielsweise 3 Datensätze aus einer MySQL-Datenbank mit Hilfe einer while-Schleife in einer Tabelle mit Textfeldern auf einer Webseite ausgeben lasse, soll der User diese Datensätze ändern können. Problem bei dem Abschicken des Formulars: Wie füge ich diese Datensätze wieder in die Datenbank ein? Müsste ja auch mit einer while-Schleife geschehen, da ja z.B. nicht immer nur 3 Datensätze da sind, sondern auch mal 4 oder 5, d.h. das ganze müsste variabel und nicht statisch sein.....
Datensatz sieht z.B. so aus:
ID, Farbe, Beschreibung
1, grün, blablablabla
|

14-09-2003, 19:15
|
Fritz
Newbie
|
|
Registriert seit: Jun 2003
Ort: Berlin
Beiträge: 25
|
|
Hi espiritu
Dies lässt sich ganz eifach klären.
Da php einfach mal ne geile Programmiersprache ist, musst du den query-befehl nur so formulieren
PHP-Code:
mysql_query("UPDATE table (beschreibung='idiot') WHERE farbe='grün'")
Da sorgt dafür, das alle beschreibungen der Einträge auf 'idiot' geändert werden wo die farbe blau ist...
Also nix mit whgile schleife.
|

14-09-2003, 19:20
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Original geschrieben von Fritz
Da sorgt dafür, das alle beschreibungen der Einträge auf 'idiot' geändert werden wo die farbe blau ist...
|
erstens scheinst du eine grün/blau farbsehschwäche zu haben ;-)
und zweitens lese ich aus der anfrage nicht heraus, dass er in allen drei datensätzen den gleichen wert setzen will beim updaten, sondern dass dies pro spalte auch durchaus unterschiedliche werte sein können.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

14-09-2003, 19:27
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
du nennst die felder in deinem formular statt "email" einfach "email[<id>]".
jetzt hast du nämlich ein array, dass du einfach durchgehen kannst
html:
Code:
<input type="text" name="email[35]" value="a@b.com" />
<input type="text" name="email[39]" value="sod@off.org" />
php:
PHP-Code:
foreach ($_POST['email'] as $key => $value)
{
$sql="UPDATE tabelle SET email='".$value."' WHERE id=".$key;
mysql_query($sql);
}
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

14-09-2003, 20:40
|
el_espiritu
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 170
|
|
@ Fritz
Ich denke mal du willst mich verarschen...!
@mrhappiness
D.h. ich könnte meine ID aus der Datenbank nehmen, diese in der Ausgabe-while-Schleife einfach als name="status_id" im Formular ausgeben lassen (die wird ja dann automatisch hochgezählt), und dann anhand dieser wieder wie du es beschrieben hast updaten.
Probier ich gleich morgen mal, danke!
|

14-09-2003, 20:46
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
nein, nicht name="id" sondern name="email[id]" und name="plz[id]"
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

15-09-2003, 15:28
|
el_espiritu
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 170
|
|
Ich hab das jetzt so gefriemelt:
Code Ausgabe:
PHP-Code:
<form action="update_admin_sb_fehler.php" method="post">
<tr>
<td align="center" width="50"> Farbe</td>
<td> Beschreibung</td>
</tr>
<?php
$abfrage = mysql_query("SELECT * FROM fehlerlevel");
while($data = mysql_fetch_array($abfrage))
{
echo "<tr>";
echo "<td><img src=\"images/".$data['farbe']."\"></td>";
echo "<td><textarea name=\"beschreibung[id]\" rows=\"3\" cols=\"80\">".$data['sta_beschreibung']."</textarea></td>";
}
?>
Und hier die Auswertung nach Absenden des Formulars:
PHP-Code:
foreach ($_POST['beschreibung'] as $key => $value)
{
$sql="UPDATE fehlerlevel SET sta_beschreibung='".$value."' WHERE status_id=".$key;
mysql_query($sql);
}
Der $key ist doch mein Zähler, also muss ich doch schreiben "WHERE status_id=" weil ja die status_id praktisch die laufende Nummer ist in der Datenbank. Aber ich bekomme "Unknown coloumn"-Fehlermeldung von SQL.
|

15-09-2003, 15:29
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
du sollst doch auch nicht den text id in den namen des formularelementes schreiben,sondern die id des entsprechenden datensatzes...
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

15-09-2003, 15:34
|
el_espiritu
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 170
|
|
Ach du meinst so:
PHP-Code:
<textarea name="beschreibung[".$data['status_id']."]\"
|

15-09-2003, 15:36
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
sieht doch gleich viel besser aus
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

15-09-2003, 15:41
|
el_espiritu
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 170
|
|
Funzt auch gleich viel besser......THANX!
|

16-09-2003, 06:18
|
el_espiritu
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 170
|
|
Jetzt muss ich doch nochmal nachfragen, ich dacht eigentlich ich hätte den Code verstanden, ist aber wohl doch nicht so:
Wenn ich nun mehrere Spalten habe, die ich ausgeben lasse, wie bau ich das dann ich die "foreach"-Schleife rein ???
Momentan werden ja nur 2 Werte übergeben, die ID und die Beschreibung. Nur wo genau wird denn die Beschreibung übergeben ??
Was genau macht denn diese Zeile:
PHP-Code:
$_POST['beschreibung'] as $key => $value
|

16-09-2003, 08:11
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
foreach hast du gelesen?
was verstehst du nicht?`
was meinst du mit "mehrere Spalten"?
beschreibung und email?
PHP-Code:
foreach ($_POST['beschreibung'] as $key => $value)
{
$sql="UPDATE fehlerlevel
SET
sta_beschreibung='".$value."',
email='".$_POST['email'][$key]."'
WHERE status_id=".$key;
mysql_query($sql);
}
ich denke, es sollte sich alles klären, wenn du mal immanual nachschaust
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

16-09-2003, 16:34
|
el_espiritu
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 170
|
|
Ich meinte halt mehrere Spalten in der Ausgabe (Formular-Textfelder), denen ich ja alle einen Namen zuweisen müsste um sie mit $_POST in der Auswertungsdatei ansprechen zu können. Wie mit "sta_beschreibung"....
|

17-09-2003, 09:37
|
el_espiritu
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 170
|
|
Momentan sieht meine Ausgabe so aus:
PHP-Code:
<?php
$abfrage = mysql_query("SELECT * FROM server");
while($data = mysql_fetch_array($abfrage))
{
$abfrage2 = mysql_query("SELECT * FROM applikation WHERE applikation_id = $data[applikation_id]");
$data_app = mysql_fetch_array($abfrage2);
echo "<tr>";
echo "<td align=\"center\">".$data['server_id']."</td>";
echo "<td> <input type=\"text\" size=\"15\" name=\"sername[".$data['server_id']."]\" value=\"".$data['ser_name']."\"</td>";
echo "<td> <input type=\"text\" size=\"30\" name=\"sysname[".$data['server_id']."]\"value=\"".$data['ser_sysname']."\"</td>";
echo "<td> <input type=\"text\" size=\"15\" name=\"appname[".$data['server_id']."]\"value=\"".$data_app['app_name']."\"</td>";
echo "<td align=\"center\"><a href=\"javascript:idnummer.ser_id.value=$data[0];idnummer.submit();\">System löschen</a></td>";
echo "</tr>";
}
?>
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
Aktuelle PHP Scripte
Homepagetools 2022
Kostenloses Gästebuch und Homepagetools für die eigene Homepage.
Bei GuxDu kann man sich kostenlos die Websitetools auf die vorhandene Website einbauen. Zudem kann man bei GuxDU auch eine eigene Homepage mit 3D Effekten erstellen. GuxDu ist kostenlos.
29.04.2022
freepler | Kategorie: PHP/ Gaestebuch
|
SF-Shopsystem V1.0
Hier haben wir ein einzigartiges Shopsystem in PHP.
Die Anzahl der Artikel ist unbegrenzt, einfach zu bedienen und erklärt sich.
Ausführliche Beschreibung weiter unten.
28.04.2022
Speedcrawler | Kategorie: PHP/ Shops
|
Anzeigen Markt mit PayPal Bezahl System
Anzeigen Markt Script
mit PayPal Bezahl System
Der Benutzer hat die Möglichkeit sofort nach Bezahlung mit PayPal
seine Anzeigen zu schalten, je nach seinem Guthaben.
27.04.2022
Webace_de | Kategorie: PHP/ Anzeigenmarkt
|
Alle PHP Scripte anzeigen
|