D'abord une correction : mysql_query ne renvoie false qu'en cas d'échec de le requête (ce que tu traites avec or die(), d'ailleurs) Si la requête fonctionne correctement, if($result) sera valide, qu'il y ait ou non un résultat.
SI tu veux vérifier si il y a un résultat, mieux vaut utiliser mysql_num_row par exemple
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| $result = mysql_query("SELECT * FROM post WHERE nom='$search' AND valide=1") or die(mysql_error());
//affichage du résultat si la recherche existe
if (mysql_num_rows($result) > 0) {
echo "valeur existante".'<br />';
while($res=mysql_fetch_array($result))
{
echo'<legend>'.$search.'</legend>'.'<br />'.'<br />';
echo $res['auteur'].'<br />';
echo $res['date'].'<br />';
echo $res['valeur'];
}
echo"<br /><br />";
echo "<table><tr><td>Apportez votre contribution</td></tr>";
echo "<form action='ajout.php' method='post'>";
echo "<tr><td></td><td><input type='text' name='nom' value=".$search.">"."</input></tr></td>";
echo "<tr><td>Auteur</td><td><input type='text' name='auteur'>"."</input></tr></td>";
echo "<tr><td>Com</td><td><textarea type='text' name='commentaire'>"."</textarea></tr></td>";
echo "<tr><td><input type='submit' value='ajouter'></tr></td>";
echo "</form></table>";
} else {
//formulaire de création du mot inexistant
echo "la recherche ".'<b>'.$search.'</b>'." n'existe pas".'<br />'."Voulez vous créer ce mot?";
echo '<br />'.'<br />';
echo "<form action='creation.php' method='post'>";
echo "<table><tr><td>Mot</td><td><input type='text' name='nom' value='$search'>"."</input></td></tr>";
echo "<tr><td>Auteur</td><td><input type='text' name='auteur'>"."</input></td></tr>";
echo "<tr><td>Définition</td><td><textarea type='text' name='commentaire'>"."</textarea></td></tr>";
echo "<tr><td><input type='submit' value='créer' ></td></tr>";
echo "</form></table>";
} |