Problème de je ne sais pas quoi

Petit nouveau ! | 4 Messages

23 mars 2006, 12:36

Bonjour,

J'ai fait un tableau rempli grâce à une base de donneés avec, à la fin de chaque ligne un bouton radio. Ce tableau me permet de modifier l'enregistrement correspondant à la ligne où le bouton radio a été clqiué.
Voici le code du tableau :

Code : Tout sélectionner

<?php $compteur=0; while($val = mysql_fetch_assoc($result)) { echo ' <TR> <TD><input type="text" name="txtl[]" value="'.$val["Licence_J"].'"></TD> <TD><input type="text" name="txtn[]" value="'.$val["Nom_J"].'"></TD> <TD><input type="text" name="txtp[]" value="'.$val["Prenom_J"].'"></TD> <TD><input type="radio" name="Sel" value="'.$compteur.'"></td> </TR>'; $compteur++; }?>

Le tableau s'affiche nickel. Et après avoir cliqué sur un bouton "submit", je récupère les infos de la ligne choisie par le bouton radio et je modifie l'enregistrement :

Code : Tout sélectionner

<?php $choix = (isset($_POST["Sel"]))?$_POST["Sel"]:null; if (!empty($choix)) { $NumLicence = (isset($_POST['txtl']))?$_POST['txtl']:null; //Requete Update pour modification avec $NumLicence comme condition else {?> <script language="javascript">window.alert('Aucun joueur n a été sélectionné!');</script> <script language="javascript">window.open("FrameRch.html","AffichModifEffectif");</script> <?php } ?>



Cela marche impeccablement pour toutes les lignes sauf pour la première ou j'ai l'alert qui apparait avec le message 'Aucun joueur n a été sélectionné!'.

Si vous voyez d'où peut provenir mon erreur, je vous remercie d'avance pour vos réponses.

Fred

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 mars 2006, 12:55

Je me trompe peut être, mais je pense que le problème vient du fait que ta première ligne a pour valeur zéro, chose que le php interprete également comme vide ou faux

Du coup lorsque tu fais le test !empty(), il doit considérer que même si c'est la valeur zéro qu'il contient, cela correspond aussi à chaine vide... C'est malgré tout à confirmer...

la solution dans ce cas serait donc de commencer à numéroter tes input à partir de 1 ($compteur=1), et si nécessaire, de travailler sur l'index ($choix-1) :)

M'enfin si quelqu'un d'autre à mieux, ça m'interesse aussi ;)

Petit nouveau ! | 4 Messages

23 mars 2006, 13:13

ok, je vais voir dans ce sens.
Merci

Petit nouveau ! | 4 Messages

23 mars 2006, 13:17

C'est bon, ça marche. J'avais déjà essayé cette solution mais sans toucher à l'index.
Maintenant, c'est nickel