Selectioner une ou plusieurs lignes dans un tableau
Fermé
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
-
10 févr. 2014 à 03:42
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 3 avril 2014 à 04:46
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 3 avril 2014 à 04:46
A voir également:
- Selectioner une ou plusieurs lignes dans un tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Aller à la ligne dans une cellule excel - Guide
15 réponses
Utilisateur anonyme
10 févr. 2014 à 04:11
10 févr. 2014 à 04:11
Ce serait probablement de combiner HTML & PHP.
Excuse-moi si cn'est pas complet, j'avais pas grand temps.
//Requete dans la base de données echo "<table>"; while ($data = $db ->fetch()){ echo "<tr><td>{$data['exemple']}</td><td>{$data['blabla']}</td></tr>"; } echo "</table>";
Excuse-moi si cn'est pas complet, j'avais pas grand temps.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
10 févr. 2014 à 05:55
10 févr. 2014 à 05:55
Merci c un début.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
10 févr. 2014 à 11:43
10 févr. 2014 à 11:43
une solution:
<?php echo '<form name="form1" action="" method="post">'; echo "<table>"; while ($data = $db ->fetch()){ echo '<tr><td>'.$data['exemple'].'</td><td>'.$data['blabla'].'</td><td><input type="checkbox" name="ligne_cochee['.$data['id'].' value="1" /></td></tr>'; } echo "</table>"; echo '<input type="submit" name="envoyer" value="Enregistrer" />'; echo '</form>'; //et dans ton script pour récuperer if(isset($_POST['envoyer'])){ //les cases cochées sont reçue dans l'array $_POST['ligne_cochee'] //donc tu le parcours if(sizeof($_POST['ligne_cochee']) >0){ foreach($_POST['ligne_cochee'] as $id=>$value){ //seules les caches cochées sont présentes dans cet array //tu fais ton enregistrement dans ta table pour cet id=$id } }else{ echo 'Vous devez cocher au moins une case !'; } }
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
13 févr. 2014 à 01:10
13 févr. 2014 à 01:10
voir commentaire ci-dessous, merci.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
10 févr. 2014 à 11:49
10 févr. 2014 à 11:49
Merci bcp Alain_42,
je vais prendre le temps de regarder cela et je reviens vers vous.
je vais prendre le temps de regarder cela et je reviens vers vous.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Modifié par maxireussite le 13/02/2014 à 01:10
Modifié par maxireussite le 13/02/2014 à 01:10
Bonjour Alain_42,
Voilà 1ère étape l'affichage des lignes à cocher, j'ai testé, mais ça n'affiche rien? j'ai pourtant testé $requete qui est bon.
Peux-tu me dire où sa cloche stp ?
Merci.
<?php
$db='*****';
$cnx=mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error());
$requete = ("SELECT colis_id, code_client FROM oc_colis
WHERE TO_DAYS(NOW()) - TO_DAYS(date_creation) <= 1 ORDER BY date_creation DESC");
echo '<form name="form1" action="" method="post">';
echo "<table>";
while ($data = $db ->fetch($requete )){
echo '<tr><td>'.$data['colis_id'].'</td><td>'.$data['code_client'].'</td><td><input type="checkbox" name="ligne_cochee['.$data['id'].' value="1" /></td></tr>';
}
echo "</table>";
echo '<input type="submit" name="envoyer" value="Enregistrer" />';
echo '</form>';
?>
Voilà 1ère étape l'affichage des lignes à cocher, j'ai testé, mais ça n'affiche rien? j'ai pourtant testé $requete qui est bon.
Peux-tu me dire où sa cloche stp ?
Merci.
<?php
$db='*****';
$cnx=mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error());
$requete = ("SELECT colis_id, code_client FROM oc_colis
WHERE TO_DAYS(NOW()) - TO_DAYS(date_creation) <= 1 ORDER BY date_creation DESC");
echo '<form name="form1" action="" method="post">';
echo "<table>";
while ($data = $db ->fetch($requete )){
echo '<tr><td>'.$data['colis_id'].'</td><td>'.$data['code_client'].'</td><td><input type="checkbox" name="ligne_cochee['.$data['id'].' value="1" /></td></tr>';
}
echo "</table>";
echo '<input type="submit" name="envoyer" value="Enregistrer" />';
echo '</form>';
?>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
13 févr. 2014 à 10:02
13 févr. 2014 à 10:02
Dis moi ce que tu reçoit avec ça:
et si tu veux enr dans ta table les valeurs affichées il faut mettre dans ta boucle while
les data['....'] dans des input
<?php $db='*****'; $cnx=mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base $db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); $requete = ("SELECT colis_id, code_client FROM oc_colis WHERE TO_DAYS(NOW()) - TO_DAYS(date_creation) <= 1 ORDER BY date_creation DESC"); echo '<form name="form1" action="" method="post">'; echo "<table>"; while ($data = $db ->fetch($requete )){ echo '<tr><td>'.$data['colis_id'].'</td><td>'.$data['code_client'].'</td><td><input type="checkbox" name="ligne_cochee['.$data['id'].' value="1" /></td></tr>'; } echo "</table>"; echo '<input type="submit" name="envoyer" value="Enregistrer" />'; echo '</form>'; //et dans ton script pour récuperer if(isset($_POST['envoyer'])){ ////TEST //ça doit t'afficher les id des cases cochées array(...) echo '<pre>'; print_r($_POST['ligne_cochee']); echo '</pre>'; //// //les cases cochées sont reçue dans l'array $_POST['ligne_cochee'] //donc tu le parcours if(sizeof($_POST['ligne_cochee']) >0){ foreach($_POST['ligne_cochee'] as $id=>$value){ //seules les caches cochées sont présentes dans cet array //tu fais ton enregistrement dans ta table pour cet id=$id } }else{ echo 'Vous devez cocher au moins une case !'; } }
et si tu veux enr dans ta table les valeurs affichées il faut mettre dans ta boucle while
les data['....'] dans des input
<td><input "type="text" name="colis_id['.$data['id'].']" value="'.$data['colis_id'].'" /></td>
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
13 févr. 2014 à 12:11
13 févr. 2014 à 12:11
Merci bcp.
Je prends le temps de tester cela et je reviens vers toi.
Je prends le temps de tester cela et je reviens vers toi.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
13 févr. 2014 à 23:35
13 févr. 2014 à 23:35
Bjr,
Avant tout je t'assure avoir vérifié $requete qui nourrit dans une autre page une zone de liste qui fonctionne.
Ici, ça ne donne toujours rien, page blanche :
<?php
$db='*****';
$cnx=mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$requete= mysql_query("SELECT apayer_id, date_apayer, code_client FROM oc_apayer WHERE TO_DAYS(NOW()) - TO_DAYS(date_apayer) <= 5 ORDER BY date_apayer DESC") or die("Pb avec la requette ".mysql_error());
echo '<form name="form1" action="" method="post">';
echo "<table>";
while ($data = $db ->fetch($requete)){
echo '<tr><td>'.$data['apayer_id'].'</td><td>'.$data['code_client'].'</td><td><input type="checkbox" name="ligne_cochee['.$data['apayer_id'].' value="1" /></td></tr>';
}
echo "</table>";
echo '<input type="submit" name="envoyer" value="Enregistrer" />';
echo '</form>';
?>
Avant tout je t'assure avoir vérifié $requete qui nourrit dans une autre page une zone de liste qui fonctionne.
Ici, ça ne donne toujours rien, page blanche :
<?php
$db='*****';
$cnx=mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$requete= mysql_query("SELECT apayer_id, date_apayer, code_client FROM oc_apayer WHERE TO_DAYS(NOW()) - TO_DAYS(date_apayer) <= 5 ORDER BY date_apayer DESC") or die("Pb avec la requette ".mysql_error());
echo '<form name="form1" action="" method="post">';
echo "<table>";
while ($data = $db ->fetch($requete)){
echo '<tr><td>'.$data['apayer_id'].'</td><td>'.$data['code_client'].'</td><td><input type="checkbox" name="ligne_cochee['.$data['apayer_id'].' value="1" /></td></tr>';
}
echo "</table>";
echo '<input type="submit" name="envoyer" value="Enregistrer" />';
echo '</form>';
?>
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
13 févr. 2014 à 23:49
13 févr. 2014 à 23:49
Ouf ! J'ai trouvé,
En fait il fallait remplacer "while ($data = $db ->fetch($requete))"
par
"while ($data= mysql_fetch_array($requete))
que j'ai récupérer dans ma fameuse zone de liste.
Merci bcp en tout cas Alain_42, tu m'as conduit vers LA vérité informatique. :)
En fait il fallait remplacer "while ($data = $db ->fetch($requete))"
par
"while ($data= mysql_fetch_array($requete))
que j'ai récupérer dans ma fameuse zone de liste.
Merci bcp en tout cas Alain_42, tu m'as conduit vers LA vérité informatique. :)
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Modifié par maxireussite le 14/02/2014 à 04:01
Modifié par maxireussite le 14/02/2014 à 04:01
On s'attaque à la 2ème partie ?
Rien ne s'affiche au chargement de la page appelée !
Rien ne s'affiche au chargement de la page appelée !
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
14 févr. 2014 à 10:24
14 févr. 2014 à 10:24
et comme ça tu doi sau moins avoir les deux array de TEST après click sur le bouton Enregistrer:
<?php $db='*****'; $cnx=mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base $db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera //et dans ton script pour récuperer if(isset($_POST['envoyer'])){ ////TEST echo 'Array de tout le POST:<pre>'; print_r($_POST); echo '</pre><br />'; //ça doit t'afficher les id des cases cochées array(...) echo 'Array des cases cochées:<pre>'; print_r($_POST['ligne_cochee']); echo '</pre>'; //// //les cases cochées sont reçue dans l'array $_POST['ligne_cochee'] //donc tu le parcours if(sizeof($_POST['ligne_cochee']) >0){ foreach($_POST['ligne_cochee'] as $id=>$value){ //seules les caches cochées sont présentes dans cet array //tu fais ton enregistrement dans ta table pour cet id=$id //TEST echo $id.' est coché<br />'; } }else{ echo 'Vous devez cocher au moins une case !'; } } $requete= mysql_query("SELECT apayer_id, date_apayer, code_client FROM oc_apayer WHERE TO_DAYS(NOW()) - TO_DAYS(date_apayer) <= 5 ORDER BY date_apayer DESC") or die("Pb avec la requette ".mysql_error()); echo '<form name="form1" action="" method="post">'; echo "<table>"; while ($data = mysql_fetch_assoc($requete)){ echo '<tr><td>'.$data['apayer_id'].'</td><td>'.$data['code_client'].'</td><td><input type="checkbox" name="ligne_cochee['.$data['apayer_id'].' value="1" /></td></tr>'; } echo "</table>"; echo '<input type="submit" name="envoyer" value="Enregistrer" />'; echo '</form>'; ?>
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
15 févr. 2014 à 04:54
15 févr. 2014 à 04:54
Super ! C bon ça fonctionne. Merci mille fois.
Pour finir, je voudrais pas abuser, mais comment envoyer les choix dans une tables, en incrémentant autant de lignes qu'il y a de choix sous l'id du même client ?
Pour finir, je voudrais pas abuser, mais comment envoyer les choix dans une tables, en incrémentant autant de lignes qu'il y a de choix sous l'id du même client ?
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
15 févr. 2014 à 16:22
15 févr. 2014 à 16:22
dans cette partie tu fais tes insertions
foreach($_POST['ligne_cochee'] as $id=>$value){ //seules les caches cochées sont présentes dans cet array <gras>//tu fais ton insertion sachant que $id n'est pas l'id client je suppose</gras> //TEST echo $id.' est coché<br />';
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
3 avril 2014 à 04:46
3 avril 2014 à 04:46
J'ai un peu de mal à saisir.
je crains que tu ne doives me prendre par la main, car pour envoyer les résultats dans une table avec un numéro ID unique, afin de les regrouper dans la même "session" ou "commande"; je sèche un peu.
je crains que tu ne doives me prendre par la main, car pour envoyer les résultats dans une table avec un numéro ID unique, afin de les regrouper dans la même "session" ou "commande"; je sèche un peu.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
15 févr. 2014 à 17:35
15 févr. 2014 à 17:35
Merci ne suffit plus, faudrait inventer un mot bien plus fort.
Je prends le temps de tester cela et je te dit ce qu'il en est.
Je prends le temps de tester cela et je te dit ce qu'il en est.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Modifié par maxireussite le 27/03/2014 à 04:50
Modifié par maxireussite le 27/03/2014 à 04:50
Bon ben Alain_42 me revoilà !
je crains que tu ne doive me prendre par la main, car pour envoyer les résultats dans une table avec un numéro ID unique, afin de les regrouper dans la même "session" ou "commande"; je sèche un peu.
je crains que tu ne doive me prendre par la main, car pour envoyer les résultats dans une table avec un numéro ID unique, afin de les regrouper dans la même "session" ou "commande"; je sèche un peu.