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

  FORUM HardWare.fr
  Programmation
  PHP

  array un peu spécial (mysql inside)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

array un peu spécial (mysql inside)

n°1651832
mobyfab
The power of dreams.
Posté le 02-12-2007 à 16:22:38  profilanswer
 

Hello !
 
je suis en train de coder un site et j'avoue bloquer sur un probleme...
 

Code :
  1. mysql> select * FROM languages;
  2. +----+---------+-----------+--------+
  3. | id | name    | shortname | flag   |
  4. +----+---------+-----------+--------+
  5. |  1 | English | en        | en.png |
  6. |  2 | French  | fr        | fr.png |
  7. |  3 | German  | de        | de.png |
  8. |  4 | Spanish | es        | es.png |
  9. |  5 | Russian | ru        | ru.png |
  10. +----+---------+-----------+--------+
  11. 5 rows in set (0.00 sec)
  12. mysql> select * FROM users;
  13. +----+-------------+----------------------------------+--------------------------+--------+------------+------------+------+--------------------------+----------+-------+
  14. | id | username    | password                         | email                    | avatar | regdate    | last_login | rank | fullname                 | language | title |
  15. +----+-------------+----------------------------------+--------------------------+--------+------------+------------+------+--------------------------+----------+-------+
  16. |  1 | admin       | 21232f297a57a5a743894a0e4a801fc3 | admin@blabla.com    | none   | 0000-00-00 | 02/12/2007 |    5 | Webadmin                 | 2       | TL    |
  17. (je n'ai mis que le premier utilisateur)


Code :
  1. $query_languages = "SELECT * FROM languages";
  2. $languages = mysql_query($query_languages, $qa) or die(mysql_error());
  3. do
  4. $curlangid = $row_languages['id'];
  5. $curlangshortname = $row_languages['shortname'];
  6. $query_posters = "SELECT id, username, language FROM users WHERE language = '$curlangid' ORDER BY username ASC";
  7. $posters = mysql_query($query_posters, $qa) or die(mysql_error());
  8. $row_posters = mysql_fetch_assoc($posters);
  9. } while ($row_languages = mysql_fetch_assoc($languages));
  10.   $rows = mysql_num_rows($languages);
  11.   if($rows > 0) {
  12.       mysql_data_seek($languages, 0);
  13.   $row_languages = mysql_fetch_assoc($languages);
  14.    }


 
j'ai donc une liste de langues et d'utilisateurs dans deux tables mysql, et j'aimerai generer plusieurs arrays contenant la liste des utilisateurs, un pour chaque langue.
 
par exemple, un array avec les utilisateurs anglais qui serai $row_en_posters, un avec les utilisateurs français $row_fr_posters. etc, autant qu'il y as de langues.
comment faire pour que le nom de la variable change à chaque fois ? et est ce que je pourrais bien l'utiliser apres ? (hors du do-while)
 
$row_.$curlangshortname._posters ? (ça m'etonnerai que ça fonctionne mais c'est pour donner un exemple de ce que je souhaite)
 
le but c'est d'afficher une liste d'utilisateurs pour chaque langue, à utiliser dans plusieurs menu déroulants.
 
$curlangshortname contient les initiales de chaque langue (en, fr, de etc..)
 
je suis peut etre completement à coté de la plaque, c'est pour ça que je demande...  
 
si vous pouviez me guider un peu sur ce coup là ça serai sympa
 
merci!

mood
Publicité
Posté le 02-12-2007 à 16:22:38  profilanswer
 

n°1651837
flo850
moi je
Posté le 02-12-2007 à 16:54:58  profilanswer
 

pourquoi ne ferai tu pas un seul tableau
$t_utilisateurs[$langue] = tableau de tous les utilsiateurs qui tuilisent une langue

n°1651840
mobyfab
The power of dreams.
Posté le 02-12-2007 à 17:04:23  profilanswer
 

flo850 a écrit :

pourquoi ne ferai tu pas un seul tableau
$t_utilisateurs[$langue] = tableau de tous les utilsiateurs qui tuilisent une langue


 
et apres pour extraire le nom d'utilisateurs il faudra utiliser quoi par exemple ?
 
$t_utilisateurs[$langue]['username'] ?

n°1651860
flo850
moi je
Posté le 02-12-2007 à 18:23:36  profilanswer
 

Code :
  1. foreach($t_utilisateurs[$langue]['username']  as $langue=>$t_)
  2. {
  3.         echo 'liste des utilisateurs de '.$langue.' :';
  4.         foreach($t_ as $utilisateur)
  5.         {
  6.               echo $utilisateur.'<br>';
  7.          }
  8. }


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

  array un peu spécial (mysql inside)

 

Sujets relatifs
probleme de quote mysql / php[Resolu] Activer la fonction mail
[Mysql] Biblitohèque mysql[MySql] Trigger structure conditionnelle [Résolu]
Comparatif Mysql / postgre[php/mysql] Ajout d'un prix variable dans le panier
langue arabe et mysql[php/Mysql] requete à partir d'une requete
probleme mysql + droitsRemplacer fonction mysql par odbc dans script
Plus de sujets relatifs à : array un peu spécial (mysql inside)


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