Bonjour,
Alors là.. je suis paumé.
j'ai le code ci-dessous dans un moteur de recherche sur un de mes sites et ca merdouille.... je sais pas pkoi
je veux qu'il teste si il y a le "mot" dans le titre ou la description et n'affiche le resultat que si la valeur de status_pics soit à 1.... c'est pas compliqué, mais j'ai l'impression que j'ai du me tromper qqpart.
En effet, si il doit afficher sans mot recherché il affiche tt les elements avec status = 1, et si il y a un mot recherché, il a affiche tous les elements comprenant le mot mais ne tient pas compte du status
si qqun a une idee,
merci à tous !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 // on regarde si il faut rechercher des mots clés $mots = str_replace('%', '', $mots); $mots = str_replace('_', '', $mots); $mots = trim($mots); if ($mots != '') { $where = " WHERE title LIKE '%".addslashes($mots)."%' OR "; $where .= "description LIKE '%".addslashes($mots)."%' AND status_pics = '1'"; $criteres = "?mots=".urlencode($mots); } else { $where = " WHERE status_pics = '1'"; $criteres = "?"; } // Recherche du nombre de lignes $sql = 'SELECT count(*) '; $sql .= 'FROM '.$nom_table; $sql .= $where; $resultat = mysql_db_query($cfgBase, $sql); $enr = mysql_fetch_array($resultat); if (($nbtotal = $enr[0]) == 0) { echo 'Aucune vidéo trouvée'; } else { if (!isset($debut)) $debut = 0; // recherche des réponses $sql = 'SELECT '.$champs.' '; $sql .= 'FROM '.$nom_table; $sql .= $where; $sql .= ' ORDER BY date DESC'; $sql .= ' LIMIT '.$debut.','.$cfg_nbres_ppage; $resultat = mysql_db_query($cfgBase, $sql); $nbenr = mysql_num_rows($resultat); // plage de réponses $barre_nav = '<table align="center" class="tborder" style="border-collapse: collapse;" cellpadding="3" cellspacing="0" width="670">'; $barre_nav .= '<TR><TD class="cell1" WIDTH="40%" ALIGN="left"><font face="verdana" size="1" color="#ffffff">'; $barre_nav .= 'Vidéos <B>'.($debut + 1).'</B> à <B>'.($debut + $nbenr).'</B>'; $barre_nav .= ' sur <B>'.($nbtotal).'</B></font></TD>'; // barre de navigation $barre_nav .= "<TD class='cell1' ALIGN='left' WIDTH='60%'><font face='verdana' size='1' color='#ffffff'> "; if ($nbtotal > $cfg_nbres_ppage) { $barre_nav .= barre_navigation($nbtotal, $nbenr, $cfg_nbres_ppage, $debut, $cfg_nb_pages, $criteres); } $barre_nav .= "</font></TD></TR></TABLE><br>\n"; // affichage de la barre de navigation echo $barre_nav; // affichage des données $cpt = 0; //echo "<TABLE ALIGN=center BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH='800'>"; while ($enr = mysql_fetch_array($resultat)) { echo afficher_ligne($debut + $cpt + 1, $enr); $cpt++; } //echo "</TABLE>\n"; // 2ème barre après les résultats si nécessaire if ($nbtotal > $cfg_nbres_ppage && $cpt > ($cfg_nbres_ppage / 2)) { echo $barre_nav; } }
Partager