MySQL Update

Rambo51

Erfahrenes Mitglied
Hi,

ich bin irgendwie gerade total aufgeschmießen.

Ich gebe in einem Formular Werte von einer Perosn aus. Darunter Folgen dann noch mehrere Personen. Wie bekomm ich das jetzt hin, das ganz unten ein Button ist, wo ich drauf Klicken kann und dann alles geupdated wird?

Hier mal mein "Skript":
PHP:
<?php

include ('config.php');

?>
<form action=<?php echo $PHP_SELF; ?> method=post>
<input type=hidden name=name VALUE="<? echo $row['name'] ?>">
<?php  
$conn_id = mysql_connect($host,$user,$pw); 
mysql_select_db($database,$conn_id); 
$result = mysql_query("SELECT * from $table ORDER BY name DESC");
while($row = mysql_fetch_assoc($result)) 
{ 
?>
<table width="600" bgcolor="#999999" align="center" border="0" cellpadding="0" cellspacing="2">
  <tr>
    <td width="160" bgcolor="#CCCCCC" height="45" align="center"><input type="text" name="name" value="<? echo $row['name'] ?>" class="input" size="25" maxlength="20"></td>
    <td width="90" bgcolor="#CCCCCC" align="center"><input type="text" name="posi" value="<? echo $row['posi'] ?>" class="input" size="10" maxlength="2"></td>
    <td width="90" bgcolor="#CCCCCC" align="center"><input type="text" name="points" value="<? echo $row['points'] ?>" class="input" size="10" maxlength="3"></td>
    <td width="90" bgcolor="#CCCCCC" align="center"><input type="text" name="poles" value="<? echo $row['poles'] ?>" class="input" size="10" maxlength="2"></td>
    <td width="90" bgcolor="#CCCCCC" align="center"><input type="text" name="win" value="<? echo $row['win'] ?>" class="input" size="10" maxlength="2"></td>
	<td width="80" bgcolor="#CCCCCC" align="center"><input type="text" name="car" value="<? echo $row['car'] ?>" class="input" size="10" maxlength="20"></td>
  </tr>
</table>
<br>
<?php
}
?>
<div align="center">
<input type=submit value="Update">
</div>
</form>

ich habe auch schon bei Google.de geguckt aber nichts gefunden.

Danke für die Hilfe.

Gruss Rambo51
 
Zuletzt bearbeitet:
PHP ist wirklich Neuland für dich, oder? Vielleicht solltest du dich erst einmal mit den Grundlagen PHPs und der einfachen Interaktion mit HTML-Dokumenten/-Formularen auseinandersetzen. Es bringt ja nichts, wenn du dich für jede Kleinigkeit an uns wenden musst.
 
PHP ist wirklich Neuland für dich, oder?
Ja, also einfache sachen bekomme ich hin aber sonst siehts noch, hoffe ich mal nicht mehr lange, schlecht aus.


So jetzt habe ich mal wieder ein bisschen probiert.
Ich habe jetzt anstatt:

HTML:
<form action="<?php echo $PHP_SELF; ?>" method=post>

das geschrieben:

HTML:
<form action="update.php" method=post>

Und habe die index.php Datei so verändert, das unter jeder Ausgabe ein Update Button kommt.

Klappt jetzt auch wunderbar. Allerdings wollte ich es so machen, Das man nur ein Button zum Updaten braucht, und da habe ich keine ahnung wie ich das machen muss.

Hier nochmal die "update.php":

PHP:
<?php

	include 'config.php';

	$conn_id = mysql_connect($host,$user,$pw);
	mysql_select_db($database,$conn_id);
	
  	mysql_query ("UPDATE $table set car = '$car', points = '$points', posi = '$posi', win = '$win', poles = '$poles' WHERE name = '$name'");

  	if (mysql_affected_rows ($conn_id) > 0) 
  		{ 
    		echo "Das Updaten war erfolgreich."; 
  		} 
  	else 
  		{ 
   			echo "Fehler beim Updaten der Daten."; 
  		}
?>
 
Das Problem besteht darin, dass zwar ein Formular generiert wird, das alle Datensätz enthält, es können jedoch nicht alle aktualisiert werden. Denn sobald es Formularelemente desselben Namens gibt, wird nur der Wert des letzten Formularelements übermittelt.
Diese Problem könntest du nun auf zwei Varianten lösen: Entweder es wird für jeder Datensatz ein eigenes Formular generiert, oder aber die jeder Datensatz wird so benannt, dass sie serverseitig als Array verarbeitet werden.
 
Zurück