PHP sans bdd [Site Restaurant]
Résolu
Utilisateur anonyme
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Voila je suis débutant en php et je dois réaliser un projet sur une sorte de "borne" de restauration. J'ai réaliser la partie visuel de mon site avec des images cliquables.
Sous cette forme :
<a href="index.php?plat=Kebab Pain&prix= 5"><img src="./images/kebab/kebabpain.jpg" alt="Kebab Pain" title="Kebab Pain" width="100px" height="100px"/></a>
En faite il faut que quand on clique sur une image, a un endroit du site on lise le nom du produit sélectionné ainsi que son prix.
C'est a dire en php
<?php
$plat = $_GET['plat'] ;
$prix = $_GET['prix'] ;
echo $plat;
echo $prix;
?>
Affichage:
Kebab Pain 5
Jusque la rien de bien compliqué.
Ma question ce pose alors, comment afficher une liste des produits sélectionné et afficher le résultat de la note.
Par exemple je clique sur deux images (ou deux fois sur la même soyons fou :))
Je voudrais que ça m'affiche:
Kebab Pain 5
Gros Kebab 6
Addition 11
Je cherche désespérément sur internet mais je ne trouve pas :(
J'ai trouvé comment faire des additions en php style :
$r=$a+$b
echo $r
Mais comme je n'arrive pas a afficher une liste je ne vois pas comment je peux l'additionner.
Si quelqu'un pourrais m'aider :)
Voila je suis débutant en php et je dois réaliser un projet sur une sorte de "borne" de restauration. J'ai réaliser la partie visuel de mon site avec des images cliquables.
Sous cette forme :
<a href="index.php?plat=Kebab Pain&prix= 5"><img src="./images/kebab/kebabpain.jpg" alt="Kebab Pain" title="Kebab Pain" width="100px" height="100px"/></a>
En faite il faut que quand on clique sur une image, a un endroit du site on lise le nom du produit sélectionné ainsi que son prix.
C'est a dire en php
<?php
$plat = $_GET['plat'] ;
$prix = $_GET['prix'] ;
echo $plat;
echo $prix;
?>
Affichage:
Kebab Pain 5
Jusque la rien de bien compliqué.
Ma question ce pose alors, comment afficher une liste des produits sélectionné et afficher le résultat de la note.
Par exemple je clique sur deux images (ou deux fois sur la même soyons fou :))
Je voudrais que ça m'affiche:
Kebab Pain 5
Gros Kebab 6
Addition 11
Je cherche désespérément sur internet mais je ne trouve pas :(
J'ai trouvé comment faire des additions en php style :
$r=$a+$b
echo $r
Mais comme je n'arrive pas a afficher une liste je ne vois pas comment je peux l'additionner.
Si quelqu'un pourrais m'aider :)
A voir également:
- PHP sans bdd [Site Restaurant]
- Site comme coco - Accueil - Réseaux sociaux
- Site de telechargement - Accueil - Outils
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site x - Guide
- Site pour vendre des objets d'occasion - Guide
5 réponses
Bonjour,
Vous dites: "je dois réaliser un projet" --> pour qui? Pourquoi?
Cordialement
Vous dites: "je dois réaliser un projet" --> pour qui? Pourquoi?
Cordialement
Utilisateur anonyme
En effet je n'est pas précisé, c'est dans le cadre scolaire je suis en BTS SIO :)
Bonjour;
Le plus simple serait de stocker tes "choix" dans une variable de session...
Puis pour les afficher.. de faire une boucle tout simplement.
Ma question ce pose alors, comment afficher une liste des produits sélectionné et afficher le résultat de la note.
Le plus simple serait de stocker tes "choix" dans une variable de session...
Puis pour les afficher.. de faire une boucle tout simplement.
<?php session_start(); $plat = $_GET['plat'] ; $prix = $_GET['prix'] ; if(isset($_SESSION['meschoix'])){ $arrChoix = $_SESSION['meschoix']; }else{ $arrChoix = array(); } $arrChoix[]['plat'] = $plat; $arrChoix []['prix '] = $prix ; $_SESSION['meschoix'] = $arrChoix ; // liste des produits : print_r($_SESSION['meschoix']); ?>
Ah zut.
juste une petite modification à faire.. désolé :
juste une petite modification à faire.. désolé :
<?php session_start(); $plat = $_GET['plat'] ; $prix = $_GET['prix'] ; if(isset($_SESSION['meschoix'])){ $arrChoix = $_SESSION['meschoix']; }else{ $arrChoix = array(); } $arrChoix[] = array('plat' => $plat,'prix ' => $prix); $_SESSION['meschoix'] = $arrChoix ; //------------------------------------------------------------------ // Liste des produits // le temps des tests : //------------------------------------------------------------------ print_r($_SESSION['meschoix']); //------------------------------------------------------------------ // C'est ici qu'il te faut faire la boucle // Un truc du genre par exemple : $total = 0; //------------------------------------------------------------------ foreach($_SESSION['meschoix'] as $P){ if(isset( $P['prix']) && $P['prix']!='' { $Pprix = $P['prix']; else{ $P['prix']=0; } echo "<br> plat : ".$P['plat']. " prix : ".$Pprix ; $total += $Pprix; } echo " Le total est de : ".$total; //------------------------------------------------------------------ ?>
Bonjour, comme je l'ai dis dans mon premier poste je ne suis pas du tous expert en PHP. J'ai essayer de décortiquer un maximum le code avec mes quelques connaissance.
(J'ai oublier de préciser j'utilise WampServer pour visualiser mon php)
Ça m'indique qu'il y a une erreur sur le if du foreach ,je crois que c'est avec le } de fin.je ne suis pas sur. Mais même en changeant ça cela m'indique toujours une erreur :
(J'ai oublier de préciser j'utilise WampServer pour visualiser mon php)
Ça m'indique qu'il y a une erreur sur le if du foreach ,je crois que c'est avec le } de fin.je ne suis pas sur. Mais même en changeant ça cela m'indique toujours une erreur :
Parse error: syntax error, unexpected '{' in C:\wamp\www\**********\index.php on line 125
Maintenant ca m'affiche une erreur sur le else :(
Suite a la parenthèse:
Si j'ai bien regarder l'accolade du foreach n'est pas fermé mais je sais pas ou la placer :(
Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp\www\**********\index.php on line 127
Suite a la parenthèse:
<?php
session_start();
$plat = $_GET['plat'] ;
$prix = $_GET['prix'] ;
if(isset($_SESSION['meschoix'])){
$arrChoix = $_SESSION['meschoix'];
}else{
$arrChoix = array();
}
$arrChoix[] = array('plat' => $plat,'prix ' => $prix);
$_SESSION['meschoix'] = $arrChoix ;
print_r($_SESSION['meschoix']);
$total = 0;
foreach($_SESSION['meschoix'] as $P){
if(isset( $P['prix']) && $P['prix']!=' '){
$Pprix = $P['prix'];
else{
$P['prix']=0;
}
echo "<br> plat : ".$P['plat']. " prix : ".$Pprix ;
$total += $Pprix;
}
echo " Le total est de : ".$total;
?>
Si j'ai bien regarder l'accolade du foreach n'est pas fermé mais je sais pas ou la placer :(
Désolé;
je n'avais pas de PC sous la main...
je n'avais pas de PC sous la main...
<?php session_start(); $plat = $_GET['plat'] ; $prix = $_GET['prix'] ; if(isset($_SESSION['meschoix'])){ $arrChoix = $_SESSION['meschoix']; }else{ $arrChoix = array(); } $arrChoix[] = array('plat' => $plat,'prix ' => $prix); $_SESSION['meschoix'] = $arrChoix ; print_r($_SESSION['meschoix']); $total = 0; foreach($_SESSION['meschoix'] as $P){ if(isset( $P['prix']) && $P['prix']!=' '){ $Pprix = $P['prix']; //manquait une parenthèse ici : }else{ $P['prix']=0; } echo "<br> plat : ".$P['plat']. " prix : ".$Pprix ; $total += $Pprix; } echo " Le total est de : ".$total; ?>
Bonjour ,
Alors voila j'ai montré votre code a mon prof, il m'a dis que pour notre niveau on utiliserais pas pour le moment de "session" il ma donner le code pour l'addition qui ce fais dans la balise <a>.
Comme ceci :
Et avec le php
Je n'ai pas encore fais la liste des produits mais il m'a dit que c'était avec le même principeje crois mais j'ai essayer de mettre un autre echo dans le <a> style
Mais pas de résultat escompté !
Alors voila j'ai montré votre code a mon prof, il m'a dis que pour notre niveau on utiliserais pas pour le moment de "session" il ma donner le code pour l'addition qui ce fais dans la balise <a>.
Comme ceci :
<a href="index.php?plat=Kebab Pain&prix= 5&total=<?php echo $total; ?>"><img src="./images/kebab/kebabpain.jpg" alt="Kebab Pain" title="Kebab Pain" width="100px" height="100px"/></a>
Et avec le php
<?php $plat = $_GET['plat']; $prix = $_GET['prix']; $total = $_GET['total']; $total += $prix; ?>
Je n'ai pas encore fais la liste des produits mais il m'a dit que c'était avec le même principeje crois mais j'ai essayer de mettre un autre echo dans le <a> style
<a href="index.php?plat=Kebab Pain&prix= 5&total=<?php echo $total; ?&plat=<?php echo $plat; ?>"> <img src="./images/kebab/kebabpain.jpg" alt="Kebab Pain" title="Kebab Pain" width="100px" height="100px"/></a>
Mais pas de résultat escompté !
Bon.. en gros... il veut juste que tu alimentes ton lien avec la liste des plats + faire le total ??
-> Sachant que dans une URL .. tu ne mets jamais plusieurs variables avec le même nom....
Là.. tel que tu essayes de l'écrire.. tu mets ?plat= ... &plat= ...... NON !!
A la limite tu peux, à chaque ajout.. créer une variable plat... plat1 ...pla2 ... et les variables prix qui vont avec (prix1 ... prix2....)
Encore mieux... Tu mets .. dans UNE SEULE variable list_plat.. tous les plats selectionnés...
(idem pour les prix)..
Un truc du genre :
-> Sachant que dans une URL .. tu ne mets jamais plusieurs variables avec le même nom....
Là.. tel que tu essayes de l'écrire.. tu mets ?plat= ... &plat= ...... NON !!
A la limite tu peux, à chaque ajout.. créer une variable plat... plat1 ...pla2 ... et les variables prix qui vont avec (prix1 ... prix2....)
Encore mieux... Tu mets .. dans UNE SEULE variable list_plat.. tous les plats selectionnés...
(idem pour les prix)..
Un truc du genre :
<?php $plat = isset($_GET['plat']) && $_GET['plat']!=''?$_GET['plat']:''; $prix = isset($_GET['prix']) && $_GET['prix']!=''?$_GET['prix']:0; $total = isset($_GET['total']) && $_GET['total']!=''?(float)$_GET['total']:0; $lst_plats = isset($_GET['lst_plats']) && $_GET['lst_plats']!=''?$_GET['lst_plats'].",":$plat; ?> <a href="?plat=Kebab Pain&prix=5&total=<?php echo $total+5;?>&lst_plats=<? echo $lst_plats.'Kebab Pain - 5';?>"> <img src="./images/kebab/kebabpain.jpg" alt="Kebab Pain" title="Kebab Pain" width="100px" height="100px"/></a> <a href="?plat=frittes&prix=2&total=<?php echo $total+2;?>&lst_plats=<? echo $lst_plats.'frittes - 2';?>"> <img src="./images/kebab/frittes.jpg" alt="Frittes" title="Frittes" width="100px" height="100px"/></a> <?php Echo "<pre> Liste des produits :<br>"; $arrP = explode(",",$lst_plats); foreach($arrP as $P){ echo "<br>".$P; } echo "<br><strong>TOTAL = ".$total."</strong>"; echo "</pre>";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Testes celui là :
Ca devrait donner ça (les images en plus ^^ )
Et dans cet exemple.. l'url contient :
PS: par rapport à ta remarque (celle que tu répète sans arrêts ) :
Dis toi.. que des IF tu en as déjà 4 dans le code que je t'ai donné...
ils sont là :
C'est ce qu'on appel l'écriture TERNAIRE.
Et comme je sens que tu vas me demandé ... "c'est quoi ???" .. la réponse est là :http://laute.fr/2009/09/05/conditions-ternaires-et-php/
Maintenant..; si ce n'est pas de ces IF là que ton prof parlait.. le mieux c'est que tu lui demande exactement ce qu'il veut...
Car là.. je suis en train de faire ton exo .... mais normalement ca devrait bien être toi qui code...
Et lorsque ton prof te donne des consignes que tu ne comprend pas... c'est vers lui qu'il faut te retourner pour lui demander des explications.... et pas attendre bêtement qu'un gentil internaute devine à ta place ce qui est attendu....
<?php $plat = isset($_GET['plat']) && $_GET['plat']!=''?$_GET['plat']:''; $prix = isset($_GET['prix']) && $_GET['prix']!=''?$_GET['prix']:0; $total = isset($_GET['total']) && $_GET['total']!=''?(float)$_GET['total']:0; $lst_plats = isset($_GET['lst_plats']) && $_GET['lst_plats']!=''?$_GET['lst_plats'].",":$plat; ?> <a href="?plat=Kebab Pain&prix=5&total=<?php echo $total+5;?>&lst_plats=<?php echo $lst_plats.'Kebab Pain - 5';?>"> <img src="./images/kebab/kebabpain.jpg" alt="Kebab Pain" title="Kebab Pain" width="100px" height="100px"/></a> <a href="?plat=frittes&prix=2&total=<?php echo $total+2;?>&lst_plats=<?php echo $lst_plats.'frittes - 2';?>"> <img src="./images/kebab/frittes.jpg" alt="Frittes" title="Frittes" width="100px" height="100px"/></a> <a href="?plat=kefta&prix=4&total=<?php echo $total+4;?>&lst_plats=<?php echo $lst_plats.'kefta - 4';?>"> <img src="./images/kebab/kefta.jpg" alt="kefta" title="kefta" width="100px" height="100px"/></a> <?php Echo "<pre>"; echo "<br>------------------------------<br>"; echo " <span>Liste des produits :</span>"; echo "<br>------------------------------<br>"; $arrP = explode(",",$lst_plats); foreach($arrP as $P){ echo "<br>".$P; } echo "<br><strong>TOTAL = ".$total."</strong>"; echo "</pre>"; ?>
Ca devrait donner ça (les images en plus ^^ )

Et dans cet exemple.. l'url contient :
http://localhost/testJS/test3.php?plat=frittes&prix=2&total=25&lst_plats=Kebab%20Pain%20-%205,frittes%20-%202,kefta%20-%204,frittes%20-%202,Kebab%20Pain%20-%205,Kebab%20Pain%20-%205,frittes%20-%202
PS: par rapport à ta remarque (celle que tu répète sans arrêts ) :
Mon prof ma dis de mettre un if a un moment.
Dis toi.. que des IF tu en as déjà 4 dans le code que je t'ai donné...
ils sont là :
$plat = isset($_GET['plat']) && $_GET['plat']!=''?$_GET['plat']:''; $prix = isset($_GET['prix']) && $_GET['prix']!=''?$_GET['prix']:0; $total = isset($_GET['total']) && $_GET['total']!=''?(float)$_GET['total']:0; $lst_plats = isset($_GET['lst_plats']) && $_GET['lst_plats']!=''?$_GET['lst_plats'].",":$plat;
C'est ce qu'on appel l'écriture TERNAIRE.
Et comme je sens que tu vas me demandé ... "c'est quoi ???" .. la réponse est là :http://laute.fr/2009/09/05/conditions-ternaires-et-php/
Maintenant..; si ce n'est pas de ces IF là que ton prof parlait.. le mieux c'est que tu lui demande exactement ce qu'il veut...
Car là.. je suis en train de faire ton exo .... mais normalement ca devrait bien être toi qui code...
Et lorsque ton prof te donne des consignes que tu ne comprend pas... c'est vers lui qu'il faut te retourner pour lui demander des explications.... et pas attendre bêtement qu'un gentil internaute devine à ta place ce qui est attendu....