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

SQL Procédural MySQL Discussion :

Méthode récupération jeu de résultats en PHP


Sujet :

SQL Procédural MySQL

  1. #1
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut Méthode récupération jeu de résultats en PHP
    Salut a tous,

    Je vais vous montrer ma methode pour récupérer plusieurs ligne d'une tables a plusieurs colonne et vous allez me dire si c'est celle qui est conseill" (la plus rapide en vitesse de calcul):

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for($i=0;$i<$pageaaffiche;$i++)   //Récupération de tout les champs des news
    		{
    			$row=mysql_fetch_array(mysql_query("SELECT * FROM `news` ORDER BY `id` DESC LIMIT $limiteinf,$pageaaffiche"));
    			$id[$i]=$row['id'];
    			$Titrenews[$i]=$row['Titre'];
    			$Posteur[$i]=$row['Posteur'];
    			$Textenews[$i]=decodeBB(nl2br(str_replace("\\","",$row['news'])));
    			$Datenews[$i]=$row['Date'];
    			$imggauchenews[$i]=$row['imagegauche'];
    			$imgdroitenews[$i]=$row['imagedroite'];
    			$typenews[$i]=$row['typenews'];
    		}
    Y'a-y mieu (en évitant la boucle en récupérant d'un coup toute les ligne et toutes les colonnes?).

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: Ma methode est-elle celle a aplliqué?
    C'est ça que tu essayes de faire? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $res = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT $pageaaffiche") or die (mysql_error()) ;
     
    while ( $row=mysql_fetch_array($res) ) {
      $id[]        = $row['id'] ;
      $Titrenews[] = $row['Titre'] ;
      $Posteur[]   = $row['Posteur'] ;
      $Textenews[] = decodeBB(nl2br(str_replace("\\","",$row['news']))) ;
      $Datenews[]  = $row['Date'] ;
      $imggauchenews[] = $row['imagegauche'] ;
      $imgdroitenews[] = $row['imagedroite'] ;
      $typenews[]  = $row['typenews'] ;
    }

  3. #3
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    je vais essayer.

    A votre avis laquelle des 2 est la plus rapide?
    Surement la deuxieme car on ne fait qu'une requette alors que avec le for on fait n requette.

  4. #4
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    peut etre ca est bien aussi: ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $req=mysql_query("SELECT * FROM `news` ORDER BY `id` DESC LIMIT $limiteinf,$pageaaffiche")
    for($i=0;$i<$pageaaffiche;$i++)   //Récupération de tout les champs des news
          {
             $row=mysql_fetch_array($req);
             $id[$i]=$row['id'];
             $Titrenews[$i]=$row['Titre'];
             $Posteur[$i]=$row['Posteur'];
             $Textenews[$i]=decodeBB(nl2br(str_replace("\\","",$row['news'])));
             $Datenews[$i]=$row['Date'];
             $imggauchenews[$i]=$row['imagegauche'];
             $imgdroitenews[$i]=$row['imagedroite'];
             $typenews[$i]=$row['typenews'];
          }

  5. #5
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    J'ai fait un bench pour ces 2 methode (inclu dans une boucle a 10000 itérations, puis j'ai fait la moyenne de sur 10 test).

    Il s'avere que la methode avec le for est plus rapide que la methode avec le while:

    avec le for: 0,000449529 s

    avec le while: 0,000476545 s


    (c'est le temps juste pour l'exécution)

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

Discussions similaires

  1. problème de récupération du paramètre url en php
    Par akazim dans le forum Langage
    Réponses: 6
    Dernier message: 08/02/2007, 19h00
  2. [Tableaux] Jeu "instant gagnant" en PHP
    Par pas30 dans le forum Langage
    Réponses: 12
    Dernier message: 02/01/2007, 10h16
  3. Réponses: 3
    Dernier message: 20/10/2006, 09h36
  4. Réponses: 8
    Dernier message: 30/04/2006, 15h42
  5. Récupération d'un Select en PHP
    Par Rekiem dans le forum Langage
    Réponses: 3
    Dernier message: 13/04/2006, 14h57

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