Je veux faire un formulaire d’estimation de prix sur mon site Wordpress.
J’ai créé une bdd dans wordpress, une page1 de formulaire et une page2 de calcul.
Je voudrais que :
1/l’utilisateur renseigne un appareil (ex : samsung s7) dans la page de formulaire
2/si cet appareil est présent dans la bdd alors -> on récupère le prix correspondant et l’affecte à une variable qui va être utilisée (avec d’autre) pour le calcul et l’affichage d’un prix estimé.
mysql : création table et 2 champs ‘appareil’ et ‘prix’
Page1 : formulaire avec méthode POST
Page2 : je récupère la saisie de l’utilisateur dans une variable (avec htmlspecialchars),je me connecte en php (avec pdo et test erreurs), je fais une requête avec prepare et execute mais je n’arrive pas à prendre ma variable du formulaire pour lui attribuer le prix adéquat pour faire un calcul final.
<?php
try
{
$bdd = new PDO('…’);
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$req = $bdd->prepare('SELECT prix FROM mabdd WHERE appareil=?');
$req->execute(array($_GET['appareil']));
while ($donnees = $req->fetch())
{
if ($_GET['appareil']=$appareilform)
{
$appareilform=$prixappareil ;
}
else
{
echo 'Appareil absent de la base de données';
}
}
[idem avec autres variables]
echo $prixfinal
$req->closeCursor();
?>
je n’arrive pas à prendre ma variable du formulaire pour lui attribuer le prix adéquat pour faire un calcul final.
Peut-être tout simplement parce que la condition dans la boucle while n'est jamais respectée.
Par contre, si la valeur de la colonne appareil est unique par rapport à tous les enregistrements de la table, pourquoi faire une boucle si c'est le cas ?
De plus que ton système implique que l'utilisateur doit connaître les valeurs exactes de la colonne dans la table pour tous les enregistrements.
- Edité par Lartak 11 juillet 2019 à 17:38:38
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Peut-être tout simplement parce que la condition dans la boucle while n'est jamais respectée.
Pourquoi? J'ai fait while (pour toutes les données de mon champ appareils) if (la valeur de mon champ appareil=la valeur rentrée par l'utilisateur) alors affecter une variable à cette données , else (afficher appareil absent).
Lartak a écrit:
Par contre, si la valeur de la colonne appareil est unique par rapport à tous les enregistrements de la table, pourquoi faire une boucle si c'est le cas ?
Comment faire sinon? Juste faire un SELECT amélioré?
Lartak a écrit:
De plus que ton système implique que l'utilisateur doit connaître les valeurs exactes de la colonne dans la table pour tous les enregistrements.
J'ai fait une liste déroulante mais il y a trop de valeur. Donc je le laisse saisir (et ferais de l'autocomplétion)
Aucunement besoin d'un SELECT amélioré, il te faut simplement récupérer l'enregistrement, soit avec la méthode que tu utilisais (fetch), mais sans boucle.
Si tu fais un système d'auto-complete du champ, par conséquent l'enregistrement devrait existait dans la table.
Au passage, d'où sors-tu la variable prixappareil?
Elle n'est définie nulle-part dans le code que tu présentes.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.