Cherche a optimiser une requette MySQL SVP

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par WEBCodeur, 9 Juillet 2011.

  1. WEBCodeur
    WEBCodeur WRInaute discret
    Inscrit:
    13 Mai 2007
    Messages:
    128
    J'aime reçus:
    0
    Bonjour a tous,

    J'ai deux tables qui ne sont pas identiques mais qui ont des champs en commun. Plus précisément les champs qui m’intéressent sont photo1 qui représentent le nom des photos stockées dans un dossier.

    Je souhaite selectionner les 6 dernieres entrées de chacune des tables de ce champs et les affichées aléatoirement.

    Les jointures conviendraient t'elles?

    Merci d'avance !
     
  2. Djibou_Te@M
    Djibou_Te@M WRInaute occasionnel
    Inscrit:
    20 Avril 2010
    Messages:
    406
    J'aime reçus:
    0
    Une jointure sert si il y a un point d'entrée commun entre les deux tables du style je cherche le champ photo 1 fait par "nom de l'auteur" sur mes deux tables. Ici "nom de l'auteur" est la référence commune entre tes deux tables donc jointure.

    Pour ce que tu veux faire, tu fais deux requêtes :

    "SELECT champ_photo1 FROM table_X ORDER BY id_table DESC (0,6)"

    Ou table_X est le nom de ta table 1 ou table 2
    id_table est l'id de la table (qui te donne aussi un ordre d'insertion)
    "DESC" sert à les classer de manière décroissante (pour avoir les dernières en premier)
    (0,6) pour dire que tu en veux que 6
     
  3. WEBCodeur
    WEBCodeur WRInaute discret
    Inscrit:
    13 Mai 2007
    Messages:
    128
    J'aime reçus:
    0
    Tout a fait, ca rejoint bien mes lectures.
    Mais pour l'affichage des 12 en aleatoire ca se complique.

    J'ai tenté un

    $check_all = $bdd->query('SELECT photo1 FROM boys, girls ORDER BY RAND() LIMIT 0,12');

    Ca me retourne un SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'photo1' in field list is ambiguous in

    Hors si pour les test en local je remplace photo1 par *, je n'ai plus d'erreur ...

    Merci a toi.
     
  4. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 740
    J'aime reçus:
    2
    J'irais personnellement voir du côté de UNION ( http://dev.mysql.com/doc/refman/5.0/en/union.html )

    Si tu n'a pas le choix de le faire en 1 seule requête, un truc du genre devrait sélectionner les photos des 12 dernières entrées (pas 6 et 6, mais les 12) :
    (SELECT photo1, dateEntree FROM boys) UNION (SELECT photo1, dateEntree FROM girls) ORDER BY dateEntree DESC LIMIT 12;
    Ensuite les classer aléatoirement quand tu traite ta requête.

    Sinon, je rejoins Djibou_Te@M, je ne vois pas d'autres manières que de le faire en 2 requêtes SQL. Le problème est que tu aurais dû regrouper les infos communes aux 2 tables dans une 3ème table, ça t'aurait faciliter la vie ;)
     
  5. WEBCodeur
    WEBCodeur WRInaute discret
    Inscrit:
    13 Mai 2007
    Messages:
    128
    J'aime reçus:
    0
    [résolu] Cherche a optimiser une requette MySQL SVP

    Yes, super :)
    Merci pour ce tuyau, je connaissait pas encore UNION mais j'vais faire un malheur avec :D !!!

    Voici ce que ca donne en PDO :
    Code:
    $check_all = $bdd->query('SELECT pseudo, photo1 FROM girls UNION SELECT pseudo, photo1 FROM boys ORDER BY RAND() LIMIT 0,12');
    Un tit while et le tour est joué.

    Le client m'a ajouter sans cesse des trucs a ajouter ce qui a mis un peu mon organisation de BDD a mal. J'organiserai ca mieux la prochaine fois.

    Merci bcp en tout les cas!!!
     
  6. WEBCodeur
    WEBCodeur WRInaute discret
    Inscrit:
    13 Mai 2007
    Messages:
    128
    J'aime reçus:
    0
    J'ai pas trouvé comment mettre "resolu", désolé pour tous ^^
     
  7. poulpe
    poulpe WRInaute discret
    Inscrit:
    29 Juin 2004
    Messages:
    88
    J'aime reçus:
    0
    salut.
    Pour le coup je pense qu'une seule table 'user' avec un champ genre (feminin/masculin) te simplifierai la vie...
     
Chargement...
Similar Threads - Cherche optimiser requette Forum Date
Recherche commentaires avisés pour optimiser mon site Demandes d'avis et de conseils sur vos sites 22 Juin 2011
Cherche de la documentation pour apprendre à optimiser mon site Débuter en référencement 24 Octobre 2010
Recherche Rédacteur Web Technique AUTO Rédaction web et référencement Vendredi à 09:51
Recherche conseils et aide pour hébergement Administration d'un site Web 14 Mars 2021
Google Images: URL à la place du titre dans les résultats de recherche YouTube, Google Images et Google Maps 4 Mars 2021
Search Console 2 513 URL Valides -Envoyée et indexée - 20 résultats dans la recherche google Crawl et indexation Google, sitemaps 28 Janvier 2021
Description Vide dans recherche Google Référencement Google 19 Janvier 2021
Robots : n'autoriser que les 4 ou 5 moteurs de recherche principaux Crawl et indexation Google, sitemaps 15 Janvier 2021
Quel seuil minimal de volume de recherches pour un mot-clé ? Débuter en référencement 29 Décembre 2020
La recherche de mot clé Débuter en référencement 19 Décembre 2020