Boucle PHP dans un javascript

Résolu/Fermé
SchyZo - 4 mai 2011 à 16:21
 SchyZo - 5 mai 2011 à 11:16
Bonjour,

Je suis un peu novice en programmation, mais je dois développer une petite application pour mon boulot.
En gros, je dois afficher un formulaire sur le principe de cases à cocher, dans ce genre :

( ) Rubrique 1 (bouton radio)
( ) Rubrique 2 (bouton radio)
[ ] langue a (checkbox)
[ ] langue b (checkbox)
[ ] slangue c (checkbox)
.....
Comme il y a énormément de langues, j'utilise une fonction PHP qui liste toutes les langues d'une table avec une boucle pour les afficher :

Mon premier radio :
<input type="radio" onClick="CheckCase()" name="AAA" value="All languages" id="RTE1"/>

plus loin, mon second radio :
<input type="radio" onClick="CheckCase()" name="SELECT" value="selected_languages" id="BBB"/>
et la boucle qui affiche les langues sous le second radio :

$query = "SELECT * FROM $table ORDER BY ID";
$result = mysql_query($query);
$i = 1;
while ($val = mysql_fetch_array($result))
{
echo '<tr>
<td width="26"> </td>
<td width="32"><label>
<input type="checkbox" name="RTE'.$val["ID"].'" value="'.$val["PRICELIST"].'" />
</label></td>
<td width="138"><span class="Style11">'.$val["PRICELIST"].'</span></td>
<td width="4"><img src="images/flags/'.$val["FLAG"].'.png"/></td>
</tr>';
$i++;
}
=> ca affiche sur chaque ligne du tableau la case à cocher (checkbox), le libellé (qui sera rte1, rte2, rte3, etc...) et le drapeau de la langue.
Tout se passe très bien pour cette partie.

Mais il faut que j'ajoute un script pour gérer les possibilités de choix : si on coche Rubrique 1, alors on ne peut pas cocher de sous rubriques 2.
On ne peut cocher les sous rubriques que si on coche le radio de Rubrique 2.

J'ai donc mis un petit script (que j'ai copié sur un forum) pour gérer ça :
<script type="text/javascript">
function CheckCase()
{
if (document.getElementById("AAA").checked )
{
document.getElementById("rte1").disabled="disabled";
document.getElementById("rte2").disabled="disabled";
document.getElementById("rte2").disabled="disabled";
}
else
if (document.getElementById("BBB").checked )
{
document.getElementById("rte1").disabled="";
document.getElementById("rte2").disabled="";
document.getElementById("rte3").disabled="";
}
}
</script>

J'ai fait le test avec les 3 premiers et ça fonctionne bien.
Seulement voilà, j'en ai 90 dans ma base de données ! alors j'aimerais bien faire une boucle dans le script pour qu'il incrémente tout seul les lignes...
Je sais qu'on ne peut théoriquement pas insérer de PHP dans le JS, mais je ne sais pas comment faire ma boucle...quelqu'un a une idée ?


merci d'avance !
A voir également:

1 réponse

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
Modifié par Flachy Joe le 5/05/2011 à 12:50
On peut très bien mettre du php entre deux balises javascript, il suffit de bien prendre en compte que son exécution se fera avant le téléchargement de la page par le client et donc avant le javascript.

Dans ton cas :
for (i=1; i<<?php echo $list_count; ?>; i++) { 
 document.getElementById("rte"+i).disabled="" 
}


;-) Flachy Joe ;-)
0
Merci infiniement Flachy Joe ! Ca fonctionne à présent tout à fait correctement !

Encore un gros merci !
0