Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1891 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  boucle en php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

boucle en php

n°2149894
Ellia
Peace and Love
Posté le 19-07-2012 à 15:19:21  profilanswer
 

bonjour à tous,
 
alors je vous expose mon probleme, j'ai une table qui se présente ainsi :
 
 

Code :
  1. Matable
  2. id                             code
  3. tomate                        rouge
  4. tomate                        verte
  5. rose                            blanche
  6. rose                            jaune
  7. ...                                             ...


Et je voudrais, remplir une "string" de cette maniere :
 
$MaString =
 
Ma valeur est "id" et ses couleurs sont "rouge"
et ses couleurs sont "verte"
... !!!
 
Ma valeur est "id2" et ses couleurs sont ""
.... !!!
 
;
voilà, je voudrai écrire une seule fois "id" mais avec tous ses codes?
auriez vous une idée de boucle à faire pour cela?

mood
Publicité
Posté le 19-07-2012 à 15:19:21  profilanswer
 

n°2149899
KLeMiX
Laisse pas trainer ton site
Posté le 19-07-2012 à 15:39:19  profilanswer
 

C'est un tableau ou une table SQL ?


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
n°2149900
Ellia
Peace and Love
Posté le 19-07-2012 à 15:47:50  profilanswer
 

Ce que je veux, c'est crée un script qui permet de reprendre les valeurs de ma table!

n°2149905
rufo
Pas me confondre avec Lycos!
Posté le 19-07-2012 à 16:35:08  profilanswer
 

Un id est unique : comment ça se fait qu'il y'a des entrées avec le même id du coup :??:
 
On devrait normalement avoir une table avec les ID et qq infos dessus et ne table couleur (en relation 1-n avec la première table), contenant les couleurs de chaque id...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2149906
KLeMiX
Laisse pas trainer ton site
Posté le 19-07-2012 à 16:36:40  profilanswer
 

Merise est mort :o


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
n°2149907
Ellia
Peace and Love
Posté le 19-07-2012 à 16:47:37  profilanswer
 

On va dire que Id n'est pas unique !!!! :)

n°2149908
KLeMiX
Laisse pas trainer ton site
Posté le 19-07-2012 à 16:49:41  profilanswer
 

Mais tu as une ou 2 table ?


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
n°2149915
Ellia
Peace and Love
Posté le 19-07-2012 à 17:09:35  profilanswer
 

j'ai une seule table!!!

n°2149917
KLeMiX
Laisse pas trainer ton site
Posté le 19-07-2012 à 17:20:32  profilanswer
 

Commence par faire un truc propre avec 2 tables une pour définir ton végétal et une autre pour attribué les couleurs.

 

C'est pas plus long de faire propre.

 

Ensuite tu fais une bête requête avec jointure:

 

Select v.nom_vegetal, c.couleur from vegetal v,couleur c
where v.id_vegetal=c.id_vegetal
order by 1

 


Message cité 1 fois
Message édité par KLeMiX le 19-07-2012 à 17:20:49

---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
n°2150165
mrbebert
Posté le 20-07-2012 à 21:55:06  profilanswer
 

On devrait s'en sortir avec GROUP_CONCAT :)  
SELECT id, GROUP_CONCAT(code)
FROM MaTable$
GROUP BY id;
 
(à voir pour la syntaxe précise)


---------------
Doucement le matin, pas trop vite le soir.
mood
Publicité
Posté le 20-07-2012 à 21:55:06  profilanswer
 

n°2150195
zebeps
Posté le 21-07-2012 à 11:09:42  profilanswer
 

KLeMiX a écrit :

Commence par faire un truc propre avec 2 tables une pour définir ton végétal et une autre pour attribué les couleurs.
 
C'est pas plus long de faire propre.
 
Ensuite tu fais une bête requête avec jointure:
 
Select v.nom_vegetal, c.couleur from vegetal v,couleur c
where v.id_vegetal=c.id_vegetal
order by 1
 
 


 
Pourquoi tu veux faire 2 tables pour stocker des données sur 2 colonnes ?
Une clé primaire serait suffisante... 3 colonnes, pkid, nom_vege, color_vege
 
Si mon php n'est pas trop rouillé, ça marcherait comme ça :
 
$sql = "select count(*) as total from matable";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
$it=$row['total'];
 
for ($i=1;$i<=$it;$i++) {
     
$sql = "select nom_vege from matable where pkid=$i";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
$mastring="Ma valeur est $row['nom_vege'] et ses couleurs sont $row['color_vege']";
}

n°2150197
rufo
Pas me confondre avec Lycos!
Posté le 21-07-2012 à 11:36:35  profilanswer
 

parce qu'il a dit qu'un végétal pouvait avoir plusieurs couleurs, donc relation 1-n, donc 2 tables :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2150206
zebeps
Posté le 21-07-2012 à 13:22:45  profilanswer
 

rufo a écrit :

parce qu'il a dit qu'un végétal pouvait avoir plusieurs couleurs, donc relation 1-n, donc 2 tables :o


 
ha ok, toutes mes excuses, j'avais pas vu qu'il y avait 2 couleurs... enfin, j'ai quand même l'impression d'utiliser un bazooka pour tuer un moustique  
 
C'est pas super nickel joli mais couleur1, couleur2 (avec couleur2 pouvant être NULL), ça le fait aussi surtout pour un débutant...
 
Tu rajoutes juste un  
 
if (is_null($row['color2'])) {
   $mastring="Ma valeur est $row['nom_vege'] et sa couleur est $row['color1]";  
} else {
   $mastring="Ma valeur est $row['nom_vege'] et ses couleurs sont $row['color1] et $row['color2]";
}
 
dans la boucle for...
 
Par contre, s'il y a plus de 2 couleurs, effectivement, il n'y pas le choix, il faut 2 tables + jointure (sans oublier la clé étrangère dans la table couleurs ;) )


Message édité par zebeps le 21-07-2012 à 13:25:22
n°2150374
KLeMiX
Laisse pas trainer ton site
Posté le 23-07-2012 à 13:38:35  profilanswer
 

Et si demain tu rajoutes une 3 couleurs tu recodes tous ?? (les tomates sont vertes, rouges ou jaunes)
 
C'est pas plus long de faire propre des le début.


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
n°2150390
rufo
Pas me confondre avec Lycos!
Posté le 23-07-2012 à 14:05:55  profilanswer
 

+1 pour la méthode propre. Ca lui apprendre les "bonnes manières" dès le début...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  boucle en php

 

Sujets relatifs
[Excel - Macro] Boucle Do, trouver l'erreur...Optimiser une boucle en OpenCL
Lire un fichier en Shell avec une boucletemps maximum par tour de boucle php
[boucle PHP remplissage tableauExcel ( macro pour un pourcentage avec boucle) resolu
besoin d'aide pour une opération qui demane une boucleBoucle While dans un script Ksh
Problème boucle while[Shell/Dos] Pipe dans une boucle FOR
Plus de sujets relatifs à : boucle en php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR