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 :

Résultat d'une requête (array) [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 58
    Par défaut Résultat d'une requête (array)
    Bonjour,

    Suite à un premier post ce matin même pour une requête qui au final est trop lourde je pensais procéder autrement.

    En résumé : je génère un flux xml de commande et je dois ajouter une note a une balise du type "non risque" Ex : des produits appartiennent à des familles dite non risquée et d'autres a des familles dites risquées

    pour cela je réalise donc une requête sur la table concernée pour récupérer l'ensemble des familles[Résolu]

    j'aimerai retourner le résultat dans un tableau (donc utiliser mysql_fetch_array) et depuis ce tableau "exclure" ? "différencier" ? la dizaine de famille considérée comme risqué afin de pouvoir les utiliser dans des conditions.

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Soit tu fais deux requetes avec tes conditions et tu recuperes deux tableaux, soit tu fais une seule requete et tu tries tes elements en parcourant ton tableau
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 58
    Par défaut
    Merci de ta réponse,

    Je prends donc la solution je fais une requête qui me donne le résultat du seul et unique champ selectionné en l'occurence Famille

    je récupère donc le résultat dans un tableau,

    en partant de ce principe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	while ($row = mysql_fetch_array($req, MYSQL_NUM))
    	{
    		printf( $row[0]);
    	}
    	mysql_free_result($req);
    j'affiche le contenu du champ voulu de ma table sur une seule ligne
    comment exploiter celle-ci et en extraire les bonnes familles avec un tri ?

    j'ai un certain nombre de famille qui sont considérées comme risquées

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Dans ta db , tu as bien un champ qui te permet de savoir si la famille est risqué ou non ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 58
    Par défaut
    Non justement.

    Dans la première requête je ne sélectionnais que les bonnes familles. Mais point de vue perf c'est pas le top.

    La je pensais depuis une simple requête (qui sélectionne le champ famille et récupère l'ensemble de celle-ci) je pourrai mettre le résultat dans un tableau pour en suite trier.

    Càd Isoler les quelques familles qui sont considérées comme risquées ou l'ensemble des familles qui ne le sont pas

    Afin de pouvoir utiliser pour mettre en place des conditions...

    si le produit est risqué... j'utilise cette ligne pour la génération Ou si le produit et non risqué j'utilise une autre...

    Merci

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Peux-tu me donner le post où tu parles de cette requète, pour savoir de quoi on parlent exactement ?

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Ok, j'ai reçu le lien.

    Par contre, je pense que faire le bon select est la meilleur solution, c'est dire que directement tu auras les bonne données, si tu as un problème de perfs, il faut voir comment améliorer cela.

    Sinon de ta façon de faire il faudrais faire un truc dans le genre

    1 faire la requete
    2 faire une boucle sur le resultat
    3 a chaque itération créer un switch qui va permettre d'éliminer les familles non voulue
    4 si ça passe le switch mettre dans un tableau

    dans ce cas tu fais plusieurs fois le boulot, au niveau perf, cela va être galère aussi.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 58
    Par défaut
    Après réflexion je pense qu'il y a beaucoup plus simple à mon problème

    Récupérer dans ma requête uniquement les familles dites risquées

    mettre ce résultat dans un tableau et ensuite venir tester sur celui-ci

  9. #9
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Citation Envoyé par Nick_Rivers Voir le message
    Après réflexion je pense qu'il y a beaucoup plus simple à mon problème

    Récupérer dans ma requête uniquement les familles dites risquées

    mettre ce résultat dans un tableau et ensuite venir tester sur celui-ci
    Ca fais une étape supplémentaire, à mes étapes citée plus haut.

    tu auras dans ce cas deux requêtes SQL, dont une avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE products_family IN ('badfamily1', 'badfamily2' ...)
    alors qu'ici tu as directement le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE products_family NOT IN('badfamily1', 'badfamily2' ...)
    Mais bon c'est toi qui vois !

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 58
    Par défaut
    Suite et fin

    J'ai donc fait une requête qui selectionne l'ensemble des familles et le reste des jointures etc...

    indépendamment j'ai créé un tableau de mes familles dites risquées

    J'effectue donc mes tests ainsi, le produit est testé si il fait partie de la famille risquée ma ligne dans mon flux reste intact si il n'est pas risqué j'ajoute alors "non risque" en plus dans la ligne.

    Merci pour vos réponses !

    @MaitrePylos Merci pour ton temps !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparer le résultat d'une requête
    Par VirginieGE dans le forum ASP
    Réponses: 3
    Dernier message: 10/08/2004, 15h15
  2. Arrondir le résultat d'une requête
    Par wautierp dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/06/2004, 11h56
  3. Résultat d'une requête dans une variable...
    Par Hoegaarden dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/04/2004, 13h51
  4. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 15h22
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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