Pied de page réactive au requêtes PHP avec Javascipt ??? HELP

Fermé
DaveMo03 - 15 janv. 2013 à 10:42
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 - 15 janv. 2013 à 19:21
Bonjour,



Je me présente David, dans le cadre d'un projet pour ma formation, je réalise une application web mobile qui sert de site (pour smartphones) de location de voiture pour une entreprise. Je suis confronté à un problème dans mon projet,

j'ai une base de données pour les réservations et donc j'aurai des requêtes qui me diront quand tel et tel voiture est réservé/disponible/occupé,

et en fonction de ça j'aimerais faire réagir mon pied de page qui sert de barre de navigation.

<div data-role="navbar">
                    <ul>
                        <li><a class="ui-btn-active ui-state-persist" href="Cars.php" data-role="button" data-prefetch><img src="images/car.ico" width="25px" height="25px"/><br />Nos voitures</a></li>
                        <li><a href="Reserver.php" data-role="button" data-prefetch><img src="images/key.ico" width="25px" height="25px"/><br />Reserver</a></li>
						<li><a href="Acquisition.php" data-role="button" data-prefetch><img src="images/acquisition.png" width="25px" height="25px"/><br />Acquisition</a></li>
						<li><a href="Liberer.php" data-role="button" data-prefetch><img src="images/rendre-cles.png" width="25px" height="25px"/><br />Rendre</a></li>
                        <li><a href="Contact.php" data-role="button" data-ral="dialog" data-transition="pop" data-prefetch><img src="images/contact-android.png" width="20px" height="25px"/><br />Contact</a></li>
                    </ul>
                </div>



(exemple de mon code pour un pied de page)

Par exemple si une voiture est occupé à son nom l'utilisateur ne pourra plus: acquérir le véhicule sur le site il pourra par contre toujours en réserver d'autre, et libérer celui ci.
Donc dans ce cas une "case" de mon footer va disparaître. Et c'est cette partie la que je ne sais pas comment faire-

Merci de m'aider !!!!!! J'ai un timing à respecter et je commence a être vraiment serré !


Salutations
D.
A voir également:

6 réponses

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 220
15 janv. 2013 à 12:04
Salut,

Ce n'est qu'une suggestion mais vous pouvez utiliser les sessions ou cookies pour afficher ou pas la fameuse case.
Lorsque le client effectue sa demande de location en ligne, je suppose qu'une date butoir est déterminé à l'avance pour rendre les clés du véhicule. Si tel est le cas et lors de la validation du formulaire par le client pour réserver un véhicule, vous créez un cookie ou une session qui prendra fin au moment de la date butoir et vous vous en servez pour montrer ou pas certaines partie du footer.
0
Merci, oui cette option n'est pas mal je pense plutôt aux session étant donné que je travaille aussi avec PHP mais ne sera-t-il pas un peu le bronx avec plusieurs session ouverte ???

Je vais faire quelques recherches

en ce qui concerne le code si vous avez une ébauche d'idées pour commencer ou un liens tuto, quelque chose, n'hésitez pas j'ai de la peine à visualiser un début


Merci

D.
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 220
15 janv. 2013 à 14:18
Quand le client valide sa commande, vous enregistrez en bd le timestamp du moment et vous vous servez de celui-ci comme identifiant unique de cookie ou de session. Comme chaque session ou cookie aura un identifiant unique (série de 11 chiffres je crois), il sera simple, via une requête, de voir si le client est justement déjà client.

//validation du formulaire de réservation
session_start();
$_SESSION['temp'] = time();
//vous enregistrez la valeur de la session en bd

//********************************************

//contrôle sur le site
session_start();
if(isset($_SESSION['temp'])){
//requête sql pour voir à qui correspond la session
$result = mysql_query("SELECT * FROM TABLE WHERE champ_session=".$_SESSION['temp']."");
$data = mysql_fetch_array($result);
echo $data['champ_session'];
//etc...
/*la vous avez toutes les données de l'utilisateur qui va permettre via des conditions d'afficher ou pas certaines parties du site*/
}
0
OKay d'accord merci beaucoup mais la tout se fait en php alors je dios faire un appel ajax qui lancera ce script ?

un truc du genre

jQuery.ajax({
type: 'POST', // Le type de ma requete
url: 'serveur.php', // L'url vers laquelle la requete sera envoyee
data: {
DateTime: 12.01.2013, // Les donnees que l'on souhaite envoyer au serveur au format JSON
},
success: function(data, textStatus, jqXHR) {
// La reponse du serveur est contenu dans data
// On peut faire ce qu'on veut avec ici
afficher(data);
},
error: function(jqXHR, textStatus, errorThrown) {
// Une erreur s'est produite lors de la requete
}
});


function afficher(donnees){ // pour remplacer le contenu du div contenu
$("#AffichageApercusfooter").empty(); // on vide le div
$("#AffichageApercusfooter").append(donnees); // on met dans le div le résultat de la requête ajax

//Annimation des apercus d'article mis ici, sinon ce ne marche pas :
}
</script>


enfin je dis ca comme ca j'ai trouvé un truc qui ressemble a ca sur le net
mais alors dans ce cas le data:{ DateTime: ??? (doit être égal à quoi ?)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
***DateTime: 12-01-2013



JSON --> pas de point
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 220
Modifié par tryan44 le 15/01/2013 à 19:21
Soit je suis à l'ouest, soit vous cherchez à vous compliquez la vie :) ?

Votre site est en PHP...les sessions et cookies sont également du PHP. A partir du moment ou le client valide sa commande, une session ou cookie est créé avec une date de péremption correspondant à la date de fin de location. Donc ensuite et avec une simple condition, vous cachez ce que vous voulez.
//Si la session existe, c'est que le visiteur est déjà client 
if(isset($_SESSION['temp'])){ 
//Ici on cache la case ou autre 
}

Pourquoi s'em*erder avec jquery et ajax juste pour ça?
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
0