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

Langage PHP Discussion :

[Tableaux] Tableaux et requetes


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Par défaut [Tableaux] Tableaux et requetes
    Bonjour tout le monde,
    J'ai 2 requetes qui me donnent une liste de 'langue'.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT (produit_web.langue) FROM produit_web
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT (produit.langue) FROM produit
    Parfois on trouve des langues dans une requete et pas dans l'autre ou bien les memes langues dans les 2 requetes.
    Ce que je cherche à faire, c'est afficher toutes les langues mais sans qu'elles soient repetées.
    J'espere que j'etais claire dans ma question.
    J'ai essayé d utiliser les tableaux mais je sais pas comment faire pour distinguer les langues sans qu'elles soient repetées.
    Merci pour vos reponses

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Tu peux construire un tableau avec les langues, tu mets d'abord les résultats de ta première requête dedans, et pour la seconde tu testes si la langue est déjà présente avant de l'ajouter au tableau le cas échéant (c'est peut-être ce qui tu as essayé de faire).

    Il doit y avoir un moyen de faire ça uniquement en SQL mais faut sûrement bidouiller un peu...

  3. #3
    Membre éclairé Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Par défaut
    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
    $req3 = "SELECT DISTINCT (produit.langue)
    	        FROM produit";
    $res3 = mysql_query($req3);
    $nbr3 = mysql_num_rows($res3);
    if($nbr3!=0)
    {
                while($row3 = mysql_fetch_assoc($res3))
    	{
    		$tab1[] = $row3['langue'];
    	}
    }
    $req4 = "SELECT DISTINCT (produit_web.langue)
    	FROM produit_web";
    $res4 = mysql_query($req4);
    $nbr4 = mysql_num_rows($res4);
    if($nbr4!=0)
    {
    	while($row4 = mysql_fetch_assoc($res4))
    	{
    		$tab2[] = $row4['langue'];
    	}
    }
    foreach($tab1 as $tab11)
    {
    	foreach($tab2 as $tab22)
    	{
    		if($tab11==$tab22)	echo 'test '.$tab11;
    	}
    }

  4. #4
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    si j'ai bien compris, je ferais plutot quelque chose comme ca :
    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
     
    $req3 = "SELECT DISTINCT (produit.langue)
    	        FROM produit";
    $res3 = mysql_query($req3);
    $nbr3 = mysql_num_rows($res3);
    if($nbr3!=0)
    {
    	while($row3 = mysql_fetch_assoc($res3))
    	{
    		if (in_array($row3['langue'],$tab1) === false)
    		$tab1[] = $row3['langue'];
    	}
    }
    $req4 = "SELECT DISTINCT (produit_web.langue)
    	FROM produit_web";
    $res4 = mysql_query($req4);
    $nbr4 = mysql_num_rows($res4);
    if($nbr4!=0)
    {
    	while($row4 = mysql_fetch_assoc($res4))
    	{
    		if (in_array($row4['langue'],$tab1) === false)		
    		$tab1[] = $row4['langue'];
    	}
    }
    foreach($tab1 as $tab11)
    {
    	echo 'test '.$tab11;
    }
    tu utilise un seul tableau et avec la fonction in_array tu verifies si la langue est présente ou pas.

  5. #5
    Membre éclairé Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Par défaut
    Merci pour la nouvelle fonction que j'ai jamais utilisé in_array
    Maintenant si je veux qu'on fait pas la difference entre le maj et le min
    car dans le resultat ça me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    français Anglais Français
    Merci

  6. #6
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    si tu veux tout mettre en minuscule tu utilise strtolower ou pour les majuscules tu utilises strtoupper juste avant d'ajouter dans le tableau.

  7. #7
    Membre éclairé Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Par défaut
    C'est bon, je l'ai trouvé
    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
    $tab1[] = "";
    $req3 = "SELECT DISTINCT (produit.langue)
    	FROM produit";
    $res3 = mysql_query($req3);
    $nbr3 = mysql_num_rows($res3);
    if($nbr3!=0)
    {
    	while($row3 = mysql_fetch_assoc($res3))
    	{
    		if (in_array(strtoupper($row3['langue']),$tab1) === false)
    			$tab1[] = strtoupper($row3['langue']);
    	}
    }
    $req4 = "SELECT DISTINCT (produit_web.langue)
    	FROM produit_web";
    $res4 = mysql_query($req4);
    $nbr4 = mysql_num_rows($res4);
    if($nbr4!=0)
    {
    	while($row4 = mysql_fetch_assoc($res4))
    	{
    		if (in_array(strtoupper($row4['langue']),$tab1) === false)		
    			$tab1[] = strtoupper($row4['langue']);
    	}
    }
    foreach($tab1 as $tab11)
    {
    	echo $tab11;
    }
    Merci pour vous tous

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/07/2008, 11h21
  2. [Tableaux] quotes dans requete sql
    Par taki_38 dans le forum Langage
    Réponses: 5
    Dernier message: 11/07/2006, 15h09
  3. Réponses: 3
    Dernier message: 17/06/2006, 23h15
  4. Réponses: 11
    Dernier message: 08/06/2006, 16h53
  5. [Tableaux] Tableaux
    Par kwisach dans le forum Langage
    Réponses: 2
    Dernier message: 16/01/2006, 22h05

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