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 :

cumuler deux requête


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut cumuler deux requête
    Bonjour

    voilà je réalise deux requete et j'aimerai les fussioner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $query 1 ="select [...]";
    $requete1 = mysql_query($query 1);
    			if (mysql_num_rows($requete1) <= 2) { 
    				$query 2 ="select [...]"
    			}
     
     
    $requete2 = mysql_query($query 2);
    Comment puis je cumuler les deux requête, sachant qu'elle porte sur les même champs.
    j'ai essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $requete1 = mysql_query($query 1);
    $requete1 .= mysql_query($query 2);
    Mais ce ne semble pas fonctionner.
    j'ai aussi essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $requete1 = array_merge((array)$requete1, (array)$requete2);
    Je vous remercie

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    UNION (ALL) de vos deux requêtes, tout simplement ?

    Mais inutile de chercher à agir sur des ressources (le résultat de mysql_query), ce n'est pas à ce niveau que vous pourriez le réaliser. Sinon il faut d'abord rapatrier leurs lignes respectives pour les fusionner. A moins d'utiliser PDO, et de créer un MultipleIterator pour encapsuler les PDOStatement (à tester et il y a toujours le même principe en passant par fetchAll).

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut
    Non une union n'ira pas puisque je teste d'abord je nombre de résultat rétourner, et seulement si le nombre de résultat de la requête 1 est inférieur à X on ajoutera les resultat de la requête 2

    J'ai pas compris ce qu'était PDO.

    Mais je vais rester sur ma première solution.
    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
     
    $query 1 ="select [...]";
    $requete1 = mysql_query($query 1);
     
    $num_products_cross = mysql_num_rows($requete1);
    if ($num_products_cross <= 3) { 
    $prod_manq = 3 - $num_products_cross;
    	$query 2 ="select [...] limit $prod_manq"
    }
    $requete2 = mysql_query($query 2);
     
    $num_products_cross_plus = mysql_num_rows($requete2);
    if ($num_products_cross_plus < $prod_manq) { 
    	$prod_manq_2 = $prod_manq - $num_products_cross_plus;
    	$query 3 ="select [...] limit $prod_manq_2"
    }
    $requete3 = mysql_query($query 3);			
     
    while ($r1 = tep_db_fetch_array($requete1)) {
    	Traitment sur $r1[..]
    }
     
     
    if ($num_products_cross <= 3) { 
    	while ($r2 = tep_db_fetch_array($requete2)) {
    		Traitment identique $r2[..]
    	}
    }
     
    if ($num_products_cross_plus < $prod_manq) { 
    	while ($r3 = tep_db_fetch_array($requete3)) {
    		Traitment identique $r3[..]
    	}
    }
    Ce qui n'est vraiment pas propre

Discussions similaires

  1. [PostGreSQL] Trier une liste ayant deux requêtes comme source
    Par Mat_DZ dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 09/08/2006, 10h51
  2. Comparer le contenu de deux requêtes
    Par Floch dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2006, 11h43
  3. [MySQL] Afficher deux requêtes en deux colonnes
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 21/11/2005, 11h19
  4. Mixer deux requêtes
    Par WriteLN dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/11/2005, 09h34
  5. Afficher le ratio du résultat de deux requêtes
    Par decour dans le forum Access
    Réponses: 25
    Dernier message: 07/11/2005, 19h54

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