IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

for dans une requete [$i] ?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 131
    Par défaut for dans une requete [$i] ?
    J ai un petit probleme je recupère les id via une requete sql ca me donne 12345
    le truc c'est que je voudrais me servir de ces id 1 2 3 4 5 pour une deuxieme requete sql

    j ai penser a un for avec i qui prends une des valeurs 5 3 1 2 4 mais ça fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php 
    	$name= addslashes($_GET['name']);
    	$retour = mysql_query("
    	SELECT ".$f.".id_studio
    FROM ".$f."");
    	while ($donnees = mysql_fetch_array($retour))
    	{ 
    			$alpha=$donnees['id_studio'];
    			echo $alpha;      alpha donne 23145
    	}
    	$nb = mysql_num_rows($donnees);
     
    		if ($name=='~') 
    				{
    					$name3='%';
    				}
    			else 
    				{	
    				$name3 = addslashes($_GET['name']).'%';
    				}
     
    			 if ($name == '#' )
    				 {
    				 $requete = "SELECT * FROM ".$f." WHERE nom REGEXP '^[0-9].*' ORDER BY nom";
    				 }
    				 else
    				 {
    				 for($i=0;$i<$nb;$i++) // pb ici 
    				 {
    				$retour = mysql_query('SELECT nom,url,pays
    		FROM studio
    		LEFT JOIN '.$f.' ON '.$f.'.id_studio = studio.id_studio
    		WHERE studio.id_studio ='.$alpha[$i].' AND nom LIKE "'.$name3.'" GROUP BY nom;');
    				}
    			while ($donnees = mysql_fetch_array($retour))
    		{ 
    $img=$donnees['pays'];
    ?>	
    blablabla html 
    <?php 
    	} // Fin de la boucle de la liste du studio
    close();
    ?>

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Le plus simple est encore d'utiliser un tableau pour stocker les valeurs récupérées par ta première requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $alpha[]=$donnees['id_studio'];
    Et ensuite de l'utiliser soit dans une boucle, soit via un implode pour créer par exemple une condition IN dans ta requête...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 131
    Par défaut
    C est à dire comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php 
    	$name= addslashes($_GET['name']);
    	$retour = mysql_query("
    	SELECT ".$f.".id_studio
    FROM ".$f."");
    	while ($donnees = mysql_fetch_array($retour))
    	{ 
    			$alpha[]=$donnees['id_studio'];
    	}
    	$nb = mysql_num_rows($donnees);
     
     for($i=0;$i<$nb;$i++) // 
    				 {
    				$retour = mysql_query('SELECT nom,url,pays
    		FROM studio
    		LEFT JOIN '.$f.' ON '.$f.'.id_studio = studio.id_studio
    		WHERE studio.id_studio ='.$alpha[$i].' AND nom LIKE "'.$name3.'" GROUP BY nom;');
    				}
    			while ($donnees = mysql_fetch_array($retour))
    		{ 
    $img=$donnees['pays'];
    ?>	
    blablabla html 
    <?php 
    	} // Fin de la boucle de la liste du studio
    close();
    ?>

Discussions similaires

  1. Comment transformer une balise xml dans une requete xsl:for-each
    Par Max1000p dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 07/06/2012, 09h46
  2. [MySQL] Boucle FOR dans une requete Mysql
    Par skins dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/11/2011, 19h04
  3. Boucle For dans une requete SQL
    Par laurent0 dans le forum Général Python
    Réponses: 2
    Dernier message: 10/08/2011, 17h41
  4. [MySQL] Boucle for dans une requete avec jointure
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/02/2010, 15h12
  5. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo