petit soucis avec this.form.submit() - PHP - Programmation
Marsh Posté le 09-03-2003 à 19:28:07
bossamiral2 a écrit : |
Bin c'est normal, tu tentes une connec à la base de données avant que l'utilisateur ait chargé la page
Pour un bon déroulement de la chose, mets ton formulaire sur une page et le traitement des résultats sur une autre.
Marsh Posté le 09-03-2003 à 19:30:33
ben le but c'était justement de tou faire sur la même page.
Marsh Posté le 09-03-2003 à 19:34:37
bossamiral2 a écrit : ben le but c'était justement de tou faire sur la même page. |
Bon ba vu comment ton code est foutu, tu dois avoir ton formulaire puis un "Problème de Base de donnée" en-dessous, non ?
Dans ce cas, t'as le choix de plusieurs possibilités :
* si le choix est 0, t'affiches rien, pas de message d'erreur, nada. Pis quand le gars changera, le choix sera pas à 0 et ça rentrera dans ton code.
* tu rajoutes un input en hidden avec un nom de variable que tu veux genre validated. Pis dans ton code PHP, tu testes si ta variable validated existe (via un isset() ) ; si elle existe, tu te connectes à la base, sinon tu fais rien.
Marsh Posté le 09-03-2003 à 19:42:22
Juste
La premier version j'avais mis un :
echo '  <input type="submit" value="Afficher" name="Afficher">';
Avec une condition supplémentaire ($submit==true)
Mais le problème c'est qu'il fallait toujours valider le changement dans le menu pour changer l'affichage
Marsh Posté le 09-03-2003 à 19:21:43
Voilà je crée une liste avec des valeurs récupérées dans une base de données et dès que la personne clique change l'élément de la liste j'affiche les valeurs automatiquement.
Le seul soucis, c'est au chargement de mon formulaire la première fois, je passe directement dans ma procedure d'affichage et cela me crée une erreur d'ouverture de db.
Mon problème est ou il y a le code en rouge. il faudrait que je ne passe pas dedans tant que je n'ai pas changé d'élément dans la liste
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
echo '<form method="post" action="essai3.php3">';
echo '<select name="choix" onchange="this.form.submit()">';
echo '<option value="0">Sélectionner</option>';
$db=mysql_connect('localhost','root','';
mysql_select_db('contact',$db);
$sql='SELECT auto,Nom,Prenom FROM contact_tbl ORDER BY Nom';
$req=mysql_query($sql) or die('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());
while($data=mysql_fetch_array($req))
{
echo'<option value="'.($data['auto']).'">'.($data['Nom']).' '.($data['Prenom']).'</option>';
}
echo '</select>';
echo '</form>';
if (($choix<>0) or ($choix<>"0" )) {
$sql='SELECT * FROM contact_tbl WHERE auto='.$choix;
$req=mysql_query($sql) or die('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());
while($data=mysql_fetch_array($req))
{
echo '<br>Affichage des donnes<br>';
}
}
else {
echo '<br><br> Problème de Base de donnée';
}
mysql_close();
?>
</body>
</html>