Parcourir <table>
Résolu/Fermé
Arbitta
Messages postés
76
Date d'inscription
jeudi 5 mars 2015
Statut
Membre
Dernière intervention
16 février 2016
-
Modifié par Arbitta le 15/04/2015 à 12:25
Arbitta Messages postés 76 Date d'inscription jeudi 5 mars 2015 Statut Membre Dernière intervention 16 février 2016 - 15 avril 2015 à 13:37
Arbitta Messages postés 76 Date d'inscription jeudi 5 mars 2015 Statut Membre Dernière intervention 16 février 2016 - 15 avril 2015 à 13:37
A voir également:
- Parcourir <table>
- Table ascii - Guide
- Table des matières word - Guide
- Table des figures google doc ✓ - Forum Word
- Error accessing config table - Forum Ubuntu
- Device mapping table msi - Forum Windows 10
2 réponses
Utilisateur anonyme
Modifié par le père. le 15/04/2015 à 12:44
Modifié par le père. le 15/04/2015 à 12:44
Bonjour
Le problème est que tu donnes le même nom allow ou disallow aux check box sur toutes les lignes de ton tableau. Si elles ont toutes le même nom, tu ne peux pas les distinguer et dans le formulaire que tu recevras, il n'y aura qu'un seul $_POST['allow'] et un seul $_POST['disallow'] - sans doute le dernier de la liste.
L'astuce est de faire name ="allow[]" pour créer un tableau. Tu récupéreras alors tous les $_POST['allow'][$i] grâce à une boucle for par exemple (ou foreach, ou while selon tes goûts).
Je ne sais pas pourquoi tu travailles avec des fichiers texte, une base de données serait normalement beaucoup plus appropriée pour faire ce genre de choses.
Le problème est que tu donnes le même nom allow ou disallow aux check box sur toutes les lignes de ton tableau. Si elles ont toutes le même nom, tu ne peux pas les distinguer et dans le formulaire que tu recevras, il n'y aura qu'un seul $_POST['allow'] et un seul $_POST['disallow'] - sans doute le dernier de la liste.
L'astuce est de faire name ="allow[]" pour créer un tableau. Tu récupéreras alors tous les $_POST['allow'][$i] grâce à une boucle for par exemple (ou foreach, ou while selon tes goûts).
Je ne sais pas pourquoi tu travailles avec des fichiers texte, une base de données serait normalement beaucoup plus appropriée pour faire ce genre de choses.
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 225
15 avril 2015 à 12:39
15 avril 2015 à 12:39
'lut, avec le code actuel tu ne peux pas: toutes tes checkbox s'appellent allow et disallow, ce qui créé des collisions pour chaque ligne.
Il faut leur donner un nom différent à chacun, par ex. un nombre suffixé. Il faut aussi passer le nombre d'entrées dans un élément caché, pour que
Il faut leur donner un nom différent à chacun, par ex. un nombre suffixé. Il faut aussi passer le nombre d'entrées dans un élément caché, pour que
resultat.phpsache combien de checkboxes il doit vérifier. Aussi, tu n'es pas obligé de sortir le code HTML depuis PHP, les deux peuvent se mélanger, même au travers de boucles ou de conditions:
<form name="f1" method="post" action="resultat.php"> <table><tr> <td>LINK</td> <td>allow</td> <td>dntAllow</td> </tr> <?php $i = 0; while (!feof($fichier)) { $cont=fgets($fichier,1024); ?> <tr> <td><?php echo $cont; ?></td> <td> <input type="checkbox" name="allow<?php echo $i; ?>"> </td> <td> <input type="checkbox" name="disallow<?php echo $i; ?>"> </td> </tr> <?php ++$i; } ?> </table> <input type="hidden" name="count" value="<?php echo $i; ?>" /> <input type="submit" value="send" /> </form>
resultat.phpfera une boucle avec
$iallant de
0à
$_POST['count'], et vérifiant la valeur de
$_POST['(dis)allow'.$i], puis traitant comme tu le souhaites.
Arbitta
Messages postés
76
Date d'inscription
jeudi 5 mars 2015
Statut
Membre
Dernière intervention
16 février 2016
15 avril 2015 à 13:37
15 avril 2015 à 13:37
merci bien . j'utilise un fichier text car je suis entrain de créer un fichier robot.txt
15 avril 2015 à 12:46