Liste déroulante PHP/MySQL
informatick
-
ric -
ric -
Rien ne s'affiche en sortie !!!
Ni message d'erreur, ni résultats (pourtant la base est pleine).
Avez-vous vraiment une idée de solution ?
Voici les fichiers :
///////////////////
Base de données
//////////////////
<?
require("connexion.php");
mysql_query("
CREATE TABLE titre
(
id int(3),
nom varchar(30),
texte varchar (30),
image varchar(30
)") ;
?>
////////////////////
Page connexion.php
///////////////////
<font color="#000000">
<?
if (!mysql_connect("localhost","root",""))
{
echo "erreur access MySQL" ;
exit ;
}
else
{
/*echo "ca marche 1 <br>";*/
}
if (!mysql_select_db("mabase"))
{
echo "erreur access BDD" ;
exit ;
}
else
{
/*echo "ca marche 2<br>";*/
}
?>
</font>
/////////
Index.php
/////////
<html>
<body>
<FORM NAME="formulaire" METHOD="POST" ACTION="pageresultat.php">
<SELECT name="CHOIX" >
<FONT FACE="Palatino linotype" size="3" color="#ffffff">
<?
require ("connexion.php");
$sql="SELECT * FROM titre ORDER BY nom";
$resultat=mysql_query($sql);
while($ligne=mysql_fetch_array($resultat))
{
extract($ligne);
echo("<OPTION VALUE=\"nom\"> $nom</OPTION>");
}
?>
</font>
</SELECT>
<input type="submit" value="Valider">
</FORM>
</body>
</html>
//////////////////////
Page pageresultat.php
/////////////////////
<html>
<body>
<?
require ("connexion.php");
$sql="SELECT * FROM titre WHERE nom=\"".$_POST["CHOIX"]."\"";
$resultat=mysql_query($sql);
while($ligne=mysql_fetch_array($resultat))
{
extract($ligne);
echo ("$texte");
}
?>
</body>
</html>
Ni message d'erreur, ni résultats (pourtant la base est pleine).
Avez-vous vraiment une idée de solution ?
Voici les fichiers :
///////////////////
Base de données
//////////////////
<?
require("connexion.php");
mysql_query("
CREATE TABLE titre
(
id int(3),
nom varchar(30),
texte varchar (30),
image varchar(30
)") ;
?>
////////////////////
Page connexion.php
///////////////////
<font color="#000000">
<?
if (!mysql_connect("localhost","root",""))
{
echo "erreur access MySQL" ;
exit ;
}
else
{
/*echo "ca marche 1 <br>";*/
}
if (!mysql_select_db("mabase"))
{
echo "erreur access BDD" ;
exit ;
}
else
{
/*echo "ca marche 2<br>";*/
}
?>
</font>
/////////
Index.php
/////////
<html>
<body>
<FORM NAME="formulaire" METHOD="POST" ACTION="pageresultat.php">
<SELECT name="CHOIX" >
<FONT FACE="Palatino linotype" size="3" color="#ffffff">
<?
require ("connexion.php");
$sql="SELECT * FROM titre ORDER BY nom";
$resultat=mysql_query($sql);
while($ligne=mysql_fetch_array($resultat))
{
extract($ligne);
echo("<OPTION VALUE=\"nom\"> $nom</OPTION>");
}
?>
</font>
</SELECT>
<input type="submit" value="Valider">
</FORM>
</body>
</html>
//////////////////////
Page pageresultat.php
/////////////////////
<html>
<body>
<?
require ("connexion.php");
$sql="SELECT * FROM titre WHERE nom=\"".$_POST["CHOIX"]."\"";
$resultat=mysql_query($sql);
while($ligne=mysql_fetch_array($resultat))
{
extract($ligne);
echo ("$texte");
}
?>
</body>
</html>
3 réponses
-
Bonjour
---------------
CREATE TABLE titre
(
id int(3),
nom varchar(30),
texte varchar (30),
image varchar(30
)") ;
C'est quoi le " final ?
-----------------------
$sql="SELECT * FROM titre ORDER BY nom";
$resultat=mysql_query($sql);
while($ligne=mysql_fetch_array($resultat))
{
extract($ligne);
echo("<OPTION VALUE=\"nom\"> $nom</OPTION>");
}
devient
$sql="SELECT nom FROM titre ORDER BY nom";
$resultat=mysql_query($sql);
while($ligne=mysql_fetch_array($resultat))
{
// extract($ligne);
echo("<OPTION VALUE=\"nom\"> $ligne[nom]</OPTION>");
}
---------------------------
$sql="SELECT * FROM titre WHERE nom=\"".$_POST["CHOIX"]."\"";
$resultat=mysql_query($sql);
while($ligne=mysql_fetch_array($resultat))
{
extract($ligne);
echo ("$texte");
}
devient
$sql="SELECT texte FROM titre WHERE nom=\"".$_POST["CHOIX"]."\"";
$resultat=mysql_query($sql);
while($ligne=mysql_fetch_array($resultat))
{
// extract($ligne);
echo ("$ligne[texte]");
}
-------------------- -
ces erreur sont souvent du a des pb de requete SQL
essaie peut etre d'utiliser des ' plutot que des \" pour concatener tes where
$sql="SELECT * FROM titre WHERE nom=\"".$_POST["CHOIX"]."\"";
=====>
$sql="SELECT * FROM titre WHERE nom= ' ".$_POST["CHOIX"]." ' "; -
mysql_query("CREATE TABLE titre
(id int(3),
nom varchar(30),
texte varchar (30),
image varchar(30))");
Il manquait une parenthèse avant le " final.
D'accord avec Yann pour les apostrophes.