Probleme et optimisation de requete - SQL/NoSQL - Programmation
Marsh Posté le 07-02-2008 à 20:38:30
Utilise "IN" à la place de tes "="
Code :
|
darknewbie31 a écrit : de plus $itemdb[0] affiche "array". |
C'est normal, c'est toi qui lui demandes. Il te renvoie un Array avec toutes les colonnes de ta table dedans....
Marsh Posté le 07-02-2008 à 22:16:49
Donc si je comprend bien, IN selectionne tout les enregistrement egal au variable inclut dans ma parenthese ?
Excuse ma question un peu bete mais comment j'affiche le resultat ?
Marsh Posté le 07-02-2008 à 22:28:56
darknewbie31 a écrit : Donc si je comprend bien, IN selectionne tout les enregistrement egal au variable inclut dans ma parenthèse ? |
C'est bien ca
darknewbie31 a écrit : Excuse ma question un peu bete mais comment j'affiche le resultat ? |
Tu commences comme tu as fait avec mysql_fetch_assoc et tu le mets dans une boucle while. Ensuite tu parcours ton tableau pour afficher les résultats
Marsh Posté le 07-02-2008 à 22:37:41
Euh je suis pas sur que ca soit ce qui me convient ou alors j'ai mal compris.
voila mon code d'affichage :
Code :
|
Pour l'affichage des items ( la partie avec les if ), ok je voit pour faire une boucle ... mais en prenant en compte l'affichage de la carte ( partie au dessus ), je voit pas vraiment comment faire à part faire en deux partie
En faisant comme ca ca marche par contre est-il possible de classer les resultats par "$resultat['DropXid']" ou x est le numero de l'enregistrement initial ?
Marsh Posté le 09-02-2008 à 11:54:01
utilises EXITS plutot que IN, c'est encore beaucoup plus performant. Attention juste à faire une jointure entre la query de premier niveau et celle enclu dans les parenthèse.
Marsh Posté le 10-02-2008 à 17:39:00
Je ne sais pas si c'est le week end qui fait ca mais je ne comprends rien du tout. Depuis le début, je te réponds au coup par coup aux problèmes que tu rencontres. Mais maintenant, afin de t'aider au mieux, il faudrait peut être expliquer en quoi consiste ton script et qu'elle est la structure de ta table....
Marsh Posté le 10-02-2008 à 20:07:01
Alors la tu a réussi a me perdre xD
Bon en faite j'ai ma base de données qui contient 2 table nécessaire a ce script. Le but est d'afficher les détails d'une de mes tables ( mob_db ) et de changer les "MVPid" ou "DropID" par l'enregistrement respectif dans item_db.
voila la stucture d'une table de ma BDD :
Code :
|
Et voila pour les Items :
Code :
|
Après pour ce qui est du code php, c'est un simple tableau qui affiche mes enregistrement et j'utilise la solution énoncé plus haut avec le IN ( pour le moment ).
Le problème est que par la suite j'aurais des données d'un fichier texte a insérer (une description des mes Dropid)
De plus la requête va dépasser 30 sec, personne attendra 20 plombe pour afficher la page et voir la page planter car la requête est trop longue
Marsh Posté le 10-02-2008 à 20:27:12
ben moi c'est simple, dès que je vois du code PHP illisible dans la catégorie SQL, je ne lis pas le code
Marsh Posté le 10-02-2008 à 20:52:35
ba justement ca ca n'est pas de moi et je ne peux le modifier. (ou alors il faut que je modifie les source d'un programe en entier ^^)
Tout ce qui est structure de la BDD ne peux etre modifier car un programe l'utilise.
Marsh Posté le 11-02-2008 à 13:37:44
Moi j'ai compris ca :
"Tu selectionnes un id dans ta table mod_db, ca te renvoir 10 DropId (Card, 1, 2, 3, ..., 9) et tu veux afficher ta table item_db pour les ids correspondant aux 10 Dropid vu juste avant"
J'ai bon ? Sinon je vois pas vraiment ce que tu veux...
PS : A mon avis, c'est maintenant plus un pb de Php que SQL...
Marsh Posté le 11-02-2008 à 21:51:47
Oui c'est ca sauf que un id a pas forcement de corespondance dans la table mod_db et si il en a il en a pas forcement 10.
Marsh Posté le 07-02-2008 à 20:08:33
Bonjour a tous,
Voila j'ai crée une page en php qui fait appel a plusieurs requêtes sql j'aimerais de l'aide afin d'optimiser mes requêtes et en réduire le nombre.
De plus, au lieu d'afficher mon enregistrement j'obtiens un "array" je pense que c'est du au nombre de mes requêtes, j'aimerais aussi résoudre ce problème.
Voila la partie de mon code qui me pose problème :
Tout marche mais la page est lente a afficher ( environ 20 sec ) de plus $itemdb[0] affiche "array".
Voila, merci d'avance de votre aide
Message édité par darknewbie31 le 07-02-2008 à 20:09:45