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 :

Relancer une requête SQL plusieurs fois


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 32
    Par défaut Relancer une requête SQL plusieurs fois
    Bonjour à tous,

    J'ai un problème d'optimisation pour lancer plusieurs fois la même requête SQL qui génère un RANDOM sur ma table. En effet, je relance 5 fois ma requête SQL mais mon code actuel est vraiment pas optimisé, pouvez-vous m'aider ?
    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
    <?php
    $marequete = mysql_query("SELECT `ma_table_id` FROM `ma_table` JOIN (SELECT FLOOR(COUNT(*) * RAND()) AS ValeurAleatoire FROM `ma_table`) AS V ON `ma_table`.`ma_table_id` = V.ValeurAleatoire");
    $resultat = mysql_fetch_array($marequete);
    $id .= $resultat['ma_table_id'].' ';
    echo $id;
    $marequete = mysql_query("SELECT `ma_table_id` FROM `ma_table` JOIN (SELECT FLOOR(COUNT(*) * RAND()) AS ValeurAleatoire FROM `ma_table`) AS V ON `ma_table`.`ma_table_id` = V.ValeurAleatoire");
    $resultat = mysql_fetch_array($marequete);
    $id .= $resultat['ma_table_id'].' ';
    echo $id;
    $marequete = mysql_query("SELECT `ma_table_id` FROM `ma_table` JOIN (SELECT FLOOR(COUNT(*) * RAND()) AS ValeurAleatoire FROM `ma_table`) AS V ON `ma_table`.`ma_table_id` = V.ValeurAleatoire");
    $resultat = mysql_fetch_array($marequete);
    $id .= $resultat['ma_table_id'].' ';
    echo $id;
    $marequete = mysql_query("SELECT `ma_table_id` FROM `ma_table` JOIN (SELECT FLOOR(COUNT(*) * RAND()) AS ValeurAleatoire FROM `ma_table`) AS V ON `ma_table`.`ma_table_id` = V.ValeurAleatoire");
    $resultat = mysql_fetch_array($marequete);
    $id .= $resultat['ma_table_id'].' ';
    echo $id;
    $marequete = mysql_query("SELECT `ma_table_id` FROM `ma_table` JOIN (SELECT FLOOR(COUNT(*) * RAND()) AS ValeurAleatoire FROM `ma_table`) AS V ON `ma_table`.`ma_table_id` = V.ValeurAleatoire");
    $resultat = mysql_fetch_array($marequete);
    $id .= $resultat['ma_table_id'].' ';
    echo $id;
    ?>
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    C'est quoi le but de l'opération ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 32
    Par défaut
    Bonjour Séb, le but et d'améliorer la vitesse de chargement de la page qui prend pas mal de temps. Merci d'avance

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    Je voulais dire : pourquoi ces 5 requêtes ? A quoi servent-elles ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 32
    Par défaut
    Pour afficher 5 films au hasard, c une mini appli intranet que je fais pour ma Médiathèque.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    et en 1 seule requête ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `ma_table_id` FROM `ma_table` ORDER BY RAND() LIMIT 0, 5
    Dernière modification par Bovino ; 17/06/2013 à 08h13.

Discussions similaires

  1. Une requête parsée plusieurs fois
    Par devra dans le forum Administration
    Réponses: 16
    Dernier message: 23/11/2012, 16h51
  2. Exécuter une requête SQL lourde en plusieurs fois
    Par diabli73 dans le forum Général Java
    Réponses: 5
    Dernier message: 10/06/2010, 18h13
  3. [SQL] Une requête dans plusieurs tables
    Par Anduriel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/12/2005, 16h23
  4. Plusieurs jointures dans une requête sql
    Par Pero dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/09/2005, 20h59
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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