boucles PHP

phenol

Nouveau WRInaute
Bonjour a tous,

je commence juste en php et j'ai un petit probleme,
J'ai une table dont les colonnes sont nommées P1, P2 ,P3 .... P100.
Je voudrais affiche un ligne particulier avec une boucle qui incremente sur le numero des colonnes

Je n'y arrive pas, je pense que le probleme vient de ma maniere d' ecrire les nom des colonnes avec l'increment.

Pourriez vous de dire si vous savez comment faire?

merci beaucoup d'avance
 

phenol

Nouveau WRInaute
Merci pour ta reponse

Mon probleme est d 'arrive a faire comprendre au programme que $P.$i est le nom de la i eme colonne Pi

a tu une idee?
 

kali_

WRInaute discret
www.nexen.net pour les aides sur le php.

pour consulter la valeur d'un tableau en php, le nom du tableau est ici : tab ca donne :

Code:
$tab[0] = "valeur1";
$tab[1] = "valeur2";

apres avec ta boucle qui fait varier $i ca donne :

Code:
$resultat = $tab[$i];


Kali_
 

mublog

Nouveau WRInaute
Il faut utiliser les variables dynamiques :
$colonne = 'P'.$i++;
et tu récupéres ta valeur avec $table[$$colonne] (oui, y'a bien 2 &)
 

Genzo

WRInaute impliqué
Il y a plusieurs methodes pour faire ça vu qu'il y a au moins une ligne au tableau.
J'en connais 3 :
- boucle POUR (minimum un passage)
- boucle REPETER ... JUSQU'A (minimum un passage)
- TANTQUE ... FIN TANTQUE (pas de passage obligatoire)

Je propose donc la boucle POUR, qui est la mieux étudiée vu qu'on connait le nombre de lignes (ici 100).

Code:
for ($i = 1; $i <= 100; $i++) {

  echo "Ligne ". $i ." : ". $tableau[$i] . "<br />";

}

Ce n'est pas plus compliqué.

De plus, je conseille fortement de télécharger le manuel officiel PHP en Français au format chm (format aide), bien utile quand on recherche une fonction.
 

webadev

WRInaute discret
Que veux tu faire exactement ?

Tu veux des variables du type >> $Px >> x etant de 1 à 100 ?
Tu veux placer les valeurs des colones dans variables ?
Tu veux utiliser des tableaux ?
 

gorgu

WRInaute occasionnel
à prioris c'est une erreur de conception.
il serait bien d'expliquer se que tu cherche a faire.
 

phenol

Nouveau WRInaute
Merci pour vos reponse,

mon code php d origine est du genre:

// Connexion

$result = mysql_query("SELECT * FROM Table");

while($row = mysql_fetch_array($result))
{

for($i = 1; $i <= 100, $i++)
{
echo $row["P" . $i] . "<br>\n";
}

echo "<hr>\n";
}

// Déconnexion

mais il semble que ca ne marche pas parceque "P" .$i il ne le comprend pas comme etant P1, P2, P3 .... le nom que j'ai donne a mes colonnes dans ma Table.
 

webadev

WRInaute discret
Si ta table a toujours la meme structure exemple:

Colone_A Colone_B Colone_C P1 .... P100

tu peux remplacer :
Code:
for($i = 1; $i <= 100, $i++) 
{ 
      echo $row["P" . $i] . "<br>\n"; 
}

Par

Code:
for($i = 3; $i <= 100, $i++) 
{ 
      echo $row[$i] . "<br>\n"; 
}

Tu n'es pas obligé d'utiliser le nom de ta colone, les indices marchent aussi.
 

gorgu

WRInaute occasionnel
reste que c'est une erreur de conception. ;)
pas de clef, pas d'identifiant unique

il vaudrait mieux une table id,p,numero,valeur
 

Discussions similaires

Haut