Problem s multiple select formularom

Takze moj problem:
mam n generovanych riadkov z tabulky
v kazdom riadku je jeden <select name=select><option value=1>1<option value=2>2<option value=3>3</select>
za celou tabulkou riadkov je submit. Chcem docielit aby sa mi vsetky povyberane hodnoty pozapisovali do databaze.
No to podle mého problémů víc

použij:
jakpsatweb.cz, manuál pHP, manuál MySQL, program pro sledování hlaviček odesílaných požadavků

definuj jednoznačně co budeš ve formuláři sledovat
nastuduj v manuálu MySQL jak se dělá tabulka
nadefinuj si tabulku s datovou větou, která bude obsahovat všechny sledované položky
nastuduj jak se dělá formulář
pro odeslání použij POST
prohlížej si odesílaná data v hlavičce
podle spokojenosti nebo nespokojenosti s odesílaným uprav formulář
v přímajícím skriptu rozeber pomocí $_POST["name"] doručený balík dat a přiřaď hodnoty je položkám věty
připoj se k databázi
zapiš větu

a co, že je ten problém?
Toto je moj script, mohol by si mi ho prosim upravit aby to slo?

<?php
if (isset($_POST['submit']))
{
$dkp=$_POST['dkp'];
$ID=$_POST['ID'];
echo "DKP $dkp <br>";
echo "ID $ID <br>";
$setdkp="update characters set dkp=dkp-'$dkp' where ID='$ID'";
mysql_query($setdkp) or die("Error");
echo "DKP uspesne zvysene o $dkpplus";
}


?>
<br>Si prihlásený!<br>
<br>
<?
$chars="SELECT * from characters order by ID ASC";
$chars2=mysql_query($chars) or die("Could not query players");
echo "<form action=show.php method=post>";
echo "<table width=100% border=1>";
echo "<tr><td>Jmeno</td><td>Rasa</td><td>Trida</td><td>Level</td><td>Talenty</td><td>DKP</td><td>DKP -</td><td>DKP +</td></tr>";
while($chars3=mysql_fetch_array($chars2))
{
echo "<tr>
<td>$chars3[name]</td>
<td>$chars3[race]</td>
<td>$chars3[class]</td>
<td>$chars3[level]</td>
<td>$chars3[spec]</td>
<td>$chars3[dkp]</td>
<td>
<select name=dkp size=1>
<option value=\"0\">0</option>
<option value=\"20\">-20</option>
<option value=\"40\">-40</option>
<option value=\"60\">-60</option>
</select>
</td></tr>";
}
echo "</table>";
echo "<input type=submit name=submit value=\">>\">";
echo "</form>";
?>
Zdravím, ty selecty musíš odesílat jako pole, čili atribut name musí být dkp[]
Zdravim,
pouzil som to takto:
<select name=dkp[$chars3[ID]] size=1>

lenze ide o to ze neviem urobit ten script ktory to spracuje, myslim tym vsetko co je v podmienke
if (isset($_POST['submit']))
{

}
Uz som na to prisiel dakujem za pomoc.
Tak som sa mylil som v koncoch prosim pomozte. Toto som napisal ale ma to par chyb:
1. while sa mi vykonava do nekonecna
2. v pripade ze z databaze vymazem jeden udaj script sa stava nefunkcnym
[pre]<?php
if (isset($_POST['submit']))
{
// POCET POSTAV V DATABAZE
$chars="SELECT * from characters order by ID ASC";
$chars2=mysql_query($chars) or die("Could not query players");
$sum = mysql_num_rows($chars2);
echo $sum;
// END OF POCET POSTAV V DATABAZE
// WHILE
$i=1;
while ($i<=$sum)
{
echo "<br>DKP PRE ID $i = ".$dkp[$i]."<br>";
$setDKP="update characters set dkp=dkp+'$dkp[$i]' where ID='$i'";
mysql_query($setDKP) or die("Chyba");
}
// END OF WHILE
}
?>[/pre]
while se ti vykonava donekonecna, protoze v nem nikde nemenis $i ani $sum
a ten druhy problem?
alebo nejaky odkaz na tutorial, cokolvek
jen graficka drobnost
$chars="SELECT * from characters order by ID ASC";
$chars="SELECT * FROM `characters` ORDER BY `id`ASC";
- vsechny SQL prikazy/fce velkym, promenne malym, promenne jeste apostrofovat ; lepe se v tom pak orientuje
dalsi drobnost, kdyz je neco query, tak promenna by mohla byt nazvana $query ($query_ahoj). Kdyz je neco result, tak promenna k tomu odpovidajici je $result. Zatim tam mas 1 SQL dotaz a par promennych, ale pri slozitejsich vecech se v tom docela dobre orientuje i pomoci hledani "$query"

"2. v pripade ze z databaze vymazem jeden udaj script sa stava nefunkcnym"
Jestli tohle povazujes za druhy problem, pak by bylo dobre to popsat krok za krokem, nejlepe kazde na novy radek s minus, aby bylo jasne, ze se jedna o novy krok.
Predevsim jake SQL / PHP hlasky + chybove hlasky to vypise. Mas tam ruzna echa, ruzne die, ale my z toho nevime, co ti to dela?
Co treba odkaz na stranku?
xx.php +
xx.php.txt (totez s jinou priponou, cely zdrojovy kod)
"Script sa stava nefunkcny" - to je naprosto mnohoznacny vyznam oznacujici pres 1.000.000.000 ruznych duvodu od zapomenuteho pismenka po chybu v databazi, apache, php, pc, v cemkoliv.


$sum = mysql_num_rows($chars2);
SELECT COUNT(*) FROM `tabulka` WHERE ...
zadny order neni treba, zajima te pocet radku jakkoliv zamichany.
Pak uz staci:
$r = mysql_query($r); echo $r[0];
Vysvetlim,
Ten script spocita pocet riadkov v tabulke a dosadi vysledok do cyklu, takze ak su v tabulke ID-cka napr 1,2,3 script spocita a vyjde mu 3, Cyklus sa vykona 3x pre ID 1,2,3 ale ak vymazem ID 2 (ID budu 1,3) script spocita ze su tam 2 ale bude sa to snazit zapisat postupne do ID 1,2 a nie do 1,3
Nechci zasahovat do rozreseneho tematu, ale nemel bys jednodussi pouzit while primo s mysql_fetch_object/array ?

//uz tam mas stejne "SELECT * FROM..." ...
while ($row=mysql_fetch_object($query))
{
//to co vykonas pro vsechny ...
//id toho, pro ktery zrovna while bezi je $row->id
//protoze v dotazu se ptas na vsechno (*), takze i id ...
}
Vyborne, toto by uz malo ist, posledna otazka: Ako mam spravne zapisat $dkp[$row->ID] ? Stale mi to vyhadzuje parse errory.
Uvediem aj script:
while ($row=mysql_fetch_object($chars2))
{
echo $row->ID;
$setDKP="update characters set dkp=dkp+$dkp['$row->ID'] where ID='$row->ID'";
mysql_query($setDKP) or die("Chyba");
}
Pouzivani asociativnich poli mezi dvojtymi uvozovkami mi pripomina sebevrazdu ... :)

$setDKP='UPDATE `characters` SET `dkp`=`dkp`+"'.$dkp[$row->id].'" WHERE `id`="$row->id"';

//sice mi neni jasne jake hodnoty ma pole $dkp ale to je vedlejsi :)