JeuWeb - Crée ton jeu par navigateur
affichage et enregistrement bdd - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : affichage et enregistrement bdd (/showthread.php?tid=7125)



affichage et enregistrement bdd - hercull - 10-09-2014

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.


RE: affichage et enregistrement bdd - niahoo - 10-09-2014

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.


RE: affichage et enregistrement bdd - hercull - 10-09-2014

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>';



RE: affichage et enregistrement bdd - hercull - 11-09-2014

Quelqu'un connait il une solution à mon problème?

Merci.


RE: affichage et enregistrement bdd - niahoo - 11-09-2014

(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é.


RE: affichage et enregistrement bdd - Ter Rowan - 11-09-2014

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.


RE: affichage et enregistrement bdd - hercull - 11-09-2014

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.


RE: affichage et enregistrement bdd - Xenos - 11-09-2014

[Image: SiU8LHy.gif]

Pas très constructif, je sais...

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