Update aus Formular funktioniert nicht

ricoL

Grünschnabel
Hallo, ich mal wieder :rolleyes:

Habe hier ein Formular (darum ging es gestern schon)

Auszug:
PHP:
echo "
<table width=\"700\" border=\"0\">
<tr>
<td width=\"25\">ID</td>
<td width=\"25\">Platz</td>
<td width=\"50\">.</td>
<td width=\"150\">Mannschaft</td>
<td width=\"50\">Spiele</td>
<td width=\"50\">G</td>
<td width=\"50\">U</td>
<td width=\"50\">V</td>
<td width=\"50\">Diff</td>
<td width=\"50\">Tore+</td>
<td width=\"50\">Tore-</td>
<td width=\"50\">Punkte+</td>
<td width=\"50\">Punkte-</td>
</tr>
<form action=\"tabelle_edit_post.php\" method=\"post\">";
$daten = mysql_query ("select * from bundesliga  order by 'rang' desc limit 0, 30  ");
while ($row = mysql_fetch_array($daten, MYSQL_BOTH))
	{
	echo "<tr>
	<td width=\"25\"><input type=\"text\" size=\"4\" value=\"$row[id]\" name=\"id\"></td>
	<td width=\"25\"><input type=\"text\" size=\"4\" value=\"$row[rang]\" name=\"rang\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[oldrang]\" name=\"oldrang\"></td>
	<td width=\"150\"><input type=\"text\" size=\"20\" value=\"$row[name]\" name=\"name\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[spiele]\" name=\"spiele\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[gew]\" name=\"gew\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[unent]\" name=\"unent\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[verl]\" name=\"verl\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[Dif]\" name=\"Dif\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[ToreWin]\" name=\"ToreWin\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[ToreLoss]\" name=\"ToreLoss\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[PunkteWin]\" name=\"PunkteWin\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[PunkteLoss]\" name=\"PunkteLoss\"></td>
	</tr>";
	}
echo "
<tr><td colspan=\"13\"><input type=\"submit\" value=\"absenden\"></td></tr>
</form>

ausgewertet werden die Formularfelder über ein neues Dokument
PHP:
mysql_select_db ($dbname, $connect);

if (!mysql_select_db ( $dbname)) echo mysql_error ( $connect);


//importieren der übergebenen Daten (post)

import_request_variables('p','frm_');
$strSQL="Update bundesliga set  id='$id', rang='$rang' , name='$name', 
ToreWin='$ToreWin', ToreLoss='$ToreLoss', PunkteWin='$PunkteWin', 
PunkteLoss='$PunkteLoss' , Dif='$Dif', oldrang='$oldrang', spiele='$spiele', 
gew='$gew', verl='$verl', unent='$unent' where name='$name' ";

mysql_select_db($dbname, $connect) or die ("Kann keine Verbindung zur Datenbank herstellen."); 


mysql_query($strSQL);

Ich erkenne keine Fehler, warum die editieren Daten nicht geupdatet werden.

Da ich im Formular die Daten ja per while Schleife auslese und als Value ausgeben lasse, sind es demzufolge, mehrere Zeilen mit gleichem Namen aber anderer ID etc...
Muss ich das Update dadurch anders praktizieren?
 
:confused: ähm nein id ist in der Datenabnk als integer deklariert.
allerdings wir die id auch nie geändert, wird nur ausgegeben zur Kontrolle.
 
PHP:
$strSQL="Update bundesliga set  id='$id', rang='$rang' , name='$name', 
ToreWin='$ToreWin', ToreLoss='$ToreLoss', PunkteWin='$PunkteWin', 
PunkteLoss='$PunkteLoss' , Dif='$Dif', oldrang='$oldrang', spiele='$spiele', 
gew='$gew', verl='$verl', unent='$unent' where name='$name' ";

dann nimm da mal die id raus...:-S Oder nimm die Hochkommas weg!
 
hm, das heisst ja dann, ich muss bei allen die Hochkommata weg nehmen, das alle ausser $name, als integer deklariert sind?

Ok hab ich gemacht und trotzdem sagt er mir 0 Datensätze eingefügt, ich versteh das nicht :(

PHP:
import_request_variables('p','frm_');
$strSQL="Update bundesliga set  rang=$rang , name='$name', 
ToreWin=$ToreWin, ToreLoss=$ToreLoss, PunkteWin=$PunkteWin, 
PunkteLoss=$PunkteLoss , Dif=$Dif, oldrang=$oldrang, spiele=$spiele, 
gew=$gew, verl=$verl, unent=$unent where id=$id  ";
 
Zuletzt bearbeitet:
So hab das jetzt bissl anders "gelöst":
PHP:
$daten = mysql_query ("select * from bundesliga  order by 'rang' asc limit 0, 30  ");
while ($row = mysql_fetch_array($daten, MYSQL_BOTH))
	{
	echo "
	<form action=\"tabelle_edit_post.php?id=$row[id]\" method=\"post\">
	<tr>
	<td>&nbsp;</td>
	<td width=\"25\"><input type=\"text\" size=\"4\" value=\"$row[rang]\" name=\"rang\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[oldrang]\" name=\"oldrang\"></td>
	<td width=\"150\"><input type=\"text\" size=\"20\" value=\"$row[name]\" name=\"name\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[spiele]\" name=\"spiele\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[gew]\" name=\"gew\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[unent]\" name=\"unent\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[verl]\" name=\"verl\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[Dif]\" name=\"Dif\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[ToreWin]\" name=\"ToreWin\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[ToreLoss]\" name=\"ToreLoss\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[PunkteWin]\" name=\"PunkteWin\"></td>
	<td width=\"50\"><input type=\"text\" size=\"4\" value=\"$row[PunkteLoss]\" name=\"PunkteLoss\"></td>
	<td colspan=\"13\"><input type=\"submit\" value=\"absenden\"></td>
	</tr>
	</form>";
	}
Ich tu sozusagen jede Zeile extra updaten, sind ja nur 8 Mannschaften ;)
 
Zurück