Code php qui s'affiche mal à l'écran

Fermé
Tanguy - 13 avril 2011 à 15:50
wolves'sbrother Messages postés 218 Date d'inscription samedi 7 février 2009 Statut Membre Dernière intervention 13 juillet 2011 - 15 avril 2011 à 10:57
Bonjour,
J' ai reçu à l'écran ce code: ".$prod."\n"; } echo ""; echo ""; ?> après avoir exécuté ce programme php:


<html>
<body>
<h2>selectionner le produit </h2>
<?php
$rq="SELECT DISTINCT prod
FROM stock
WHERE temp3='$test' ";
$result=mysql_query($rq) or die ("requete impossible");
echo "<form action='ajoutstocke.php' method='POST'><select name='prod'>\n";

while ($ligne=mysql_fetch_array($result))
{
//extract($ligne);
if ($prod!=NULL)

echo "<option value='".$prod."'>".$prod."\n";

}
echo "</select>";
echo "<input type=\"submit\" value=\"valider\"></form>";
?>
</body>
</html>

quelle est l'erreur?


A voir également:

6 réponses

wolves'sbrother Messages postés 218 Date d'inscription samedi 7 février 2009 Statut Membre Dernière intervention 13 juillet 2011 34
13 avril 2011 à 15:56
Bonjour,
Ton code est incomplet , t'as oublié de fermer la balise option,
echo "<option value='".$prod."'>".$prod."</options>";
1
djGG Messages postés 221 Date d'inscription jeudi 7 mai 2009 Statut Membre Dernière intervention 18 février 2015 36
13 avril 2011 à 15:55
Bonjour,

echo "<option value='".$prod."'>".$prod."\n";

les doubles cotes ici sont doublées.
0
happy_girl Messages postés 111 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 26 juillet 2012 1
13 avril 2011 à 16:04
Bonjour,

je pense que le probleme est à ce niveau là : echo "<option value='".$prod."'>".$prod."\n";
essaye cette ligne :
echo "<option value='$prod'>".$prod."\n";
j'ai juste enlevé les doubles cotes ^^

ça doit marcher normalement
0
happy_girl Messages postés 111 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 26 juillet 2012 1
13 avril 2011 à 16:05
ah une autre chose , tu a oublié de fermer la balise <option>, il faut rajouter </option> à la fin de la meme ligne :)
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
15 avril 2011 à 09:39
Bonjour,

Voici votre code réécrit "proprement":
- la préparation des données est effectuée en amont du code HTML
- HTML utilise PHP comme moteur de template

<?php
// extraction liste produits depuis la base de données
$rq = "SELECT DISTINCT prod "
        . "FROM stock "
        . "WHERE temp3='$test' ";
$result = mysql_query($rq) or die("requete impossible");

// création liste produits dans un tableau
$listeProds = array();
while ($ligne = mysql_fetch_array($result)) {
    //extract($ligne);
    if (!empty($prod)) {
        $listeProds[] = $prod;
    }
}
?>
<html>
<body>
    <h2>selectionner le produit </h2>
    <form action='ajoutstocke.php' method='POST'>
        <select name='prod'>
            <?php foreach($listeProds AS $key => $val): ?>
            <option><?php echo $val; ?>
            <?php endforeach; ?>
        </select>
        <input type="submit" value="valider">
    </form>
</body>
</html>


A+
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
15 avril 2011 à 09:40
j'oublais, corriger la ligne <option>:

<option><?php echo $val; ?></option>
0
Et puis j'enregistre comme quoi parmi les deux suivant: ajoutstock.php ou ajoutstock.html
0
je l'ai tester et enregistrer en tant que fichier html et cela a marché. Mais pourquoi sous le fichier php cela ne s'affiche pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wolves'sbrother Messages postés 218 Date d'inscription samedi 7 février 2009 Statut Membre Dernière intervention 13 juillet 2011 34
15 avril 2011 à 10:40
S'il contient du code php tu doit l'enregistrer en fichier.php
0
wolves'sbrother Messages postés 218 Date d'inscription samedi 7 février 2009 Statut Membre Dernière intervention 13 juillet 2011 34
15 avril 2011 à 10:57
Si tu l'enregistre en .html, ton code php ne sera pas exécuté, et ta liste déroulante sera toujours vide.
C'est quoi la variable $test, tu ne l'as pas déclaré !!?
0