[pb java/php]
Résolu
hellnino
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
Voil j'explique mon problème. Nous avons un projet a faire en DUT, et le but est de faire un site Web avec base de données, etc... Donc ce qui implique PHP, CSS, HTML, SQL. Tous ces langages sont assez nouveaux pour nous. Bon enfin bref là n'est pas le problème, mon problème est en fait le fait que j'essaye de faire cocher toutes les checkbox d'un coup (j'ai été récupéré le code sur le net), donc pour une de mes pages ca marche tres bien, alors que pour une autre page ça ne marche pas. Je me demande si cela ne vient pas du fait que je fais mes checkbox directement en faisant appel à ma base de données. Bon je sais pas si c'est bien claire lol, donc voilà le code :
Entre les balises <head> on a ca :
Et dans le code principal :
Voilà si quelqu'un pouvait m'aider ca serait sympa. :)
Bonne journée a tous.
Entre les balises <head> on a ca :
<SCRIPT LANGUAGE="JavaScript"> function checkAll() <!-- Cette fonction permet de cocher toutes les cases de type checkbox ayant pour nom cb* --> { for (var j = 1; j <= 5; j++) { box = eval("document.checkform.cb" + j); if (box.checked == false) box.checked = true; } } function uncheckAll() <!-- Cette fonction permet de décocher toutes les cases de type checkbox ayant pour nom cb* --> { for (var j = 1; j <= 5; j++) { box = eval("document.checkform.cb" + j); if (box.checked == true) box.checked = false; } } <!-- window.onload=montre; function montre(id) { var d = document.getElementById(id); for (var i = 1; i<=10; i++) { if (document.getElementById('smenu'+i)) { document.getElementById('smenu'+i).style.display='none';} } if (d) { d.style.display='block';} } //--> </script>
Et dans le code principal :
<?php $titre_page='Vous êtes sur la page de Suppression'; include "entete.inc"; require "connexionBD.php"; $lien=seConnecter(); $resultat=executerRequeteBD($lien, "SELECT Titre,nomA,prénomA from reference, auteur, ecrire,typeref WHERE type='journal' AND auteur.Idauteur=ecrire.Idauteur AND ecrire.Idref=reference.Idref AND typeref.Idref=reference.Idref"); ?> <form action="suite.php" method="post" name=checkform> <table> <dl id="menu"> <dt onclick="javascript:montre('smenu2');">Conférence</dt> <?php echo'<dd id="smenu2"> <ul>'; while($choix = mysql_fetch_array($resultat) ) { echo'<li>'.$choix[0].'<input type=checkbox value="'.$choix[0].'" name=cb></li>'; } ?> </ul> </dd> </dl> </table> <input type=button value="Sélectionner tout" onClick="checkAll()"> <input type=button value="Dé-sélectionner tout" onClick="uncheckAll()"><br/><br/> </form>
Voilà si quelqu'un pouvait m'aider ca serait sympa. :)
Bonne journée a tous.
A voir également:
- [pb java/php]
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
6 réponses
Si tu essai avec ca, ca devrait le faire un peu plus, mais pas sur j'ai pas testé :
Comme tu peux le voir, j'ai ajouté un param à tes fonctions de sorte qu'il puisse s'adapter à n'importe quel nombre de checkBox, pourvue qu'elle soient toutes construit avec le même nom pour base (dans ton exemple c'est cb) puis un numéro pour chaque.
<SCRIPT LANGUAGE="JavaScript"> function checkAll( num ) { for (var j = 1; j <= num; j++) { box = eval("document.checkform.cb" + j); if (box.checked == false) box.checked = true; } } function uncheckAll( num ) <!-- Cette fonction permet de décocher toutes les cases de type checkbox ayant pour nom cb* --> { for (var j = 1; j <= num; j++) { box = eval("document.checkform.cb" + j); if (box.checked == true) box.checked = false; } } </script> Et dans le code principal : <?php $titre_page='Vous êtes sur la page de Suppression'; include "entete.inc"; require "connexionBD.php"; $lien=seConnecter(); $resultat=executerRequeteBD($lien, "SELECT Titre,nomA,prénomA from reference, auteur, ecrire,typeref WHERE type='journal' AND auteur.Idauteur=ecrire.Idauteur AND ecrire.Idref=reference.Idref AND typeref.Idref=reference.Idref"); // --- Récupère le nombre de ligne de retour : $nbLigne = @mysql_num_rows($resultat); ?> <form action="suite.php" method="post" name=checkform> <table> <dl id="menu"> <dt onclick="javascript:montre('smenu2');">Conférence</dt> <?php echo'<dd id="smenu2"> <ul>'; $curs = 1; while($choix = mysql_fetch_array($resultat) ) echo'<li>'.$choix[0].'<input type=checkbox value="'.$choix[0].'" name="cb'.$curs++.'"></li>'; ?> </ul> </dd> </dl> </table> <input type=button value="Sélectionner tout" onClick="checkAll(<?php echo $nbLignes;?>)"> <input type=button value="Dé-sélectionner tout" onClick="uncheckAll(<?php echo $nbLignes;?>)"><br/><br/>
Comme tu peux le voir, j'ai ajouté un param à tes fonctions de sorte qu'il puisse s'adapter à n'importe quel nombre de checkBox, pourvue qu'elle soient toutes construit avec le même nom pour base (dans ton exemple c'est cb) puis un numéro pour chaque.
Merci, donc je viens d'essayer mais ca ne marche toujours pas. Je comprends pas trop pourquoi en fait, parce que dans une autre page, je l'ai fait pour des checkbox toutes faites, et il n'y a aucuns problèmes... Donc je cherche toujours mais j'avoue que j'ai du mal a comprendre pourquoi cela ne marche pas.
EDIT : En fait ca marche maintenant, par rapport a ton code j'ai juste eu besoin de changer : $nblig=mysql_num_rows($resultat); Il y avait un problème avec le @.
merci beaucoup j'etais dessus depuis le début de l'aprem, j'allais m'arracher les cheveux^^
EDIT : En fait ca marche maintenant, par rapport a ton code j'ai juste eu besoin de changer : $nblig=mysql_num_rows($resultat); Il y avait un problème avec le @.
merci beaucoup j'etais dessus depuis le début de l'aprem, j'allais m'arracher les cheveux^^
Utilise donc un debbuger javascript (si tu as FF par exemple, ou même IE) pour savoir d'ou vient l'erreur.
En tout cas, remplace :
par :
Sinon pour savoir si tes fonctions sont appelée, met un alert("coucou") dans le corps des fonctions et re test
En tout cas, remplace :
(<?php echo $nbLignes;?
par :
(<?php echo $nbLigne;?
Sinon pour savoir si tes fonctions sont appelée, met un alert("coucou") dans le corps des fonctions et re test
sinon essai ca pour voir :
et test tes fonctions de cette maniere là :
<script language="javascript"> NS6 = (document.getElementById&&!document.all) IE = (document.all) function retrieveElementById( id ){ if ( NS6 ) return document.getElementById(id); else if ( IE ) return document.all[id]; } function checkAll( num ) { for (var j = 1; j <= num; j++) { box = retrieveElementById("cb" + j); if (box.checked == false) box.checked = true; } } function uncheckAll( num ) { for (var j = 1; j <= num; j++) { box = retrieveElementById("cb" + j); if (box.checked == true) box.checked = false; } } </script> <?php $titre_page='Vous êtes sur la page de Suppression'; include "entete.inc"; require "connexionBD.php"; $lien=seConnecter(); $resultat=executerRequeteBD($lien, "SELECT Titre,nomA,prénomA from reference, auteur, ecrire,typeref WHERE type='journal' AND auteur.Idauteur=ecrire.Idauteur AND ecrire.Idref=reference.Idref AND typeref.Idref=reference.Idref"); // --- Récupère le nombre de ligne de retour : $nbLigne = @mysql_num_rows($resultat); ?> <form action="suite.php" method="post" name=checkform> <table> <dl id="menu"> <dt onclick="javascript:montre('smenu2');">Conférence</dt> <?php echo'<dd id="smenu2"> <ul>'; $curs = 1; while($choix = mysql_fetch_array($resultat) ){ echo'<li>'.$choix[0].'<input type=checkbox value="'.$choix[0].'" name="cb'.$curs.'"></li>'; $curs++; } echo '</ul></dd></dl></table><input type=button value="Sélectionner tout" onClick="checkAll('.$nbLigne.')"> <input type=button value="Dé-sélectionner tout" onClick="uncheckAll('.$nbLigne.')"><br/><br/>'; ?>
et test tes fonctions de cette maniere là :
function checkAll( num ) { alert("dans checkAll avec num = "+num); for (var j = 1; j <= num; j++) { box = retrieveElementById("cb" + j); if ( box == null ) alert("null"); if (box.checked == false) box.checked = true; } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question