Formulaire probleme affichage données mysql

Résolu/Fermé
mils4582 - 7 déc. 2007 à 12:46
falcor Messages postés 61 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 26 mai 2009 - 15 mai 2008 à 16:31
Bonjour,

j´espère que vous pouvez m´aider, je d`ébutes dans la programmatiom en php et je voulais afficher des données de ma base en mysql.

voici mon code:

<form id="form1" name="form1" method="post" action="index.php">

<?php


$SQL = mysql_connect('localhost','root','') or die ("Error to connect");print ("Connect Erfolgreich.");

mysql_select_db('test',$SQL) or die ("Error to connect to db");

$result=mysql_query("select nom_status from status ");


mysql_close();


?>

<label><br />
<br />
<br />
<br />
<span class="Stil2">Quest ce que vou voulez faire?</span>

<SELECT NAME="nom_status">

<?php


while($val=mysql_fetch_array($result))
{

echo "<OPTION VALUE='".$val["nom_status"]."'>".$val["nom_status" ]."</option>";

}

?>

</SELECT>

<p>
<input type="submit" name="Submit" value="suivant" />

</p>


<?php

$nom_status="";


if (isset($_POST["nom_status"])) $name_sta =$_POST["nom_status"] ;

$chercheradresse = mysql_query("select a.nom_adr,s.nom_status from adresse a ,status s where s.nom_status= ' ".$nom_status " ');

$quelstatus = mysql_num_rows($chercheradresse);


for ($x=0;$x<$quelstatus ;$x++){

$nom_adr = mysql_result($chercheradresse,$x,'nom_adr');


echo " Nom de la societé du $nom_status est $nom_adr";


}


?>

</form>
</body>
</html>


je voulais si je choisi dans ma liste deroulante contenant les differents status afficher le ou les noms des societès ayant ce status.

mais a chaque fois je foit ces messages d'erreures :

Warning: mysql_query(): supplied argument is not a valid MySQL-Link
Warning: mysql_num_rows(): supplied argument is not a valid MySQL

et il ne reconnait pas la variable $nom_status dans la requete sql ("select....... s.nom_status=' ".$nom_status" ' " );


jespére que quelqu`un peut m´aider.

Merci d´avance
A voir également:

3 réponses

Bonjour,

qqs erreurs de conception:

dans ta deuxième partie de code, lorsque le bouton rappelle le script, (if (isset($_POST['nom_status']))

il faut se reconnecter à la base

il te manquait un " à la fin de ta requette

essaues en mettant ce code dans cette partie là:

if (isset($_POST["nom_status"])){
	$nom_status="";
	$name_sta =$_POST["nom_status"] ;
	$SQL = mysql_connect('localhost','root','') or die ("Error to connect". mysql_error());print ("Connect Erfolgreich.");
	mysql_select_db('test',$SQL) or die ("Error to connect to db". mysql_error());
	$chercheradresse = mysql_query("SELECT a.nom_adr,s.nom_status FROM adresse a ,status s WHERE s.nom_status= ' ".$nom_status " '");
	$quelstatus = mysql_num_rows($chercheradresse);

	if($quelstatus>0){
		while($result=mysql_fetch_array($chercheradresse)){
			$nom_adr = $result(['nom_adr'];
			$nom_status = $result(['nom_status'];
			echo " Nom de la societé du $nom_status est $nom_adr<br />";
		}
	}else{
		echo "Pas d'enregistrements trouv&eacute; !";
	}
mysql_close();
}

0
merci pour ton aide mais ca ne marche pas encore.

il ya toujours une faute dans la ligne de la requete sql.

je recoit le message d'erreur : Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

je ne comprend pas vraiment.

merci
0
falcor Messages postés 61 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 26 mai 2009 2
15 mai 2008 à 16:31
Ma page table contient pour chaque page :

Id_page exemple : accueil 1 ; produits 2 ;
Id_parent exemple : accueil 0 ; pages «filles de produits » 2 ;
Niveaux exemple : accueil 0 ; produits 1 ; fille de produits 2 : (utiliser dans l’index pour afficher ou non le sous menu avec d’éventuelle pages fille :if ($_ENV['niveaux'] > 0)
{
echo affiche_menu($_ENV['id_page']);
}

J’ai essayé de faire ainsi, mais mes menus s’affiche toujours avec toutes les pages et tout le temps.
Ha dur de débuter et de trouver le bon raisonnement 

function affiche_menu($idpage) {
// Sélectionne toutes les pages filles de la page en cours
$strSQL = "SELECT Id_page, Titre, Id_parent FROM pages ORDER BY Id_page ASC ";
"WHERE Id_parent =" .$idpage ;
$resultat = requete_SQL($strSQL);
// Si la page n'a pas de page fille, alors on modifie la requète pour obtenir ses pages soeurs.
if (mysql_num_rows($resultat) == 0) {
$strSQL = "SELECT Id_page, Titre, Id_parent FROM pages ORDER BY Id_page ASC "; "WHERE Id_parent =" .$_ENV['id_parent'];
$resultat = requete_SQL($strSQL);
0