Problème débutant PHP
Snoop_dogg
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
Snoop_dogg Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
Snoop_dogg Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis plutôt à l'aise en html/css, mais voila, j'ai du apprendre PHP/SQL pour une demande d'un de nos commerciaux au boulot...
Je souhaiterais faire un formulaire permettant le calcul du prix de revente d'un de nos produits.
J'ai pour cela différentes options ou il faut cliquer oui/non(boutons radio), pour choisir.
En fonction de la réponse, on additionne.
J'ai commencer un bout de code, mais je pense qu'il n'est pas très juste (je suis sûr même)
Si quelqu'un voudrait bien jeter un coup d’œil, je lui en serait reconnaissant!
Merci d'avance,
Je suis plutôt à l'aise en html/css, mais voila, j'ai du apprendre PHP/SQL pour une demande d'un de nos commerciaux au boulot...
Je souhaiterais faire un formulaire permettant le calcul du prix de revente d'un de nos produits.
J'ai pour cela différentes options ou il faut cliquer oui/non(boutons radio), pour choisir.
En fonction de la réponse, on additionne.
J'ai commencer un bout de code, mais je pense qu'il n'est pas très juste (je suis sûr même)
<php
$reponse = $bdd->query('SELECT * FROM `Krampe Big body 550 carrier`'); // récupération des données
$array = array ('id','option','detail','prix'); // construction d'un tableau structurant mes données
?>
form method="post" id="formulaire_benne" action="" >
<fieldset>
<legend><strong>Formulaire de calcul du prix d'une benne KRAMPE</strong></legend>
<? while ($donnees = $reponse->fetch())
{
?>
Numéro de l'option : <strong><?php echo $donnees['option']; ?>
</strong><label for="<?php $donnees['id']; ?>"><?php echo $donnees['detail']; ?></label><br/>
<input type="radio" name="<?php $donnees['id']; ?>" value="true" id="oui" />oui <!-- je peux sélectionner oui ET non, donc je pense que name=... est faux? -->
<input type="radio" name="<?php $donnees['id']; ?>" value="false" id="non" />non
<br/><br/>Prix :<strong> <?php echo $donnees['prix']; ?> € </strong> <br/><hr/><br/>
<?php
}
$reponse->closeCursor();
?>
<br/><br/><input type="submit" value="Calculer" name="ok"/>
</fieldset>
</form>
<?php
if(!empty($_POST['option'])){ //on récupère ici les options qui ne sont pas vide
var_dump($_POST['option']);
foreach ($array as $donnees) { //pour chaque $donnees dans le tableau
if (id == oui){ // si leur id = oui
$reponse = $bdd->query('SELECT * SUM(prix) AS prix_total FROM Krampe Big body 550 carrier ');
//alors on additionne les prix
echo '$prix_total'; };
};
}?>
Si quelqu'un voudrait bien jeter un coup d’œil, je lui en serait reconnaissant!
Merci d'avance,
A voir également:
- Problème débutant PHP
- Easy php - Télécharger - Divers Web & Internet
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Expert php pinterest - Télécharger - Langages
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
4 réponses
Bonjour,
Si le but est de faire la somme des prix des "options" sélectionnées....
Je verrai bien quelque chose de ce genre :
Cordialement,
Jordane
Si le but est de faire la somme des prix des "options" sélectionnées....
Je verrai bien quelque chose de ce genre :
<?php //--------------------------------------------------------------------// // Requete pour construire les boutons RADIO //--------------------------------------------------------------------// try{ $sql = "SELECT * FROM `Krampe Big body 550 carrier` "; $reponse = $bdd->query($sql); // récupération des données //on stocke le résultat dans un array $result = $reponse->fetchAll(); //on ferme la connexion $reponse->closeCursor(); } catch (Exception $e){ die('Erreur : ' . $e->getMessage()); } //--------------------------------------------------------------------// //Traitement du SUBMIT //--------------------------------------------------------------------// $prix_total_selection = 0; //récupération "propre" des variables $options = !empty($_POST['option']) ? $_POST['option'] : NULL; if($options){ //on récupère ici les options qui ne sont pas vide //le temps des tests : print_r($options); //on boucle sur les "options" selectionnées foreach($options as $O){ $prix_total_selection += (float)$O; } } ?> <form method="post" id="formulaire_benne" action="" > <fieldset> <legend><strong>Formulaire de calcul du prix d'une benne KRAMPE</strong></legend> <? foreach($result as $donnees){ $id = $donnees['id']; $prix = $donnees['prix']; $option = $donnees['option']; $detail = $donnees['detail']; echo "Numéro de l'option : <strong> $option </strong> <label> $detail </label><br/> <input type='radio' name='$option' value='$prix' id='oui' />oui <input type='radio' name='$option' value='0' id='non' />non <br/><br/>Prix :<strong>$prix € </strong> <br/><hr/><br/> "; } ?> <br/><br/> <input type="submit" value="Calculer" name="ok"/> </fieldset> </form> <?php echo " Total selection :".$prix_total_selection ; ?>
Cordialement,
Jordane
Wow! Quelle rapidité! Chapeau!
Par contre, total sélection reste toujours à 0
C'est normal?
Dois-je récupérer la variable sur une autre page?
(action = ...)
Par contre, total sélection reste toujours à 0
C'est normal?
Dois-je récupérer la variable sur une autre page?
(action = ...)
Array ( [10157] => 25590 [35174] => 0 [35338] => 2350 [35390] => 0 [32934] => 2620 [12730] => 1250 [13082] => 0 [12390] => 0 [16500] => 0 [18100] => 0 [16052] => 0 [16100] => 0 [15590] => 0 [20210] => 0 [20032] => 60 [20400] => 0 [11332] => 2160 [11109] => 180 [23754] => 2160 [7011] => 0 [ok] => Calculer ) Total selection :0
Oui mais javascript je connais encore moins :/
Il me renvoi une erreur :
Parse error: syntax error, unexpected '"._oui' />oui ' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';' on line 75
Qui correspond a ces deux lignes
En tout cas merci beaucoup pour le temps accordé !
Il me renvoi une erreur :
Parse error: syntax error, unexpected '"._oui' />oui ' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';' on line 75
Qui correspond a ces deux lignes
<input type='radio' name='radio_".$option."' value='$prix' id='".$option"._oui' />oui
<input type='radio' name='radio_".$option."' value='0' id='".$option"._non' />non
En tout cas merci beaucoup pour le temps accordé !
//le temps des tests
echo "<br>Option selectionnée : ".$optionId. " valeur :".$value;
ne s'affiche pas...
$prix_total_selection reste a 0
Par contre ton array retourne bien les résultats
Array
(
[radio_10157] => 25590
[radio_35174] => 0
[radio_35338] => 0
[radio_35390] => 0
[radio_32934] => 0
[radio_12730] => 0
[radio_13082] => 0
[radio_12390] => 0
[radio_16500] => 0
[radio_18100] => 0
[radio_16052] => 0
[radio_16100] => 0
[radio_15590] => 0
[radio_20210] => 0
[radio_20032] => 0
[radio_20400] => 0
[radio_11332] => 0
[radio_11109] => 0
[radio_23754] => 0
[radio_7011] => 0
[ok] => Calculer
)
J'ai du me tromper quelque part...
Peux tu modifier le code de la boucle comme ceci :
Peux tu modifier le code de la boucle comme ceci :
if(!empty($_POST)){ foreach($_POST as $K=>$value){ echo "<br> k = ".$K. " - value = ".$value; //on regarde si le name correspond à un bouton radio : name='radio_".$option."' $substrOpt = substr($K,0,5); echo "<br> substrOpt => ".$substrOpt; if($substrOpt=="radio_"){ //on récupère l'option $optionId = str_replace("radio_","",$K); //le temps des tests echo "<br>Option selectionnée : ".$optionId. " valeur :".$value; //on additionne les montants : $prix_total_selection += $value; } }
Çà donne un truc un peu bizarre
Ce n'est pas bizarre... c'est pile poile ce que je lui ai demandé d'afficher....
Il ne reste qu'à changer la ligne :
$substrOpt = substr($K,0,5);
par :
$substrOpt = substr($K,0,6);
et à commenter les lignes de ECHO que j'avais ajouté pour les tests
et ça devrait être ok.
Donc, modifie le code comme ceci :
if(!empty($_POST)){ foreach($_POST as $K=>$value){ // echo "<br> k = ".$K. " - value = ".$value; //on regarde si le name correspond à un bouton radio : name='radio_".$option."' $substrOpt = substr($K,0,6); // echo "<br> substrOpt => ".$substrOpt; if($substrOpt=="radio_"){ //on récupère l'option $optionId = str_replace("radio_","",$K); //le temps des tests echo "<br>Option selectionnée : ".$optionId. " valeur :".$value; //on additionne les montants : $prix_total_selection += $value; } }
Une dernière petite question...
Si je veux récupérer toutes les lignes ou "oui" a été sélectionné, je pense que le code devrait ressembler à ça :
Seulement, je ne sais pas ou le placer... De plus il ne m'affiche qu'une seule ligne (la 1ere), et pas les détails...
Si je veux récupérer toutes les lignes ou "oui" a été sélectionné, je pense que le code devrait ressembler à ça :
<? echo "<br>Option selectionnée : ".$optionId. "Détail :" . $detail ." valeur :".$value;?><br/>
Seulement, je ne sais pas ou le placer... De plus il ne m'affiche qu'une seule ligne (la 1ere), et pas les détails...