Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/05/2011, 10h04   #1
Membre du Club
 
Inscription : septembre 2009
Messages : 314
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 314
Points : 46
Points : 46
Par défaut Fonction Javascript en PHP

Bonjour,
Je ne sais si c'est bien ici que je dois poster ma demande ou dans la section javascript.
Je vais faire cour j'ai creer une fonction JS pour rendre dynamique un menu, j'ai eu besoin d'automatiser mon menu avec des table et des boucles. Je dois donc automatiser ma fonction JS mais je ne veux pas utiliser le xml, alors je pensais ecrire la fonction dans un echo comme ceci :

Code :
1
2
3
4
5
 
echo " <script> 
		alert('Coucou');
		document.location.href'acceuil.php'
		</script>";
Voici mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
<?php
	include("connect_bdd\connection_BDD.php");
 
	$rzq = "SELECT * FROM type";
	$rzp = mysql_query($rzq);
	$rzs = mysql_num_rows($rzp);
 
	echo "<script>
			function $(leId)
			{
				return document.getElementById(leId);
			}
 
			function deroulant(selection)
			{
				switch(selection)
				{
	";
 
	$roq = "SELECT * FROM type";
	$rop = mysql_query($roq);
 
	$num=0;
	while($ros=mysql_fetch_assoc($rop))
	{
		$num++;
		echo "case\"menu_".$ros['LIBELLE_TYPE']."\":";
		for($i=1;$i<=$rzs;$i++)
		{
			if($i = $num)
			{$monDisplay = "block"; }
			else
			{$monDisplay = "none"; }
 
			echo "$('sous_menu_".$ros['LIBELLE_TYPE']."').style.display = \"".$monDisplay."\" ; ";
		}
		echo "break;";
	}
	echo "		}
			} 
		</script>
	";
?>
Il dois y avoir une erreur de syntaxe quelque part mais je ne voit pas ou.
Merci d'avance pour les lumières que vous m'apporterez.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 10h12   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
La coloration syntaxique ne montre rien.
Que donnes la console JS au niveau des erreurs ?
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 10h28   #3
Membre du Club
 
Inscription : septembre 2009
Messages : 314
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 314
Points : 46
Points : 46
Bonjour,

heu qu'entendez vous par "la console JS au niveau des erreurs ?"

Je suis sur firefox, avec firebug si c'est se que vous voulez savoir. Pas d'erreur apparente.

j'ai modifier ceci :
Ma page s'affiche a présent et me donne ceci comme code JS:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script>
function $(leId)
{
	return document.getElementById(leId);
}
function deroulant(selection)
{
	switch(selection)
	{
		case"menu_Musique":
			$('sous_menu_Musique').style.display = "block" ; 
			$('sous_menu_Musique').style.display = "none" ; 
			$('sous_menu_Musique').style.display = "none" ; 
			break;
		case"menu_DVD":
			$('sous_menu_DVD').style.display = "none" ; 
			$('sous_menu_DVD').style.display = "block" ; 
			$('sous_menu_DVD').style.display = "none" ; 
			break;
		case"menu_Jeux_PC":
			$('sous_menu_Jeux_PC').style.display = "none" ; 
			$('sous_menu_Jeux_PC').style.display = "none" ; 
			$('sous_menu_Jeux_PC').style.display = "block" ; 
			break; 
	}
}
</script>
Mais ne fonctionne toujours pas je donne donc mon code php mais ont est a la limite du hors sujet de la section non?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
	include("connect_bdd\connection_BDD.php");
 
?>
 
<div id="menu">
	<?php
		$riq = "SELECT * FROM type";
		$rip = mysql_query($riq);
		while($ris=mysql_fetch_assoc($rip))
		{
			echo "<div id='menu_".$ris['LIBELLE_TYPE']."' style='border:1px solid black' onclick='deroulant(\"menu_".$ris['LIBELLE_TYPE']."\")'>
					<span class='menu'>".$ris['LIBELLE_TYPE']."</span><br/>
				</div>
				<div id='sous_menu_".$ris['LIBELLE_TYPE']."' style='display:none'>
			";	
 
			$ruq = "SELECT * FROM categorie WHERE ID_TYPE = ".$ris['ID_TYPE']." ";
			$rup = mysql_query($ruq);
			while($rus=mysql_fetch_assoc($rup))
			{
				echo "<a href='acceuil.php?choix=".$rus['LIBELLE_CAT']."'>".$rus['LIBELLE_CAT']."</a><br/>";
			}
 
			echo"</div>";
		}
	?>
</div>
Merci d'avance pour vos lumières.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 10h51   #4
Membre du Club
 
Inscription : septembre 2009
Messages : 314
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 314
Points : 46
Points : 46
Ça y est j'ai trouver le problème étais la:
Code :
1
2
3
$('sous_menu_Musique').style.display = "block" ; 
			$('sous_menu_Musique').style.display = "none" ; 
			$('sous_menu_Musique').style.display = "none" ;
Ils sont identique, probleme de boucle.
Voila ma solution:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$num=0;
	while($ros=mysql_fetch_assoc($rop))
	{
		$num++;
		echo "case\"menu_".$ros['LIBELLE_TYPE']."\":";
 
		$i=0;
		$ryq = "SELECT * FROM type";
		$ryp = mysql_query($ryq);
		while($rys=mysql_fetch_assoc($ryp))
		{	
			$i++;
			if($i == $num)
			{$monDisplay = "block"; }
			else
			{$monDisplay = "none"; }
			echo "$('sous_menu_".$rys['LIBELLE_TYPE']."').style.display = \"".$monDisplay."\" ; ";
		}
		echo "break;";
	}
Merci et désoler pour le dérangement.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h29.


 
 
 
 
Partenaires

Hébergement Web