Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 11/01/2011, 16h21   #1
Membre du Club
 
Homme Brice
Ingénieur d'études en développements techniques
Inscription : novembre 2005
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Brice
Âge : 40
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en développements techniques
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2005
Messages : 190
Points : 55
Points : 55
Envoyer un message via MSN à bpdelavega
Par défaut Problème sur les Variables Variables

Bonjour,
J'ai besoin de faire une boucle FOR dans laquelle j'ai des noms de variables qui évoluent en fonction du compteur. Mais je me heurte à un problème de syntaxe : 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
45
46
47
 
//----------------------------------------------
 
	  echo 'arrHotel[0] = new Array('."\n";
 
	  for($i=0;$i<$_countArrProduct1;$i++){
	    if ($i != ($_countArrProduct1-1)){
	      	echo '"'.$_arrProducts1[$i]['champ1'].$separateur.
		    	 $_arrProducts1[$i]['champ2'].$separateur.
		    	 $_arrProducts1[$i]['champ3'].$separateur.'"'.
		    	 ','.
		    	 "\n";
	    } else {
	    	echo '"'.$_arrProducts1[$i]['champ1'].$separateur.
		    	 $_arrProducts1[$i]['champ2'].$separateur.
		    	 $_arrProducts1[$i]['champ3'].$separateur.'"'.
	    	 "\n";
	    }
	  }
 
	  echo ');'."\n"."\n"."\n";
	  echo 'console.log("Valeur1", arrHotel[0]);';
 
	  //------------------------------------------------
 
	  echo 'arrHotel[1] = new Array('."\n";
 
	  for($i=0;$i<$_countArrProduct2;$i++){
	    if ($i != ($_countArrProduct2-1)){
	      	echo '"'.$_arrProducts2[$i]['champ1'].$separateur.
		    	 $_arrProducts2[$i]['champ2'].$separateur.
		    	 $_arrProducts2[$i]['champ3'].$separateur.'"'.
		    	 ','.
		    	 "\n";
	    } else {
	    	echo '"'.$_arrProducts2[$i]['champ1'].$separateur.
		    	 $_arrProducts2[$i]['champ2'].$separateur.
		    	 $_arrProducts2[$i]['champ3'].$separateur.'"'.
	    	 "\n";
	    }
	  }
 
	  echo ');'."\n"."\n"."\n";
	  echo 'console.log("Valeur2", arrHotel[1]);';
 
	  //------------------------------------------------
ETC......
J'aimerai faire une boucle FOR pour encapsuler tout ça, mais je me heure à des problèmes de noms de variables, notamment pour mes Array.

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
 
//------------------------------------------------------
	  for ($j=0;$j<7;$j++) {
 
		  echo 'arrHotel['.($j+1).'] = new Array('."\n";
 
		  for($i=0;$i<$_countArrProduct.($j+1);$i++){
			if ($i != ($_countArrProduct($j+1)-1)){
				echo '"'.$_arrProducts($j+1)[$i]['champ1'].$separateur.
					 $_arrProducts($j+1)[$i]['champ2'].$separateur.
					 $_arrProducts($j+1)[$i]['champ3'].$separateur.'"'.
					 ','.
					 "\n";
			} else {
				echo '"'.$_arrProducts($j+1)[$i]['champ1'].$separateur.
					 $_arrProducts($j+1)[$i]['champ2'].$separateur.
					 $_arrProducts($j+1)[$i]['champ3'].$separateur.'"'.
				 "\n";
			}
		  }
 
		  echo ');'."\n"."\n"."\n";
		  echo 'console.log("Valeur($j+1)", arrHotel['.$j.']);';
	  }
	  //----------------------------------------------------
D'avance, merci pour votre aide.
bpdelavega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 16h57   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

Cette syntaxe n'existe pas en PHP pour le moment:
Code :
1
2
 
$_arrProducts($j+1)[$i]
tu dois faire:
Code :
1
2
3
 
$a = $_arrProducts($j+1);
$a[$i];
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 17h05   #3
Membre du Club
 
Homme Brice
Ingénieur d'études en développements techniques
Inscription : novembre 2005
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Brice
Âge : 40
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en développements techniques
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2005
Messages : 190
Points : 55
Points : 55
Envoyer un message via MSN à bpdelavega
Merci Benjamin pour ta réponse, je galère vraiment sur ce bout de script, je vais le tester, je te tiens au courant
bpdelavega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 18h14   #4
Membre du Club
 
Homme Brice
Ingénieur d'études en développements techniques
Inscription : novembre 2005
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Brice
Âge : 40
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en développements techniques
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2005
Messages : 190
Points : 55
Points : 55
Envoyer un message via MSN à bpdelavega
Par défaut Dans une boucle

Si je suis dans une boucle, puis je faire un ?
Code :
1
2
3
4
5
 
for($j=1;$j<=8;$j++){
	$nomArray = '_arrProducts'.$j;
	$$nomArray = array();
}
en sachant que je veux obtenir :
Code :
1
2
 
$_arrProducts1 = $_arrProducts2 = ... = $_arrProducts8 = array();
bpdelavega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 18h25   #5
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonjour,

Je pense que la fonction eval() t'aiderais bien...
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 18h32   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
ska_root, je peux pas supporter les eval !!!

C'est tout à fait correct comme tu as fait.
Regarde cet exemple:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
echo "<pre>";
$var1 = 1;
$var2 = 2;
$var3 = "toto à vélo";
$a = "var";
for ($i=1; $i<=3; $i++)
{
   $a = "var$i";
   echo "$a => " . $$a . "\n";
   $$a = "hello";
}
echo '$var1 => ' . $var1 . "\n";
echo '$var2 => ' . $var2 . "\n";
echo '$var3 => ' . $var3 . "\n";
echo "</pre>";
Produit:
Code :
1
2
3
4
5
6
7
 
var1 => 1
var2 => 2
var3 => toto à vélo
$var1 => hello
$var2 => hello
$var3 => hello
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 18h40   #7
Membre du Club
 
Homme Brice
Ingénieur d'études en développements techniques
Inscription : novembre 2005
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Brice
Âge : 40
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en développements techniques
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2005
Messages : 190
Points : 55
Points : 55
Envoyer un message via MSN à bpdelavega
Merci Benjamin, je teste de suite, quand je fais ces boucles, j'ai des erreurs, je continue à creuser, je vous tiens au courant.
bpdelavega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 18h48   #8
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
On va d'ailleurs s'amuser un peu, l'exemple qui suit montre les possibilités de PHP 5.3:
Code :
1
2
3
4
5
6
7
8
 
echo "<pre>";
$var1 = 0; $var2 = 1; $var3 = 2;
$_v = function ($v) {return isset($v) ? $v : false;};
$_i = 1;
while (($_a="var{$_v($_i++)}") && isset($$_a))
  echo "$_a => {$$_a}\n";
echo "</pre>";
Dans le genre "syntaxe incompréhensible" ça se pose là non ?

Produit:
Code :
1
2
3
4
 
var1 => 0
var2 => 1
var3 => 2
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 18h50   #9
Membre du Club
 
Homme Brice
Ingénieur d'études en développements techniques
Inscription : novembre 2005
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Brice
Âge : 40
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en développements techniques
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2005
Messages : 190
Points : 55
Points : 55
Envoyer un message via MSN à bpdelavega
Par défaut Erreur

Merci pour vos réponses, j'ai loupé quelque chose ?
je n'ai pas réussi à faire ce que je veux :

Code :
1
2
3
4
5
6
7
8
9
 
//Affectation des listes
for($j=1;$j<=8;$j++){
	$_collection = '_collection'.$j;
	foreach ($$_collection as $_product){
		$nomArray = 'result'.$j;
		${$nomArray} = $_product->getId();
	}
}
ERREUR =>
Code :
Warning: Invalid argument supplied for foreach()
bpdelavega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 18h56   #10
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Etrange, chez moi ce code marche:

Code :
1
2
3
4
5
6
7
8
9
10
11
 
$_collection1 = array(1,2,3);
$_collection2 = array(1,2,3);
$_collection3 = array(1,2,3);
 
for($j=1;$j<=3;$j++){
	$_collection = "_collection$j";
	foreach ($$_collection as $_product){
               echo "$_collection > $_product";
        }
}
Tu es sûr que tes collections sont bien des traversables (ou de tableaux) ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 19h08   #11
Membre du Club
 
Homme Brice
Ingénieur d'études en développements techniques
Inscription : novembre 2005
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Brice
Âge : 40
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en développements techniques
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2005
Messages : 190
Points : 55
Points : 55
Envoyer un message via MSN à bpdelavega
Oui quand je fais ça, j'ai pas d'erreur, mais bon c'est super moche :
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
 
//Affectation des listes
foreach ($_collection1 as $_product){
	$result1[] = $_product->getId();
}
 
foreach ($_collection2 as $_product){
	$result2[] = $_product->getId();
}
 
foreach ($_collection3 as $_product){
	$result3[] = $_product->getId();
}
 
foreach ($_collection4 as $_product){
	$result4[] = $_product->getId();
}
 
foreach ($_collection5 as $_product){
	$result5[] = $_product->getId();
}
 
foreach ($_collection6 as $_product){
	$result6[] = $_product->getId();
}
 
foreach ($_collection7 as $_product){
	$result7[] = $_product->getId();
}
 
foreach ($_collection8 as $_product){
	$result8[] = $_product->getId();
}
En sachant que chaque $_collection produit une liste différente.
bpdelavega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 20h22   #12
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Remarque c'est marrant que tu aies pas un tableau bidimentionnel...

Tu ferais juste:
Code :
1
2
3
4
5
6
7
8
 
foreach ($_collections as $_collection)
{
    foreach ($_collection as $key => $value)
    {
          // ...
    }
}
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 23h17   #13
Membre du Club
 
Homme Brice
Ingénieur d'études en développements techniques
Inscription : novembre 2005
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Brice
Âge : 40
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en développements techniques
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2005
Messages : 190
Points : 55
Points : 55
Envoyer un message via MSN à bpdelavega
Je suis pas sûr que le tableau bidimensionnel soit la solution, ou alors je n'ai pas compris où tu veux en venir.

j'ai besoin de construire 8 listes différentes.
Chaque liste comporte une collection d'objets indépendants. Je voulais juste utiliser les variables variables pour me simplifier l'écriture de mon code.

Je voulais juste trouver un moyen astucieux d'écrire mes 8 mini traitements en très peu de lignes.
bpdelavega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 00h18   #14
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
je ne suis pas sur de comprendre ce que tu veux faire, mais peut-être cet exemple t'aidera...

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
 
<?php
 
// de 1 a 8 fois
for($i=1; $i<=8; $i++) {
 
	// chaque _collection est un array
	$col= "_collection$i";
	${$col}=array();
 
	// on alloue les valeurs (ici des valeurs identiques 1,2 et 3 préfixées par $i pour mieux les différencier plus loin dans la vérification)
	for($j=1; $j<=3; $j++) {
		${$col}['champ'.$j]= $i."-".$j; 
	}
 
}
 
 
/* VERIFICATION */
 
echo "<h1>Dynamique</h1>";
 
// affichage des collections de manière dynamique
for($i=1; $i<=8; $i++) {
	$col= "_collection$i";
 
	echo "<h3>[\$_collection$i]</h3><pre>";
	if(isset(${$col})) print_r(${$col});
	echo "</pre><hr/>";
 
}
 
echo "<h1>Statique</h1>";
 
// affichage d'une collection de manière statique
echo "<h3>[\$_collection8]</h3><pre>";
	if(isset($_collection8)) print_r($_collection8);
echo "</pre><hr/>";
?>

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 20h43   #15
Membre du Club
 
Homme Brice
Ingénieur d'études en développements techniques
Inscription : novembre 2005
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Brice
Âge : 40
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en développements techniques
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2005
Messages : 190
Points : 55
Points : 55
Envoyer un message via MSN à bpdelavega
Merci ska_root, j'ai essayé d'utiliser ta technique en allant un peu plus loin dans mon traitement :
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
 
<script type="text/javascript">
<?php 
	  $separateur = "|";
	  // de 1 a $_nbItems fois
	  for($j=1; $j<=$_nbItems; $j++) {
	 //----------- Une boucle --------------------
	  $_hotels = "arrHotel$j";
	  $_produits = "_arrProducts$j";
	  $_compteur = "_countArrProduct$j";
 
	  echo '${$_hotels}[$j] = new Array('."\n";
 
	  for($i=0;$i<${$_compteur};$i++){
	    if ($i != (${$_compteur}-1)){
	      	echo '"'.${$_produits}[$i]['availpro_id'].$separateur.
		    	 ${$_produits}[$i]['name'].$separateur.
		    	 Hgp_Lib_Tools::drawStarsHomeTxt(${$_produits}[$i]['nb_etoile']).'"'.
		    	 ','.
		    	 "\n";
	    } else {
	    	echo '"'.${$_produits}[$i]['availpro_id'].$separateur.
		    	 ${$_produits}[$i]['name'].$separateur.
		    	 Hgp_Lib_Tools::drawStarsHomeTxt(${$_produits}[$i]['nb_etoile']).'"'.
	    	 "\n";
	    }
	  }
 
	  echo ');'."\n"."\n"."\n";
	  echo 'console.log("Valeur$j", ${$_hotels});';
	//----------- Une boucle --------------------
	}
?>
</script>
Résultat :
Citation:
${$_hotels}[$j] = new Array(
);

console.log("Valeur$j", ${$_hotels});${$_hotels}[$j] = new Array(
);

console.log("Valeur$j", ${$_hotels});${$_hotels}[$j] = new Array(
);

console.log("Valeur$j", ${$_hotels});${$_hotels}[$j] = new Array(
);

console.log("Valeur$j", ${$_hotels});${$_hotels}[$j] = new Array(
);

console.log("Valeur$j", ${$_hotels});${$_hotels}[$j] = new Array(
);

console.log("Valeur$j", ${$_hotels});${$_hotels}[$j] = new Array(
);

console.log("Valeur$j", ${$_hotels});${$_hotels}[$j] = new Array(
);
Au lieu d'avoir du JS j'ai rien
bpdelavega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 16h40   #16
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
ça ne serait pas plutôt ça ?

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
<script type="text/javascript">
<?php 
 
	  $separateur = "|";
 
	  // de 1 a $_nbItems fois
	  for($j=1; $j<=$_nbItems; $j++) {
 
   	  //----------- Une boucle --------------------
   	  $_hotels =   "arrHotel$j";
   	  $_produits = "_arrProducts$j";
   	  $_compteur = "_countArrProduct$j";
 
	     echo "_hotels[$j] = new Array(\n";
 
        $nb_compteur= count(${$_compteur});
 
	     for($i=0; $i < $nb_compteur; $i++){
 
	        if ($i != $nb_compteur) {
 
	           echo "'".${$_produits}[$i]['availpro_id'].$separateur.
		    	  ${$_produits}[$i]['name'].$separateur.
		    	  Hgp_Lib_Tools::drawStarsHomeTxt(${$_produits}[$i]['nb_etoile'])."'".
		    	  ",".
		    	  "\n";
 
	        } else {
 
	    	     echo "'".${$_produits}[$i]['availpro_id'].$separateur.
		    	  ${$_produits}[$i]['name'].$separateur.
		    	  Hgp_Lib_Tools::drawStarsHomeTxt(${$_produits}[$i]['nb_etoile'])."'".
	    	     "\n";
	       }
	   }
 
	   echo ");\n\n\n";
 
	   echo "console.log('Valeur$j', _hotels[$j]);";
 
	//----------- Une boucle --------------------
	}
?>
</script>
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 15h01   #17
Membre du Club
 
Homme Brice
Ingénieur d'études en développements techniques
Inscription : novembre 2005
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Brice
Âge : 40
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en développements techniques
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2005
Messages : 190
Points : 55
Points : 55
Envoyer un message via MSN à bpdelavega
Par défaut Merci bcp ska_root

Merci ska_root :
Ta réponse m'a énormément aidé : alors pour ceux que ça intéresse :

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
 
<script type="text/javascript">
<?php 
	  $separateur = "|";
 
	  // Traitement par iterations de nbItems
	  for($j=1;$j<=$nbItems;$j++){
 
	  	$k = $j-1;
	  	$_hotels   = "arrHotel[$k]";
	   	$_produits = "_arrProducts$j";
	    $_compteur = "_countArrProduct$j";
 
	  //------------------------------------------------------------------
	  echo $_hotels . ' = new Array('."\n";     
 
	  for($i=0;$i<${$_compteur};$i++){
 
	  	if ($i != (${$_compteur}-1)){
	      	echo '"'.${$_produits}[$i]['availpro_id'].$separateur.
	  				 ${$_produits}[$i]['name'].$separateur.
		    	 	 Hgp_Lib_Tools::drawStarsHomeTxt(${$_produits}[$i]['nb_etoile']).'"'.','."\n";
	    } else {
	    	echo '"'.${$_produits}[$i]['availpro_id'].$separateur.
	    			 ${$_produits}[$i]['name'].$separateur.
		    	     Hgp_Lib_Tools::drawStarsHomeTxt(${$_produits}[$i]['nb_etoile']).'"'."\n";
	    }
	  }
 
	  echo ");\n\n";
	  echo 'console.log("Valeur'.$j.'", '.$_hotels.');'."\n\n";
	  }  
 
?>
</script>
bpdelavega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 17h10   #18
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
pourquoi t'utilises pas le JSON c'est fait pour
__________________
http://blog.stealth35.com/
stealth35 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 19h38.


 
 
 
 
Partenaires

Hébergement Web