Recuperer Valeur d'un select dans href

Signaler
Messages postés
5
Date d'inscription
mercredi 28 novembre 2018
Statut
Membre
Dernière intervention
3 décembre 2018
-
Messages postés
39
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
25 janvier 2020
-
Bonjour, je vous prie de bien vouloir m'aider .
J'ai un select qui contient plusieurs option et j'aimerais qu'a chaque fois que je vais valider avec un href une valeur de mon select que je puisse la récupère dans un tableau mais mon code récupère une valeur vide
<?php
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=dbstock;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
 
$reponse = $bdd->query('SELECT * FROM produit');
?>
  
<form action="" method="POST">
     
    <td> 
 
    <select style="width: 193px; height:26px" name="despro" id="despro">
 
<?php
while ($donnees = $reponse->fetch())
{
?>
 
            
    <option value="<?php $despro = $donnees['despro']; echo $donnees['despro'];?>"><?php $despro = $donnees['despro']; echo $donnees['despro'];?>
        </option>
      
    
<?php
}
$reponse->closeCursor();
?>
 
     
    </select>  
 
  <a href="essai1.php?action=ajout& l=<?php echo $donnees['despro']; ?>& q=1&p=<?php echo $donnees['prix']; ?>&n=<?php echo $donnees['numserie']; ?>" class="btn btn-warning">Ajouter</a>


EDIT : Correction des balises de code

2 réponses

Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337
Bonjour,

Déjà...merci de poster correctement ton code.
Explications ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite, ceci,
<?php
while ($donnees = $reponse->fetch())
{
?>
 
            
    <option value="<?php $despro = $donnees['despro']; echo $donnees['despro'];?>"><?php $despro = $donnees['despro']; echo $donnees['despro'];?>
        </option>
      
    
<?php
}
$reponse->closeCursor();
?>

peut se résumer plus proprement
<?php
while ($donnees = $reponse->fetch())
{
  echo "<option value='".$donnees['despro']."'>".$donnees['despro']."</option>";
}
$reponse->closeCursor();
?>


et enfin...

j'aimerais qu'a chaque fois que je vais valider avec un href une valeur de mon select que je puisse la récupère dans un tableau

En français ça donne quoi ?
Pourrais tu un peux mieux décrire ce que tu cherches à faire ....
"valider" .. comment ?
"Récupérer dans un tableau" ... Quel tableau ?
Quel est le lien entre le select et le lien ?

Cordialement, 
Jordane                                                                 
Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337 >
Messages postés
5
Date d'inscription
mercredi 28 novembre 2018
Statut
Membre
Dernière intervention
3 décembre 2018

J'ai bien vu... tu as créé une nouvelle discussion à ce sujet sur :https://www.commentcamarche.net/forum/affich-35728649-lien-dynamique-avec-select-connecte-a-la-base-de-donnees
Mais même si tu utilises un nouveau compte à chaque question... j'ai tout de même deviné que c'était toi....
Quoi qu'il en soit, on ne sait pas de quelles autres "propriétés" tu parles.....
Sachant que je t'ai conseillé le javascript... et non le GET !
Messages postés
5
Date d'inscription
mercredi 28 novembre 2018
Statut
Membre
Dernière intervention
3 décembre 2018

le problème est que je ne peux utiliser un button de type submit
Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337 >
Messages postés
5
Date d'inscription
mercredi 28 novembre 2018
Statut
Membre
Dernière intervention
3 décembre 2018

Et pour quelle raison ne pourrais tu pas ??
Sinon, comme je te l'ai indiqué.. il faut te tourner vers le Javascript....
Messages postés
5
Date d'inscription
mercredi 28 novembre 2018
Statut
Membre
Dernière intervention
3 décembre 2018

oui je sais mais je ne maîtrise pas javascript
Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337
ah si j'ai compris.... les valeurs correspondantes à ton choix par rapport à ta bdd ....
Mais dans ce cas il te suffit de faire une requête SELECT en filtrant sur la valeur de ton select lorsque tu submit le formulaire...
Ainsi tu auras les valeurs correspondantes....
SELECT * 
FROM produit
WHERE despro = '$despro'
Messages postés
39
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
25 janvier 2020

Jordan45 a raison, il va falloir passer au JavaScript

 <?php
while ($donnees = $reponse->fetch())
{
  echo "<option value='".$donnees['despro']."'>".$donnees['despro']."</option>";
}
$reponse->closeCursor();
?>
<a href='[...]?<?php echo <gras>$donnees['despro'] </gras>?>Ajouter</a>

Quoi qu'il arrive $donnees prendra toujours la valeur de la dernière occurrence de tes résultats.
Donc l'utilisateur sélectionnera ce qu'il veut ce sera toujours la même valeur qui sera envoyée à savoir la dernière valeur de
$donnees =$reponse->fetch();


Donc il va falloir t'orienter vers le JavaScript et peut-être AJAX

--