Affiche des donner depui mysql

Fermé
Utilisateur anonyme - 18 avril 2008 à 22:44
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 - 21 avril 2008 à 10:51
Bonjour,
slt mes amis .. bon je sui un débutant en php/mysql .. et je doit faire un dictioonnaire arabe
jé 2 tableu un pour la définition du mot a rechercher contien le nom du mot et la racine et le domaine d'utilisation du mot et leur synonyme ... etc . et l'autre tablaue c pour les image jé stocker des image dans une table pour afficher a chaque mot leur image . bon premierement je fait la premier page contient une botton pour rechercher et la zone du texte ... mon probléme et ke je doit afficher la définition du mot saisi dans la zonz du texte depui ma table mysql définition telk nom saisi = nom du mot dans la base
et moi j'ecrit un code mai et jé stocker une seul définition pour un mot alor dans la recherche si le mot et dans la base alor il affiche la défionition sinon aucune recherche trouver dans ma base .. et pour moi mon code affiche toute mot ke j lé saisi dans la zone du texte la définition du mot ke é stocké dans ma base de donnée pourtan le mot saisi ne trouv pa dans ma table .. et voici mon code

1ére page

<br>veuiller taper votre mot ici :<p>
<form action="rech2.php" method="post">
<center>
<input type="text" name="mot" ><input type="submit" value="Recherche" >
</center>
</form>
2éme page

<center><h2> la définition du mot </h2></center>
<?
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("dico"); // Sélection de la base dico

$reponse = mysql_query("SELECT * FROM def"); // Requête SQL


// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse) )
{
if ( $donnees['nom_mot'] = $_POST['mot'] )
{
?>

<p>
<? echo $donnees['nom_mot']; ?> : <? echo $donnees['cat_mot']; ?>,
, leur racine est <? echo $donnees['rac_mot']; ?>
sur le poid <? echo $donnees['poi_mot']; ?> et leur pluriel <? echo $donnees['conj_mot']; ?><br />
domaine d'utilisation de ce mot : <? echo $donnees['dom_mot']; ?><br />
definition : <? echo $donnees['nom_mot']; ?> est <? echo $donnees['def_mot']; ?> <br />
syn/anto : <? echo $donnees['syn_mot']; ?>, <? echo $donnees['ant_mot']; ?><br />
exemple d'utilisation : <? echo $donnees['user_mot']; ?><br />
erreur d'utilisation : <? echo $donnees['err_mot']; ?><br />
</p>

<?
}
}

mysql_close(); // Déconnexion de MySQL
?>
<p><h4>
Si tu veut faire une autre recherche, <a href="rech.php">clique ici</a>
</h4></p>

et les 2 table son lé suivant

table def (definition)
nom_mot (nom du mot)
cat_mot ( catégorie du mot
rac_mot ' racine du mot
poid_mot (poid du mot
conj_mot (conjugaison du mot
def_mot (definition du mot
dom_mot ( domaine dutilisation du mot
syn_mot (synonyme du mot
ant_mot ( antonyme du mot
user_mot ( exemple dutilisation du mot
err_mot( erreur dutilisation du mot

la 2éme table
CREATE TABLE `images` (
`img_id` INT NOT NULL AUTO_INCREMENT ,
`img_nom` VARCHAR( 50 ) NOT NULL ,
`img_taille` VARCHAR( 25 ) NOT NULL ,
`img_type` VARCHAR( 25 ) NOT NULL ,
`img_desc` VARCHAR( 100 ) NOT NULL ,
`img_blob` BLOB NOT NULL ,
PRIMARY KEY ( `img_id

alor kelkun m'aidé svp
et merci

2 réponses

R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
18 avril 2008 à 23:29
La requête "SELECT * FROM def" n'est pas la bonne, il faut limiter la recherche au mot que l'utilisateur a entré : "SELECT * FROM def WHERE nom_mot = '$_POST[mot]'"

Et puis sinon, la comparaison if ( $donnees['nom_mot'] = $_POST['mot'] )
{
devient inutile (penser à enlever l'accolade fermante !).



Raph
0
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
21 avril 2008 à 10:51
Salut dino-info,


Essaye avec ça pour ta page rech2.php :
<center><h2> la définition du mot </h2></center>
<?
	mysql_connect("localhost", "root", ""); // Connexion à MySQL
	mysql_select_db("dico"); // Sélection de la base dico

	$mot = mysql_escape_string($_POST['mot']);
	$sql = "SELECT * FROM def WHERE nom_mot = '$mot'";
	$reponse = mysql_query($sql); // Requête SQL


	// On fait une boucle pour lister tout ce que contient la table :
	$donnees = mysql_fetch_array($reponse);
	if ( $donnees == FALSE )
	{
		echo "Probleme avec la requète $sql : ".mysql_error();
		exit;
	}

	if ($donnes) {
?>
<p>
<? echo $donnees['nom_mot']; ?> : <? echo $donnees['cat_mot']; ?>,
, leur racine est <? echo $donnees['rac_mot']; ?>
sur le poid <? echo $donnees['poid_mot']; ?> et leur pluriel <? echo $donnees['conj_mot']; ?><br />
domaine d'utilisation de ce mot : <? echo $donnees['dom_mot']; ?><br />
definition : <? echo $donnees['nom_mot']; ?> est <? echo $donnees['def_mot']; ?> <br />
syn/anto : <? echo $donnees['syn_mot']; ?>, <? echo $donnees['ant_mot']; ?><br />
exemple d'utilisation : <? echo $donnees['user_mot']; ?><br />
erreur d'utilisation : <? echo $donnees['err_mot']; ?><br />
</p>

<?
} else {
	echo "La recherche sur $mot n'a donné aucun résultat";
}
mysql_close(); // Déconnexion de MySQL
?>
<p><h4>
Si tu veut faire une autre recherche, <a href="rech.php">clique ici</a>
</h4></p>


0