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

  FORUM HardWare.fr
  Programmation
  PHP

  Problème requête

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème requête

n°2079447
linck123
Posté le 31-05-2011 à 11:27:38  profilanswer
 

Bonjour,
je vous contacte car j'ai un petit soucis avec mon script php... ou plus précisément avec ma requête SQL.
Je m'explique : je dois afficher les détails d'un gite (adresse, nombre de chambres, nombre de places, si il y a un jardin ou pas, la surface, tout cela étant dans la table "gite" avec comme clé primaire NumGite et clé étrangère MelProprio) ainsi que les coordonnées du propriétaire (nom, adresse, telephone, adresse mail, cela se trouve dans la table "proprio" avec comme clé primaire MelProprio), pour finir il me faut afficher les dates où le gite est plein (dateResDeb et DateResFin de la table reservation avec comme clé primaire NumRes et clé étrangère NumGite)
Voici mon script :  

Code :
  1. <?php
  2. include("connexionbase.php" );
  3. $requete = "SELECT RueGite, CPGite, VilleGite, NbPlaces, NbChambres, Surface, Jardin, gite.MelProprio, NomProprio, RueProprio, CPProprio, VilleProprio, TelProprio, DateResDeb, DateResFin FROM gite, proprio, reservation WHERE gite.NoGite = reservation.NoGite AND gite.MelProprio = proprio.MelProprio AND NoGite = 2;";
  4. $resultat = mysql_query($requete, $maConnexion);
  5. $nb = mysql_num_rows($resultat);
  6. for ($i=0 ; $i<$nb ; $i++)
  7. {
  8.  $rue = mysql_result($resultat, $i, 'RueGite');
  9.  $codepostal = mysql_result($resultat, $i, 'CPGite');
  10.  $ville = mysql_result($resultat, $i, 'VilleGite');
  11.  $nbplaces = mysql_result($resultat, $i, 'NbPlaces');
  12.  $nbchambres = mysql_result($resultat, $i, 'NbChambres');
  13.  $surface = mysql_result($resultat, $i, 'Surface');
  14.  $jardin = mysql_result($resultat, $i, 'Jardin');
  15.  $email = mysql_result($resultat, $i, 'MelProprio');
  16.  $telephone = mysql_result($resultat, $i, 'TelProprio');
  17.  $rueprop = mysql_result($resultat, $i, 'RueProprio');
  18.  $cpprop = mysql_result($resultat, $i, 'CPProprio');
  19.  $villeprop = mysql_result($resultat, $i, 'VilleProprio');
  20.  $nomprop = mysql_result($resultat, $i, 'NomProprio');
  21.  $dated = mysql_result($resultat, $i, 'DateResDeb');
  22.  $datef = mysql_result($resultat, $i, 'DateResFin');
  23. echo "L'adresse du gîte est $rue $codepostal $ville <br>";
  24. echo "Il possède $nbchambres chambres, pour un total de $nbplaces places<br>";
  25. echo "Jardin : $jardin<br>";
  26. echo "La totalité du terrain est de $surface m²<br><br>";
  27. echo "Informations propriétaire :<br>
  28.  Nom : $nomprop<br>
  29.  Adresse : $rueprop $cpprop $villeprop<br>
  30.  Adresse email : $email<br>
  31.  Téléphone : $telephone<br><br>";
  32. echo "Dates déja réservés :<br>
  33.  $dated jusqu'au $datef";
  34. }
  35. ?>


 
exemple@adressemail.fr est une adresse bidon que je vous met la comme exemple (j'pense que vous l'aurez compris :p)
connexionbase.php appelle ben... la connexion a la base ;).
 
Donc, quand j'exécute le script, j'obtiens "Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\1.php on line 25"
La ligne 25 contient : $nb = mysql_num_rows($resultat);
 
Si vous voyez l'erreur, merci, si vous le voulez bien, de prendre un peux de votre temps pour m'aider (c'est mon projet de bac, mais là je seche ^^).


Message édité par linck123 le 31-05-2011 à 11:43:07
mood
Publicité
Posté le 31-05-2011 à 11:27:38  profilanswer
 

n°2079456
flo850
moi je
Posté le 31-05-2011 à 11:33:30  profilanswer
 

SELECT RueGite, CPGite, VilleGite, NbPlaces, NbChambres, Surface, Jardin, gite.MelProprio, NomProprio, RueProprio, CPProprio, VilleProprio, TelProprio FROM gite, proprio WHERE gite.MelProprio = proprio.MelProprio AND proprio.MelProprio = 'exemple@adressemail.fr'

 

mets des ' autour de l'adresse email ( et de toute chaine de caractères constante )

 


Message édité par flo850 le 31-05-2011 à 11:33:47

---------------

n°2079460
linck123
Posté le 31-05-2011 à 11:38:42  profilanswer
 

Fonctionne pas... merci quand même de ta reponse super rapide :)
J'vais test autre chose : utiliser "Numgite" qui est la clé primaire de la table "gite"... J'vous tiens au courant, si sa peux aider quelqu'un plus tard.


Message édité par linck123 le 31-05-2011 à 11:39:11
n°2079461
flo850
moi je
Posté le 31-05-2011 à 11:48:49  profilanswer
 

un petit echo mysql_error() peut aussi te donner le messages d'erreur


Message édité par flo850 le 31-05-2011 à 11:48:55

---------------

n°2079465
linck123
Posté le 31-05-2011 à 11:59:08  profilanswer
 

Trop fort Flo :D J'connaissais pas mysql_error(). Merci beaucoup !!
 
P.S: l'erreur venait de ma requête : NoGite = 2 il fallait mettre : gite.NoGite = 2

n°2079466
linck123
Posté le 31-05-2011 à 12:11:10  profilanswer
 

Aller, j'continu a vous embêter lol :
avec mon script, si plusieurs dates de réservations son prises (exemple : du 2011-07-09 jusqu'au 2011-08-09 ET du 2012-07-09 jusqu'au 2012-08-09) toutes les données (infos du gite et du propriétaire) sont affichés deux fois l'unes en dessous de l'autre. Or, je voudrais que seulement les dates réservés se répètes.... Avez-vous une idée?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème requête

 

Sujets relatifs
Problème de requête MySQLProbléme de tableau dans requete sql
Problème avec une requete GROUP BY[RESOLU] problème requete SQL 2008
Problème pour créer la requête SQL demandéeProblème de requête
Problème requête PDOProblème de requête sql
Problème en PHP pour une requête SQLProblème avec une requête mysql en PHP
Plus de sujets relatifs à : Problème requête


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR