La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Probleme pour une requete SQL -Help
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Probleme pour une requete SQL -Help  (Lu 3387 fois)
Probleme pour une requete SQL -Help
« sur: le 05-03-2013 a 15:20:44 »
chipChop
Membre récent
*

Hors-Ligne

Sexe: Femelle
Messages: 20





Voir le Profil    E-Mail
Répondre avec citation

Bonjour à tous,
Je me présente je suis étudiante en programmation je fais une licence pro. Pour un de mes projets : Création d'un système de réservation hôtel j'ai un soucis avec une requête SQL.

Voilà ce que j'aimerai faire :

Code :

SELECT resourceid, datebegin, dateend, price, quantite, id_calendar
                                                FROM wp_res_calendar
                          WHERE '2013-03-03' >= datebegin and '2013-03-03'<= dateend
GROUP BY resourceid
                          ORDER BY id_calendar DESC


J’ai des chambres d’hôtels avec un prix et une quantité par défaut pour chaque chambres

Ex : chambre double quantité :2 prix : 135 euros
Chambre  simple quantité : 3 prix : 70 euros

Dès que la chambre se créer, elle s’insère en base de données

Je créer des événements qui permettent de mettre des prix et une capacité à une certaine période

Ex : chambre double quantité : 3 prix : 150 euros du 18 avril au 30 avril 2013

Dès que je créer un événement il s’insère en base de données dans une table spécifique.

Mais imaginons je créer un événement une semaine plus tard.

Ex : chambre double quantité : 4 prix : 160 euros du 25 avril au 5 juin 2013


Tous les résultats s’affiche dans un calendrier qui indique pour le jour l’événement qu’il y a à cette date

Ex : le 28 avril 2013 chambre double quantité : 4 prix : 160 euros.

Seulement ma base de données me renvoie deux événements (normal pour cette date j’ai deux événement) mais je n’en veux qu’un et je veux le plus récent des deux (donc l’id le plus grand avec les informations de cet ID et non pas de l’autre) .

Ex : le 28 avril 2013 chambre double quantité : 4 prix : 160 euros et non quantité : 3 prix : 150 euros


      


Rapporter au modérateur  

10 fois / 100 fois / 1000 fois tu remettras ton travail sur l'établis

Re:Probleme pour une requete SQL -Help
« Répondre #1 sur: le 05-03-2013 a 16:23:35 »
chipChop
Membre récent
*

Hors-Ligne

Sexe: Femelle
Messages: 20





Voir le Profil    E-Mail
Répondre avec citation

S'il vous plait une idée je deviens folle j'y arrive pas ! C'est sous mes yeux mais je vois pas !)

Rapporter au modérateur  

10 fois / 100 fois / 1000 fois tu remettras ton travail sur l'établis
Re:Probleme pour une requete SQL -Help
« Répondre #2 sur: le 05-03-2013 a 17:31:45 »
Agence Annecy
Membre récent
*

Hors-Ligne

Messages: 36





Voir le Profil    E-Mail
Répondre avec citation

<?php
//--- Récupérer le dernier id dans une table ---//
//--- Les variables ---//
$tb="table";

//--- Une méthode ---//
$req1="select max(id) from $tb";
$res1=mysql_query($req1);
$idmax1=mysql_result($req1,0,"max(id)");
echo $idmax1;

//--- Une deuxième ---//
$req2="select id from $tb order by id desc limit 1";
$res2=mysql_query($req2);
$idmax2=mysql_result($res2,0);
echo $idmax2;
?>

Rapporter au modérateur  

Avoir un Devis référencement[/url] Google - Avoir un Devis création de site[/url] internet //
Re:Probleme pour une requete SQL -Help
« Répondre #3 sur: le 05-03-2013 a 17:37:36 »
chipChop
Membre récent
*

Hors-Ligne

Sexe: Femelle
Messages: 20





Voir le Profil    E-Mail
Répondre avec citation

Non ça ne convient pas

Concernant la première méthode :  la requête ne va prendre que l'id le plus grand de toute la table et non de la chambre associé.

Concernant la deuxième méthode : il y a le limit 1 (ce qui va nous donner un seul résultat) alors que moi je veux tous les évènements de toutes les chambres pour une seule date.

Ex : au 28 avril 2013
chambre double quantité : 4 prix: 160 € au lieu de quantité : 3 prix : 135 €
chambre simple quantité : 2 prix : 80 € au lieu de quantité : 3 prix : 70 €

Mais merci quand même pour la réponse

Rapporter au modérateur  

10 fois / 100 fois / 1000 fois tu remettras ton travail sur l'établis
Re:Probleme pour une requete SQL -Help
« Répondre #4 sur: le 05-03-2013 a 18:29:04 »
chipChop
Membre récent
*

Hors-Ligne

Sexe: Femelle
Messages: 20





Voir le Profil    E-Mail
Répondre avec citation

Désolé si je me fais mal comprendre mais, mon problème est un peu compliqué à expliquer donc je vais essayer de mieux résumé mon problème avec un exemple.

Ex :

- j'ajoute un évènement du 5 mars au 5 avril 2013

chambre double quantité : 3 prix : 135 euros

- une semaine plus tard j'ajoute un nouvel évènement du 10 mars au 30 mars 2013

chambre double quantité : 2 prix : 140 euros

On fait une requête


SELECT resourceid, datebegin, dateend, price, quantite, id_calendar
FROM wp_res_calendar
WHERE '2013-03-10' >= datebegin and '2013-03-10'<= dateend
ORDER BY id_calendar DESC


Cela nous sort tous les évènements de toutes les chambres au 10 mars 2013

Du coup le 10 mars on se retrouve avec deux évènements pour la chambre double sauf que moi j'en veux qu'un et je veux l’évènement le plus récent rentré en base de données.

Par exemple je veux que mon calendrier affiche par exemple au 10 mars 2013 pour la chambre double : quantité : 2 prix : 140 euros
et non quantité : 3 prix: 135 euros et quantité : 2 prix : 140 euros

S'il vous plait aider moi ...

Rapporter au modérateur  

10 fois / 100 fois / 1000 fois tu remettras ton travail sur l'établis
Re:Probleme pour une requete SQL -Help
« Répondre #5 sur: le 12-03-2013 a 18:07:59 »
AlainPost
Membre récent
*

Hors-Ligne

Messages: 5





Voir le Profil    E-Mail
Répondre avec citation

Donc logiquement, si ton truc marche, tu rajoute :
LIMIT 0,1
Comme ça dans l'hypothèse où le reste de la requête est bon, tu récupère le résultat le plus ancien.

Rapporter au modérateur  
Re:Probleme pour une requete SQL -Help
« Répondre #6 sur: le 12-03-2013 a 18:21:27 »
pppplus
Habitué
***

Hors-Ligne

Messages: 482



php / mysql

Voir le Profil    WWW
Répondre avec citation

il faut bien utiliser le GROUP BY pour n'avoir qu'un événement qui matche la requête

Après tu dois faire une 2ème requête, pour récupérer le dernier ID qui correspond à la recherche.

Je ne vois pas comment faire une seule requête pour récupérer les infos qu'il te faut.

Rapporter au modérateur  

capsules rechargeables Dolce Gusto et Nespresso
jeux flash gratuits avec la plus grosse boutique cadeaux du net
Accessoires cuisine pratiques
Re:Probleme pour une requete SQL -Help
« Répondre #7 sur: le 15-03-2013 a 17:47:16 »
gagnedescodes
P'tit nouveau
**

Hors-Ligne

Messages: 92





Voir le Profil
Répondre avec citation

Salut

Dans les systèmes de réservation d'hôtel ou d'avoir c'est toujours à peu près la même chose et donc soit les personnes demandent sur une période donner du 15/03/2013 au 26/03/2013 ou à partir de tel date pour tant de jours. Dans ce cas tu peut avec mysql faire un interval. Plus de détail sur les intervals dans cette url : http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html

J'espère bien avoir compris ta problématique sinon n'hésite pas.

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg