Mehrere Datensätze aus Array gleichzeitig ändern

omshanti

Grünschnabel
Hallo zusammen,

bin leicht am verzweifeln hier. Was ich möchte: ich lese Datensätze bestimmter Kategorien aus. Jede hat klar eine ID. Neu soll sein, dass man die Reihenfolge neu bestimmen kann, dazu gibt es ein extra Feld. Also hat jede Ausgabe daneben ein Textfeld (rank), in dem man eine Nummer in der Liste eingeben und nach der man später sortieren kann. Nur beim Abschicken passiert gar nichts oder nichts wesentliches:



Nach Submit:

PHP:
if(isset($_POST['submit']) && $_POST['submit'] == "Sortieren")
{
	foreach($_POST['rank'] as $ranks)
{
	mysql_query("
UPDATE kategorie 
SET rank = '".$ranks."' WHERE gid = '".$_SESSION['gid']."' AND ID ='".$_POST['ID']."' ") 
}
}



Das Formular:

PHP:
$kat1_ = mysql_query
("SELECT name, ID, rank
FROM kategorie
WHERE gid = '".$gid."' 
");
							
echo '<table><form action="sort.php" method="post" name="sort">';	
$z=0;						
while($kat1 = mysql_fetch_array($kat1_)) 

{
	list($key,$name) = each($kat1);	
	
	echo '<tr><td width="60px"><input name="ID" type="hidden" value="'.$kat1['ID'].'" >
	<input name="rank[]" type="text" size="4" value="'.$kat1['rank'].'"></td><td>';
	$z++;
}
echo '</table><table><tr><td></td><td></td><input name="submit" type="submit" value="Sortieren"></table></form>';


Schon mal vielen lieben Dank fürs gucken - wär echt super, mir könnte jemand helfen!

Monika
 
Hallo,

der Fehler liegt hier:
PHP:
<input name="ID" type="hidden" value="'.$kat1['ID'].'" >

du solltest auch hier ein array verwenden
PHP:
<input name="ID[]" type="hidden" value="'.$kat1['ID'].'" >
 
hallo ne0hype,

vielen dank für deine antwort. habs natürlich gleich probiert, passiert aber nach wie vor nichts :(

lg
monika
 
hallo ne0hype,

da hast natürlich recht, aber ich habe keine idee wie ich die schleife und die query mit zwei von diesen [ ] werten gestalten soll - bis jetzt war immer eine ausreichend :)

kannst mir bitte nochmal auf die sprünge helfen? bin schon ziemlich verzagt jetzt hier ...

lg
monika
 
Zurück