Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1355 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu] [MySQL] SELECT sur plusieurs tables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] [MySQL] SELECT sur plusieurs tables

n°1388377
Ben-o
Posté le 15-06-2006 à 18:39:13  profilanswer
 

Bonsoir, je possède une BDD avec 4 tables:
 
t_categorie (id_categorie, categorie)
t_type (id_type, type)
t_secteur (id_secteur, secteur)
t_maison (idx_categorie, idx_type, idx_secteur, prix, reference, ville, nb_chambre....)
 
C'est pour un site d'annonces immobilières, je cherche à récupérer par exemple toutes les affaires dont l'"idx_type" de la tables "t_maison" correspond à l'"id_type" de la table "t_type".
 
J'ai fait ceci:
 
$reponse = mysql_query("SELECT type, secteur, categorie, no_asp, prix, cp_internet, ville_internet, nb_chambres, surf_hab, surf_terrain FROM t_type, t_secteur, t_maison, t_categorie WHERE t_maison.idx_type_offre = t_type.id_type" );
 
ensuite j'affiche les données comme ça:
 
while ($donnees = mysql_fetch_array($reponse) )
echo $donnees['prix'];
echo $donnees['nb_chambres'];
 
Le probleme c'est que le navigateur plante au bout d'un moment (utilisation mémoire trop importante).
 
Pourriez-vous m'aider?
 
Merci par avance.


Message édité par Ben-o le 16-06-2006 à 16:20:49
mood
Publicité
Posté le 15-06-2006 à 18:39:13  profilanswer
 

n°1388436
farib
Posté le 15-06-2006 à 20:33:31  profilanswer
 

LIMIT ?

n°1388475
couak
Posté le 15-06-2006 à 21:37:59  profilanswer
 

est ce le navigateur qui plante ou est ce ton script qui se prend un timeout ?

n°1388478
flo850
moi je
Posté le 15-06-2006 à 21:45:21  profilanswer
 

tu as 4 tables, tu dois donc lier ces 4 tables dans le where,sinon, tu vas retourner leproduit cartésien des tables


Message édité par flo850 le 15-06-2006 à 21:46:03
n°1388714
Ben-o
Posté le 16-06-2006 à 10:32:36  profilanswer
 

Après recherches, je pense que c'est effectivement le produit cartésien qui est retourné, et comme j'ai plus de 3000 entrées, ceci est du coup très long.
Comment puis-je lier les tables dans le WHERE?

n°1389014
flo850
moi je
Posté le 16-06-2006 à 14:20:21  profilanswer
 

tu dois faire quelque chose du genre
SELECT truc1 , truc2 FROM table1,table2,table3
WHERE table1.cle = table2.cle2 AND table 1.cle3 = table3.cle4
 
je te laisse adapter ca a ta requete ;)

n°1389057
Ben-o
Posté le 16-06-2006 à 14:53:12  profilanswer
 

Merci bien, je teste ça.

n°1389207
Ben-o
Posté le 16-06-2006 à 16:20:18  profilanswer
 

Ca fonctionne, c'est super, encore merci!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu] [MySQL] SELECT sur plusieurs tables

 

Sujets relatifs
[ VB6] [Résolu] Passer un argument a une Macro[Résolu]extraire un fichier .zip en vba?
choix entreun fichier texte ou une bd mysqlParser un fichier xml volumineux sur plusieurs pages ?
[resolu][vb6]probleme extraterrestre avec 3 boutons radios[Delphi/C++/C#]Webcam pour plusieurs applis
génération dynamique de <select> dans un formcomment cacher un message d'erreur (résolu)
modifier le contenu d'une cellule [résolu][RESOLU] liaison javascript / PHP
Plus de sujets relatifs à : [Résolu] [MySQL] SELECT sur plusieurs tables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR