Se connecter / S'enregistrer
Votre question

Petit problème en PHP/JAva

Tags :
  • Java
  • Programmation
Dernière réponse : dans Programmation
23 Janvier 2007 14:20:12

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 :
  1. <SCRIPT LANGUAGE="JavaScript">
  2.  
  3. function checkAll() <!-- Cette fonction permet de cocher toutes les cases de type checkbox ayant pour nom cb* -->
  4. {
  5. for (var j = 1; j <= 5; j++)
  6. {
  7. box = eval("document.checkform.cb" + j);
  8. if (box.checked == false) box.checked = true;
  9. }
  10. }
  11.  
  12.  
  13. function uncheckAll() <!-- Cette fonction permet de décocher toutes les cases de type checkbox ayant pour nom cb* -->
  14. {
  15. for (var j = 1; j <= 5; j++)
  16. {
  17. box = eval("document.checkform.cb" + j);
  18. if (box.checked == true) box.checked = false;
  19. }
  20. }
  21.  
  22. <!--
  23. window.onload=montre;
  24. function montre(id) {
  25. var d = document.getElementById(id);
  26. for (var i = 1; i<=10; i++)
  27. {
  28. if (document.getElementById('smenu'+i))
  29. {
  30. document.getElementById('smenu'+i).style.display='none';}
  31. }
  32. if (d)
  33. {
  34. d.style.display='block';}
  35. }
  36. //-->
  37. </script>


Et dans le code principal :

  1. <?php
  2.  
  3. $titre_page='Vous êtes sur la page de Suppression';
  4. include "entete.inc";
  5. require "connexionBD.php";
  6. $lien=seConnecter();
  7. $resultat=executerRequeteBD($lien, "SELECT Titre,nomA,prénomA from reference, auteur, ecrire,typeref
  8. WHERE type='journal' AND auteur.Idauteur=ecrire.Idauteur AND ecrire.Idref=reference.Idref AND typeref.Idref=reference.Idref");
  9.  
  10. ?>
  11. <form action="suite.php" method="post" name=checkform>
  12. <table>
  13. <dl id="menu">
  14.  
  15. <dt onclick="javascript:montre('smenu2');">Conférence</dt>
  16.  
  17. <?php
  18. echo'<dd id="smenu2">
  19. <ul>';
  20. while($choix = mysql_fetch_array($resultat) )
  21. {
  22.  
  23. echo'<li>'.$choix[0].'<input type=checkbox value="'.$choix[0].'" name=cb[0]></li>';
  24. }
  25.  
  26. ?>
  27. </ul>
  28.  
  29. </dd>
  30. </dl>
  31. </table>
  32. <input type=button value="Sélectionner tout" onClick="checkAll()">   <input type=button value="Dé-sélectionner tout" onClick="uncheckAll()"><br/><br/>
  33. </form>


Voilà si quelqu'un pouvait m'aider ca serait sympa. :) 

Bonne journée a tous.

Autres pages sur : petit probleme php java

23 Janvier 2007 16:19:47

faut accorder les noms des checkbox.
en php tu les appelles tous cb[0]
et en javascript c'est cb0, cb1 ...
23 Janvier 2007 16:23:27

Ce qui veut dire qu'il faut que je fasse quoi? :$
Contenus similaires
23 Janvier 2007 16:38:06

Lol merci mais je n'ai pas de cours, :)  on se doit d'apprendre ce genre de langage tout seul, donc c'est pour ca que j'ai cherché une petite aide, m'enfin ...
23 Janvier 2007 16:44:52

si une checkbox s'appelle toto:
  1. <input type="checkbox" name="toto"/>

pour y acceder en javascript:
document.checkform.toto

si tu l'appelle toto1, document.checkform.toto ne pointera sur rien du tout

apres c'est logique
23 Janvier 2007 16:49:37

Oui mais si je les appelles toutes "toto", document.checkform.toto devrait pointer vers toutes les checkbox. Alors que là ce n'est pas le cas, il me coche aucune des cases...
23 Janvier 2007 16:52:05

... t'as qu'a les appeler cb0, cb1 etc... mais dans les 2 codes et non cb[0] dans l'un et cb0 dans l'autre
23 Janvier 2007 16:56:50

Oui mais comme je génère chaque checkbox, comment je fais pour permettre au cb de s'auto incrémenter tout seul?
Je sais je parais newbie, mais je m'y connais pas encore beaucoup
14 Juin 2007 17:47:47

hellnino a dit :
Oui mais comme je génère chaque checkbox, comment je fais pour permettre au cb de s'auto incrémenter tout seul?
Je sais je parais newbie, mais je m'y connais pas encore beaucoup


Ecoute mon vieux ! Tu as la bonne inspiration et le bon reflexe.

Pourquoi ça ne marche pas ? Parce que tu gère comme un tableau. Sur le net le tableau c'est bien ! mais se transporte élément par élément. Jamais en block.

Pour rester strictement à ton problème

comme dans le JavaScript tu utilise les A0, A1, A2 ....
Dans le php
commence par initialiser $i=0; //hors de la boucle while.
Ensuite, chaque fois que tu génère un nouvel <input name="A$i" id="A$i" value="tavaleur" ... >
tu fais aussi $i++
et tu fermes le while.

Ainsi quand tu vas récupérer les Ai dans le javaScript tu n'aura plus de surprises.

Essaie. Cela doit marcher.
A+
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS