Je cherche a faire un moteur de recherche qui affiche tout les résultat dans un tableau.
Donc apres avoir vu la mise en page et les differente caracteristiques de ce tableau sa ma donné sa :
$keyword = $_GET['search'];
$query = mysql_query("SELECT JR_main.ID,JR_main.IOS,JR_main.TYPE,JR_main.STATUS,JR_devices.IPH,JR_devices.IPH3G,JR_devices.IPH3GS,JR_devices.IPH4G,JR_devices.IPH4GS,JR_devices.IPOD1G,JR_devices.IPOD2G,JR_devices.IPOD3G,JR_devices.IPOD4G,JR_devices.IPAD1G,JR_devices.IPAD2G FROM JR_main,JR_devices WHERE JR_main.ID = JR_devices.ID AND type LIKE '%$keyword%' OR status LIKE '%$keyword%' OR ios LIKE '%$keyword%' ORDER BY id DESC") or die (mysql_error());
$nb_resultats = mysql_num_rows($query);
while($data = mysql_fetch_array($query)) {
echo '<tr class="';
echo ($c<0) ? 0 : ($c++ % 2 == 1) ? odd : even;
if($data['STATUS'] == "Coming Soon") { echo'soon">'; } else { echo'" onclick="DoNav(\'device.php?id='.$data['ID'].'\');">';};
echo '<td class="osimg">';
echo '<img src="img/iOS.png" class="icon"></td>';
echo '<td class="ios"><b>'.$data['IOS'].'</b></td>';
echo '<td class="compatibility"><div class="info">';
echo '<img src="img/dyna_2/iph1g'.$data['IPH'].'.png"><img src="img/dyna_2/iph3g'.$data['IPH3G'].'.png"><img src="img/dyna_2/iph3gs'.$data['IPH3GS'].'.png"><img src="img/dyna_2/iph4g'.$data['IPH4G'].'.png"><img src="img/dyna_2/iph4gs'.$data['IPH4GS'].'.png"><img src="img/dyna_2/ipod1g'.$data['IPOD1G'].'.png"><img src="img/dyna_2/ipod2g'.$data['IPOD2G'].'.png"><img src="img/dyna_2/ipod3g'.$data['IPOD3G'].'.png"><img src="img/dyna_2/ipod4g'.$data['IPOD4G'].'.png"><img src="img/dyna_2/ipad1g'.$data['IPAD1G'].'.png"><img src="img/dyna_2/ipad2g'.$data['IPAD2G'].'.png">';
echo '</div></td>';
echo '<td class="type"><b><font color="';
if($data['TYPE'] == "Warning") { echo'#ff0000'; } else { };
echo '">'.$data['TYPE'].'</font></b></td>';
echo '<td class="status"><b><div class="'.$data['STATUS'].'">'.$data['STATUS'].'</div></b></td></tr>';
}
mysql_free_result ($query);
Sa fonctione, le ou les résultats s'affiche avec la mise en page demandé MAIS le probleme c'est qu'il m'affiche 35 lignes (la totalitée des lignes des 2 tables JR_main et JR_devices) avec les même valeurs dans chaque lignes (valeur de la ligne que je recherche).
Alors que normalement il est censé m'afficher seulement le nombre de lignes comportant mon mot clé !!
Je pense que le probleme ce situe au niveau de la ligne "
WHERE JR_main.ID = JR_devices.ID AND type LIKE '%$keyword%' OR status LIKE '%$keyword%' OR ios LIKE '%$keyword%' ORDER BY id DESC")" mais je sais pas du tout le reformuler autrement.
Voila voila, j'espere que quelqu'un saura m'aider la dessus, si vous voyez quelque chose qui va pas sur ce code dites le moi parceque moi je ne vois strictement aucuns problemes.
Merci d'avance..

$query = mysql_query("SELECT JR_main.ID,JR_main.IOS,JR_main.TYPE,JR_main.STATUS,JR_devices.IPH,JR_devices.IPH3G,JR_devices.IPH3GS,JR_devices.IPH4G,JR_devices.IPH4GS,JR_devices.IPOD1G,JR_devices.IPOD2G,JR_devices.IPOD3G,JR_devices.IPOD4G,JR_devices.IPAD1G,JR_devices.IPAD2G FROM JR_main,JR_devices FROM JR_main INNER JOIN JR_devices ON JR_main.ID = JR_devices.ID WHERE JR_main.type LIKE '%$keyword%' OR JR_main.status LIKE '%$keyword%' OR JR_main.ios LIKE '%$keyword%' ORDER BY id DESC") or die (mysql_error());premièrement, type est un mot reservé de sql, pour éviter des soucies je te conseille de mettre des quotes autour (les quotes en sql, c'est alt Gr + 7)
ensuite, à un endroit type est en majuscule et par la suite , il est en miniscule
idem pour ios, id , status et peut être d'autre, fais attention de respecter la casse
autre chose, tu fais un order by id, mais tu as plusieurs id dans tes tables, tu auras un message d'erreur car il ne saura pas de quel id tu parles
Ah et au depart j'avais fait la requete sans la recherche et sa fonctionnais tres bien :
Et dans cette requete le ORDER BY id DESC fonctionne.
Bref au cas ou j'ai trouvé une autre technique moins propre mais qui fonctionne :P