Salut,
En fait, le problème c'est que php ne va prendre en compte que la dernière ligne. A cause du fait que les names sont identiques donc ils s'annulent entre eux.
La solution est assez simple. Il suffit donc de définir un nom différent pour chaque name enfin pas exactement enfin regarde le code ce sera plus clair:
<form method="post" action="index.php">
<?php
for($i=1; $i<=5; $i++):
?>
<table border="0" cellpadding="0" cellspacing="0">
<tr style="text-align:center;">
<td style="text-align:left;">Team</td>
<td>W</td>
<td>L</td>
<td>STRK</td>
<td>L10</td>
</tr>
<tr id="<?php echo $i ?>">
<td><select name="team<?php echo $i ?>][id]">
<?php
echo "<option value='".$i."'>$i</option>";
?>
</select></td>
<td><input type="text" name="team<?php echo $i ?>][cat1]" value="Value" /></td>
<td><input type="text" name="team<?php echo $i ?>][cat2]" value="Value" /></td>
<td><input type="text" name="team<?php echo $i ?>][cat3]" value="Value" /></td>
<td><input type="text" name="team<?php echo $i ?>][cat4]" value="Value" /></td>
</tr>
<?php
?>
</table>
<?php
endfor;
?>
<input type="submit" value="Submit" />
</form>
Bon là, j'ai enlever les accès à la base de donnée. Mais c'est le principe et au final tu obtient un tableau de $_POST qui est sous cette forme-ci :
Array
(
[team] => Array
(
[1] => Array
(
[id] => 1
[cat1] => Value
[cat2] => Value
[cat3] => Value
[cat4] => Value
)
[2] => Array
(
[id] => 2
[cat1] => Value
[cat2] => Value
[cat3] => Value
[cat4] => Value
)
[3] => Array
(
[id] => 3
[cat1] => Value
[cat2] => Value
[cat3] => Value
[cat4] => Value
)
[4] => Array
(
[id] => 4
[cat1] => Value
[cat2] => Value
[cat3] => Value
[cat4] => Value
)
[5] => Array
(
[id] => 5
[cat1] => Value
[cat2] => Value
[cat3] => Value
[cat4] => Value
)
)
)
Ici le premier niveau du tableau "team" n'est pas utile ... ça donnerais plutôt ça :
$i][nom du champ]
Mais je continue avec mon team lol ^^.
Ensuite il te suffit de faire un foreach du tableau comme ceci :
if(isset($_POST)){
/* Tu parcour le tableau $_POST
$k est l'id;
$v les valeurs;
*/
foreach($_POST'team'] as $k=>$v){
$id=$v'id'];
/*
Ici tu fait ton update en remplacant juste tes anciennes variables par les nouvelles.
*/
}
}
Après tu pourra être gêner par tes id donc dans ce cas la il te faudra juste utilisé un peu jQuery pour pouvoir lié le select est les ids.
Il y avait un tuto de Grafikart dans le même genre : Tutoriel
Celui-ci je crois bien.
J'espère que ça t'aidera.
A+.