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 :

Sélection de plusieurs lignes en une requête [Débutant(e)] [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut Sélection de plusieurs lignes en une requête
    Bonsoir!

    Par soucis d'optimisation, je cherche à limiter les connexions @ MySQL.

    Pour cela, j'ai besoin de votre aide:

    Lorsque je fais une requète dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $sql = 'SELECT * FROM users';
     
    $req = mysql_query($sql) or die(mysql_error());
     
    while($user = mysql_fetch_assoc($req))
       {
       //Exploitation des données, lignes par ligne.
       }
    Dans ce cas là, je fais beaucoup de requètes non? Une à chaque while true si j'ai bien compris...

    Si j'ai bien compris, je ne suis pas satisfait.

    En effet, si par exemple je créer un tableau regroupant tous les membres (disons 50) avec certaines infos, je vais devoir faire 50 requètes...

    Y a t-il un moyen plus 'court'?

    Merci bien

  2. #2
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Salut,

    non, ce n'est pas correct ce que tu dis.

    Tu effectureras une seule requête avec ton mysql_query(), qui va te retourner un resultset (en gros, en très gros même, une sorte de tableau avec le résultat de ta requête)
    Ta boucle while va parcourir ce resultset, et récupérer le contenu ligne par ligne avec ton mysql_fetch_assoc();

    Donc je te rassure, y'a une seule requête qui sera effecutée dans ce script.
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    Aaaaaaaaaah!

    Merci!

    Cette confirmation me rassure

    C'est tout ce que je voulais savoir, merci!

    Résolu

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

Discussions similaires

  1. Ajouter plusieurs lignes en une requête si existe pas
    Par gnain dans le forum Développement
    Réponses: 5
    Dernier message: 17/12/2014, 17h29
  2. [AC-2007] Concaténation de plusieurs lignes d'une requête
    Par Thiaume dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 01/06/2012, 09h06
  3. [E-02] Sélection de plusieurs lignes ayant une cellule identique
    Par machintruc84 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/11/2008, 10h17
  4. Plusieurs lignes pour une sous-requête (erreur #1242)
    Par Sieldev dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/08/2007, 01h21
  5. Compter le nombre de lignes d'une requête sélection
    Par oceanediana dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/07/2006, 12h11

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