[php] tableaux avec buttons radio
Résolu/Fermé
saad0n
-
26 juil. 2010 à 11:08
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 - 27 juil. 2010 à 15:01
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 - 27 juil. 2010 à 15:01
A voir également:
- [php] tableaux avec buttons radio
- Tableaux croisés dynamiques - Guide
- Easy php - Télécharger - Divers Web & Internet
- Radio française - Télécharger - Médias et Actualité
- Telecharger radio - Télécharger - Audio & Musique
- Fusionner deux tableaux excel - Guide
3 réponses
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
26 juil. 2010 à 11:11
26 juil. 2010 à 11:11
Bonjour,
que veux tu calculer exactement, et à partir de qu'elles données ?
et pourquoi utiliser des boutons radios ? choisir des années ?
que veux tu calculer exactement, et à partir de qu'elles données ?
et pourquoi utiliser des boutons radios ? choisir des années ?
fxtaa
Messages postés
1050
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
2 avril 2015
74
26 juil. 2010 à 11:33
26 juil. 2010 à 11:33
Bon voila, tout n'est pas fait mais tu as les grandes lignes :
<form name="radio" method="post" action=""> // AJOUT <table align="center" align="center"> <tr align="center" > <TH align="center" >Libéllé tronçon</TH > <TH align="center" >Longueur prévisionnelle</TH> <TH align="center" >Coût prévisionnel</TH> <TH align="center" >Checkbox</TH>// AJOUT </tr> <?php require ('./conf/config.inc.php'); // fichier de config require ('./functions/mysql.php'); // fichier des fonctions $link = mysql_connect("$host","$login","$password") or die ("Connexion au serveur impossible"); mysql_select_db($database,$link); $table = $_GET['table']; $previsionnel=$table.'_previsionnel'; $result = mysql_query("SELECT * FROM $previsionnel "); $i = 0; while ($table_arcachon_previ = mysql_fetch_assoc($result)){ echo '<tr align="center" ><td align="center" >'.$table_arcachon_previ['libelle_troncon'].'</td>'; echo '<td align="center" >'.$table_arcachon_previ['longueur_previsionnelle'].'</td>'; echo '<td align="center" >'.$table_arcachon_previ['cout_previsionnel'].'</td></tr>'; echo '<td align="center" ><input name="'.$i.'" type="checkbox" value="'.$table_arcachon_previ['id'].'"></td></tr>'; // AJOUT $i++; } mysql_close($link); ?> </table> </form> // AJOUT ----------------------TRAITEMENT-------------------------- <?php // on compte le nombre de ligne possible pour connaitre le nombre de name d'input possible $sql = "SELECT COUNT(*) FROM table"; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); $row = mysql_fetch_row($req); $tot = $row[0]; $i = 0; // on prépare le début de la requête $rqt = "SELECT * FROM table WHERE "; while ($i != $tot){ if (isset ($_POST['$i']){ $id = $_POST['$i']; $rqt .= "id='$id' AND "; } $i++; } $rqt .= ";"; // Expression régulière pour éviter une requête de la forme " WHERE id='2' AND id ='4' AND; " // je connais pas bien les fonctions d expression régulieres sous php mais en gros ta regexp doit donner ca : /AND;/;/ Je remplace AND; par ;. echo $rqt; mysqlquery ($rqt); ?>
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
26 juil. 2010 à 11:49
26 juil. 2010 à 11:49
Désolé j'ai posté après sans voir que tu venais de poster ^^
je reviens a toi . j'ai mis ta partie TRAITEMENT dans une nouvelle page que j'ai mise comme cible pour mon formulaire
lorsque je coche les entrées qui m'interessent et que je valide , on m'affiche :
je ne sais pas pourquoi
action="traitement.php". j'ai ajouté un bouton submit à la premiere page.
lorsque je coche les entrées qui m'interessent et que je valide , on m'affiche :
SELECT * FROM arcachon_previsionnel WHERE ;. apparement la boucle while n'est pas parcourue.
je ne sais pas pourquoi
fxtaa
Messages postés
1050
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
2 avril 2015
74
26 juil. 2010 à 14:42
26 juil. 2010 à 14:42
fais un echo de $tot pour voir le résultat, ca vient ptet de la
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
26 juil. 2010 à 11:45
26 juil. 2010 à 11:45
Tu peux le faire, mais il te faut des checkbox et non pas des radios boutons
voila un bout de code qui fait ce que tu veux, j'ai supposé que tes enregistrements ont un identifiant dans la base :
A modifier et ajuter pour ton code :)
voila un bout de code qui fait ce que tu veux, j'ai supposé que tes enregistrements ont un identifiant dans la base :
<?php $s = ""; echo '<table>\n'; $result = mysql_query("SELECT * FROM $previsionnel "); while ($table_arcachon_previ = mysql_fetch_assoc($result)) { if($s=="") $s.=$table_arcachon_previ['id']; else $s.=", ".$table_arcachon_previ['id']; echo '<tr align="center" >\n'; echo '<td align="center" >'.$table_arcachon_previ['libelle_troncon'].'</td>\n'; echo '<td align="center" >'.$table_arcachon_previ['longueur_previsionnelle'].'</td>\n'; echo '<td align="center" id="td_cout_'.$table_arcachon_previ['id'].'">'.$table_arcachon_previ['cout_previsionnel'].'</td>\n'; echo '<td align="center" ><input id="check_box_'.$table_arcachon_previ['id'].'" type="checkbox" checked="checked"/></td>\n'; echo '</tr>\n'; } echo '<tr align="center" >\n'; echo '<td colspan="4" id="td_total"> </td>\n'; echo '</tr>\n'; echo '<table>\n'; echo '<script type="text/javascript">; var liste_troncon = new Array(); liste_troncon = ['.$s.']; function calcul_total() { var total=0; for(var i=0; i<liste_troncon.length ;i++) { if(document.getElementById("check_box_"+liste_troncon[i]).checked) total+=document.getElementById("td_cout_"+liste_troncon[i]).innerHTML ; } document.getElementById("td_total"+liste_troncon[i]).innerHTML = total ; } </script>\n'; ?>
A modifier et ajuter pour ton code :)
merci pour ton code mais ca marche pas pour moi .
ca m'affiche beaucoup de
ca m'affiche beaucoup de
/n /na la suite. Et au chargement les cases sont deja cochées . d'une autre part je ne comprends pas pourquoi il n'y a pas de bouton submit dans ton code. Je suis désolé si j'en demande trop mais j'ai pas trop compris comment ton code marchait :) donc si tu pouvais m'aider merci
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
26 juil. 2010 à 14:38
26 juil. 2010 à 14:38
En fait j'ai ajouté des checkbox sur chaque ligne. Deja cochées car au début le total de toute les lignes est calculé.
Il faut que tu ajoutes un bouton qui appelle la fonction javascript "calcul_total". Pas besoin de recharger la page pour le calcul, le javascript se base sur les informations déjà présente dans la page.
Pour les \n, c'est vrai il faut remplacer les ' par des " quand il y a des echos, sinon les sauts à la ligne (\n) ne sont pas fait.
(Tu peux aussi les enlever, mais si quelqu'un regarde ton code généré, ça sera pas beau à voir :p)
Tu comprends mieux ? ^^
Il faut que tu ajoutes un bouton qui appelle la fonction javascript "calcul_total". Pas besoin de recharger la page pour le calcul, le javascript se base sur les informations déjà présente dans la page.
Pour les \n, c'est vrai il faut remplacer les ' par des " quand il y a des echos, sinon les sauts à la ligne (\n) ne sont pas fait.
(Tu peux aussi les enlever, mais si quelqu'un regarde ton code généré, ça sera pas beau à voir :p)
Tu comprends mieux ? ^^
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
26 juil. 2010 à 15:07
26 juil. 2010 à 15:07
La fonction fait :
petite erreur de ma part il faut modifier
Cela affichera automatique le résultat dans la cellule td_total.
document.getElementById("td_total"+liste_troncon[i]).innerHTML = total ;
petite erreur de ma part il faut modifier
document.getElementById("td_total").innerHTML = total ;
Cela affichera automatique le résultat dans la cellule td_total.
Modifié par saad0n le 26/07/2010 à 11:33
je veux que l'utilisateur puisse calculer le le cout previsionnel de plusieurs lignes. Voila un exemple : imaginons que je genere le tableau suivant :
libelle longueur cout
a 20 1000
b 10 2000
c 5 3000
d 15 1500
l'utilisateur peut choisir de calculer le cout previsionnel de a+b+d ce qui doit lui donner 4500
J'espere que c'est plus clair
26 juil. 2010 à 11:34