petit soucis avec this.form.submit()

petit soucis avec this.form.submit() - PHP - Programmation

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>

Reply

Marsh Posté le 09-03-2003 à 19:21:43   

Reply

Marsh Posté le 09-03-2003 à 19:28:07    

bossamiral2 a écrit :


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.


Bin c'est normal, tu tentes une connec à la base de données avant que l'utilisateur ait chargé la page :heink:
Pour un bon déroulement de la chose, mets ton formulaire sur une page et le traitement des résultats sur une autre.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 09-03-2003 à 19:30:33    

ben le but c'était justement de tou faire sur la même page.

Reply

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.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

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

Reply

Marsh Posté le 09-03-2003 à 20:15:46    

up

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed