par
moogli » 11 déc. 2013, 17:07
salut,
le problème viens du fait que tu ne peux pas connaitre les noms des champs à l'avance et que ton formulaire ne permet pas de les déterminer à l'avance.
le plus simple c'est d'utiliser la notation tableau pour nommer les champs de formulaire (par exemple <input type="text" name="equipea[]" />).
cela te fournit un tableau php dans l'index correspondant de $_POST(dans les exemple $_POST['equipea'] est un tableau).
de plus si tu précise un index pour le tableau celui ci est conservé.
du coup si ton champ ce nomme equipea[$idMatch], et que tu fait pareil pour l'équipe b coté php cela devient simple (pour ne pas dire trivial

)
<?php
foreach($_POST['equipeA'] as $idMatch => $scoreA) {
$scoreB = $_POST['equipeB'][$idMatch];
// insertion etc
}
Attention il manque les contrôles élémentaires d’existence des index avant d'essayer de les utiliser

.
Du coup tu t'affranchie de savoir dans quel groupe c'est vu que ce qui compte c'est l'id du match (et que j'espère que tu n'as pas les mêmes id de match dans chaque groupe

).
tant que tout ton affichage est dans un seul formulaire, le submit final de ce qui est affiché à l'écran fonctionnera sur les quelque lignes que j'ai posté plus haut.
l'avantage c'est que c'est la même chose quelque soit l'affichage, en groupe ou pas, et quelque soit l'avancé dans la compétition (1/2, 1/4, final etc).
le système devient dynamique et fonctionne tout le temps sans que tu ai besoin de dupliquer la chose pour chaque étape de la compétition
@+