Formulaire+liste deroulante

nad -  
 ephp -
Salut!

Je suis debutant en php ,j'ai creé un formulaire d'insertion d'articles.....
mais voila je me suis heurté a un proble me de liste deroulante dynamique au niveau de l'affichage ,je ne sais pas comment faire une requete de recuperation au niveau de ma BD !

voici ma base de donnees:

Code:

CREATE TABLE papier (
id_papier int(11) NOT NULL auto_increment,
rubrique varchar(20) default NULL,
titre varchar(48) default NULL,
corps text,
date date default NULL,
auteur varchar(48) default NULL,
email_auteur varchar(48) default NULL,
PRIMARY KEY (id_papier)
) TYPE=MyISAM;

CREATE TABLE rubriques (
id_rubrique int(11) NOT NULL auto_increment,
rubrique varchar(32) NOT NULL default '',
PRIMARY KEY (id_rubrique)
) TYPE=MyISAM;

j'ai insere cinq rubrique au niveau de ''rubriques"(easyphp)

id_rubrique rubrique

1 Editorial
2 Politique
3 Régionale
4 Nationale
5 Actualite
voici mon fichier recup_donnéés.php3 :

Code:

<html>
<head>
<title>Récupérer les données de la base de données</title>
</head>
<body bgcolor="#FFFFFF">
<h1>Les articles du journal </h1>
Triez les articles par
<a href="recup_donnees.php3?tripar=date">Date</a>,
<a href="recup_donnees.php3?tripar=titre">Titre</a> ou par
<a href="recup_donnees.php3?tripar=auteur">Auteur</a>.
<p>
<form action="recup_donnees.php3" method="POST">
ou affichez uniquement les articles écrits par (<i>saisissez le nom de l'auteur </i>):
<input type="text" name="auteur">
<input type="submit" name="soumettre" value="Soumettre">
</form>
<table border="1" cellpadding="3">
<?php
/* Ce programme récupère les articles dans la base de données */
$bd = mysql_connect("localhost", "root");
mysql_select_db("papiers", $bd);
if(!empty($HTTP_GET_VARS['id_papier'])){
mysql_query("delete from papier where id_papier=".$HTTP_GET_VARS['id_papier']) or die(mysql_error());
}
if ($tripar == 'date'):
$sql = "select * from papier order by 'date'";
elseif ($tripar == 'auteur'):
$sql = "select * from papier order by 'nom_auteur'";
elseif ($tripar == 'titre'):
$sql = "select * from papier order by 'titre'";
elseif (isset($soumettre)):
$sql = "select * from papier where nom_auteur = '$auteur'";
else:
$sql = "select * from papier";
endif;
$resultat = mysql_query($sql);
while ($ligne = mysql_fetch_array($resultat)) {
print("<tr><td bgcolor=\"black\"><b>");
printf("<font color=\"black\">%s</font></b></td></tr>\n",
$ligne["rubrique"]);
print("<tr><td bgcolor=\"black\"><b>");
printf("<font color=\"black\">%s</font></b></td></tr>\n",
$ligne["titre"]);
printf("<td>De : <a href=\"mailto:%s\">%s</a>\n",
$ligne ["email_auteur"], $ligne["auteur"]);
printf("<br>Publié le : %s<hr>\n",
$ligne["date"]);
printf("%s</td></tr>\n",
$ligne["corps"]);
echo "<td><a href=recup_donnees.php3?id_papier=".$ligne['id_papier'].">
Supprimer l'article</a><br><a href=imprimer_article.php3?id_papier=".$ligne['id_papier']." target=_blank>Imprimer l'article:</a>
</td></tr>";
}
?>
</table>
</body>
</html>

1 réponse

ephp
 
salut,
tu a fait $sql = "select * from papier" alors que tu n'a aucun enregistrement dans la table papier
employer cette requete pour savoir le nombre d'enregistrement dans la table $res=mysql_num_rows($resultat);
en plus tu a qque problem dans l'affichage
au lieu de faire :
printf("<font color=\"black\">%s</font></b></td></tr>\n",
$ligne["titre"]);

il faut faire comme ca :
echo "<font color=\"black\">".$ligne["titre"]."</font></b></td></tr>\n";
0