Rien ne s'affiche ???

cs_ralebole Messages postés 208 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 5 janvier 2023 - 6 mai 2008 à 09:59
cs_ralebole Messages postés 208 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 5 janvier 2023 - 6 mai 2008 à 10:47
Bonjour, j'utilise un code pour effectuer une recherche dans une base de données mysql que j'ai trouver sur le site. Mais le problème quand j'utilise le code et effectue une recherche cela m'indique bien le nombre de resultats pour ma recherche mais ne m'affiche pas le tableau des enregistrements trouvés.
Si quelq'un peu m'aider à resoudre le probleme merci d'avance (J'utilise le code sur le serveur et non en local)
Le probleme dans le code commence à partir de la ligne qui est en rouge

Voici le code :
 <form method="get" action="dico4.php">
 Recherche : '>
 
</form>,

----

,

<?
$host = \"xxxxxxxx.fr\";  // votre host sql (ex: sql.free.fr)
$user = \"xxxxxxxxx\";  // votre identifiant
$pass = \"xxxxxxxxxx\";  // votre password
$bdd  = \"xxxxxxxxxx\"; // le nom de votre base de donné
$table = \"noslivres\"; // par défaut le nom de votre table est news mais si vous voulez le changer libre a vous (n'oubliez pas de changer aussi le fichier .sql)
$c = @mysql_connect($host,$user,$pass) or die(\"connection impossible\");
@mysql_select_db(\"$bdd\",$c) or die(\"selection impossible\");
$result = mysql_query(\"SELECT count(Numéro) FROM \".$table.\" WHERE `Auteur` LIKE '%$search%' OR `Titre` LIKE '%$search%' OR `Genre` LIKE '%$search%'\");
$ret = mysql_fetch_array($result);
// nombre de lignes
$nb_results = $ret[0];
if ($nb_results<=0 OR empty($search)) {
if (empty($search)) {
echo \"----
Pas de recherche à effectuer., \";
} else {
echo \"----
Il y a $nb_results résultats à votre recherche. Recommencez avec un seul mot..., \";
}
} else {
echo \"----
Il y a $nb_results résultats à votre recherche., \";
//Probleme a partir d'ici rien ne s'affiche
$sql = \"select * from $table WHERE `Auteur` LIKE '%$search%' OR `Titre` LIKE '%$search%' OR `Genre` LIKE '%$search%' order by id DESC\";
if($p = @mysql_query($sql,$c)){
while($r = @mysql_fetch_array($p)){
 $id = \"$r[Numéro]\";
 $rohff = \"$r[Auteur]\";
 $rimk = \"$r[Titre]\";
 $booba = \"$r[Genre]\";
 
echo \"----

$rohff,
$rimk,
$booba,
\";
}
}
}
?>

___________________________________________
Merci de m'apportez votre aide.

3 réponses

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
6 mai 2008 à 10:18
if($p = @mysql_query($sql,$c)){
}
else{
echo 'pb requete : '.$sql ;
}

tu l'as test sous phpmyadmin et puis voilà

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
cs_ralebole Messages postés 208 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 5 janvier 2023 1
6 mai 2008 à 10:28
if($p = @mysql_query($sql,$c)){
}
else{
echo 'pb requete : '.$sql ;
}

Voici ce qui s'affiche ( sur le serveur) :
pb requete : select * from noslivres WHERE `Auteur` LIKE '%Exbrayat%' OR `Titre` LIKE '%Exbrayat%' OR `Genre` LIKE '%Exbrayat%' order by id DESC
0
cs_ralebole Messages postés 208 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 5 janvier 2023 1
6 mai 2008 à 10:47
Merci j'ai pu remarquer d'ou venais l'erreur grace à ton "echo"

$sql = "select * from $table WHERE `Auteur` LIKE '%$search%'
OR `Titre` LIKE '%$search%'
OR `Genre` LIKE '%$search%' order by id DESC";
à replacer par
$sql = "select * from $table WHERE `Auteur` LIKE '%$search%'
OR `Titre` LIKE '%$search%'
OR `Genre` LIKE '%$search%' order by Numéro DESC";
0
Rejoignez-nous