8791 sujets

Développement web côté serveur, CMS

Bonjour , cela fait 2 heure que je cherche mais rien , j'essaye de mettre un while qui contact l'autre while.

Mon code :


<?php
$idp = Securite::bdd($_GET['id']);

$account_1 = "SELECT * FROM membres_team WHERE id=".$idp."");
$account_2 = mysql_query($account_1) or die(mysql_error());
$account_3 = mysql_fetch_array($account_2);
$account_4 = "$account_3['manager']";

$retour1 = mysql_query('SELECT * FROM membres_team WHERE id='.$idp.'');
$retour2 = mysql_query('SELECT * FROM membres_total WHERE id='.$idp.'');
$retour = mysql_query('SELECT * FROM membres WHERE pseudo='.$account_4.'');
while ($infos1 = mysql_fetch_array($retour1))
while ($infos2 = mysql_fetch_array($retour2))
while ($infos = mysql_fetch_array($retour))
{
?>


En espérant une réponse. Smiley bawling
Modifié par blackdown (23 Apr 2009 - 03:56)
Il ne manque pas tout plein de '{' et de '}' ?

Comme ça, ça devrait aller mieux aussi, non ?



$retour1 = mysql_query('SELECT * FROM membres_team WHERE id='.$idp.'');
while ($infos1 = mysql_fetch_array($retour1)) {
  $retour2 = mysql_query('SELECT * FROM membres_total WHERE id='.$idp.'');
  ...
  while ($infos2 = mysql_fetch_array($retour2)) {
    $retour = mysql_query('SELECT * FROM membres WHERE pseudo='.$account_4.'');
    while ($infos = mysql_fetch_array($retour)) {
    ...
    }
  }
}


En espérant que ça aide.
Modifié par kurt11 (23 Apr 2009 - 08:26)
quand j'ajoute

$account_1 = "SELECT * FROM membres_team WHERE id=".$idp."");
$account_2 = mysql_query($account_1) or die(mysql_error());
$account_3 = mysql_fetch_array($account_2);
$account_4 = "$account_3['manager']";

le script cesse de fonctionner , auriez vous une idée d'ou vien le problème ?
C'est bon j'ai reussit mais maintenant les données refusent de s'afficher

<?php
$idp = Securite::bdd($_GET['id']);

$retour1 = mysql_query('SELECT * FROM membres_team WHERE id='.$idp.'');
while ($infos1 = mysql_fetch_array($retour1)) {

  $retour2 = mysql_query('SELECT * FROM membres_total WHERE id='.$idp.'');
  while ($infos2 = mysql_fetch_array($retour2)) {

    $retour = mysql_query('SELECT * FROM membres WHERE pseudo='.$infos1['manager'].'');
    while ($infos = mysql_fetch_array($retour)) {

?>

Modifié par blackdown (23 Apr 2009 - 13:23)
je pense que c'est une mauvaise idée... regarde combien de fois tu execute la requete

"SELECT * FROM membres WHERE pseudo='.$infos1['manager']"

j'ai quand meme une question :

qu'est censé faire ton code?

la réponse est 42...
Modifié par blackkus (23 Apr 2009 - 15:27)
Il y a trois requettes différente dont une qui a besoin de l'autre. Mes requette sont sencé afficher les informations sur le manager de sa team et afficher des informations sur la team.
Salut,

si tu n'es pas plus explicite (notamment en ce qui concerne la structure et le contenu des tables) je ne vois pas comment on pourrait t'aider. Smiley rolleyes

Par exemple, un id est généralement unique et il est donc inutile de faire une boucle while pour tes 2 premières requêtes alors qu'elles ne retournent à priori qu'un résultat. Il semble d'ailleurs que la 3ème requête ne retourne elle aussi qu'un résultat...

D'autre part tu fais plusieurs requêtes alors qu'une (des) jointure(s) serai(en)t certainement bien plus simple(s)...


Pour résumer il faudrait probablement revoir les bases de PHP/Mysql (Google fournit tout plein de tutos la dessus) et jeter un oeil aux jointures.
Modifié par Heyoan (24 Apr 2009 - 09:54)