JeuWeb - Crée ton jeu par navigateur

Version complète : affichage et enregistrement bdd
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,

Je souhaite afficher dans un <select> les infos récupérés de ma bdd mysql, et ensuite que l'utilisateur puisse choisir dans la liste l'infos qu'il veux , et ensuite récupérer son choix et l'enregistrer dans ma bdd.


Pour l'affichage pas de problème, c'est lorsque je veux récupérer son choix que je reçoit un message d'erreur me disant que le variable est vide.

donc on a sa:

Code :
$re = 'SELECT titre FROM prochaines_ventes ORDER BY date DESC';
$re1 = mysql_query($re) or die(mysql_error());

<form method="post" action="" enctype="multipart/form-data">
echo'<select name="affichage_ventes" id="affichage_ventes">';
while($ligne = mysql_fetch_array($re1))
{
echo'<option value="'.$ligne['titre'].'">'.$ligne['titre'].'</option>';
}

echo'</select>';


$r = 'UPDATE prochaines_ventes SET pdf = "'.$lien_pdf.'" WHERE titre = "'.$_POST['affichage_ventes'].'"';
$rr = mysql_query($r) or die(mysql_error());

Message d'erreur : Undefined index : affichage_ventes.

Merci.
Forcément si tu mets tout à la suite ça ne va pas marcher ... ton code d'en bas est exécuté avant même que l'utilisateur ait envoyé le formulaire.

Et ta balise form n'est pas dans un echo "..", ce code ne compile pas, fais voir le vrai code.
Code :
include('connexion_bdd.php');

$re1 = 'SELECT titre FROM prochaines_ventes ORDER BY date DESC';
$re2 = mysql_query($re1) or die(mysql_error());

echo '<div id="nouvelle_vente">
     <div id="formulaire_nouvelle_vente">
  <form method="post" action="" enctype="multipart/form-data">  
<br/><h2>1) Choix de la vente</h2>';
echo '<select style="width:565px;" name="affichage_ventes" id="affichage_ventes">', "\n";
while($ligne = mysql_fetch_array($re2))
{
    echo '<option value="'.$ligne['titre'].'">'.$ligne['titre'].'</option>', "\n";
}
echo '</select>', "\n";

echo $_POST['affichage_ventes'];




    if(isset($_FILES['file'])){
    

        $file_name = $_FILES['file']['name'];
        $file_size =$_FILES['file']['size'];
        $file_tmp =$_FILES['file']['tmp_name'];
        $file_type=$_FILES['file']['type'];
                $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
                
                

$desired_dir="images_prochaines_ventes";
                        $path = "www.zzz.com/";
                        $lien_article = '"'.$path.'/'.$desired_dir.'/'.$file_name;
                        
                        $lienVrai = addslashes($lien_article);
move_uploaded_file($file_tmp,"".$desired_dir."/".$file_name);


                    echo $r ='UPDATE prochaines_ventes SET pdf_prochaine_vente = "'.$lienVrai.'" WHERE titre = "'.$_POST['affichage_ventes'].'"';
                    $r1 = @mysql_query($r) or die(mysql_error());
                    
                    echo "<br /><br /><center><spans style='color:green; font-size:18px;'>La vente et l'mages ont bien été envoyées</span></center>";
    }
    
    
echo'<h2>2) Importer un fichier PDF</h2>
<input name="file" type="file" id="file"/><br/><br/><br/>
<input type="submit" value="Valider" style="width:150px; height:30px;" class="btn btn-primary"/><br/><br/><br/><br/>
</form>';
echo '</div>
</div>';
Quelqu'un connait il une solution à mon problème?

Merci.
(10-09-2014, 01:32 PM)niahoo a écrit : [ -> ]tu mets tout à la suite ça ne va pas marcher ... ton code d'en bas est exécuté avant même que l'utilisateur ait envoyé le formulaire.

Ton echo $_POST['affichage_ventes']; est appelé avant que ton formulaire ne soit posté.
Le premier message de Niahoo aurait dû te faire tilter
on est pas sur une difficulté ponctuelle ou sur une complexité liée au jeu mais plus à la compréhension de la gestion de formulaire.

Je pense que des sites comme le site du zéro ou équivalent te donneront des tutoriels et autres éléments de compréhension.
Le echo $_POST['affichage_ventes']; est la uniquement pour que je vois ce que contient la variable, et oui elle est mal placé.
Que dois-je faire?

j'ai beau mettre mon form au dessus en dessous cela ne fonctionne pas.
Mon code peut il fonctionner en utilisant une seul page? ou je dois transmettre les variables sur une deuxième page?

J'ai compris il fallait mettre mon form au dessus de la listbox, maintenant sa fonctionne.

Merci.
[Image: SiU8LHy.gif]

Pas très constructif, je sais...

Soit sûr de comprendre "pourquoi" il fallait "mettre le form au-dessus du listbox".