24 Jan 2009
Moteur de recherche simple / MySQLi
Compatibilité : PHP 5, PHP 7, PHP 8
Un moteur de recherche nécessitant une table MySQLi qui exécute la recherche sur une table avec la requête LIKE. Une table SQL en exemple est fournie.
Classe permettant de générer une requête de recherche optimisée dans une base de données MySQL/MariaDB.
Compatible PHP 7.4 à PHP 8.3+
Attention : Cette classe construit des requêtes avec LIKE %texte%. * Pour une sécurité optimale en production, il est fortement recommandé * d'utiliser des requêtes préparées (PDO ou mysqli) avec bindParam.
// ====================== UTILISATION ======================
$s = new dbSearch($_POST['search_option'] ?? '', $_POST['search_text'] ?? '');
$sql = $s->mkQuery(
'news', // table
'id, titre', // champs à sélectionner (string ou array)
['titre', 'texte'], // champs dans lesquels rechercher
'id', // ORDER BY
'DESC', // sens (ASC ou DESC)
0, // LIMIT start
10 // LIMIT nombre (0 = pas de LIMIT)
);
echo $sql['select']; // requête SELECT avec LIMIT
echo $sql['count']; // requête COUNT pour la pagination
Pour récupérer uniquement la clause WHERE (utile pour pagination) :
$where = $s->getWhere();
24 Jan 2009
Dernière mise à jour :
|
01 02 03 04 05 06 07 08 09 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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
|
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
| php.net | Description |
Versions PHP | |
|---|---|---|---|
| array |
Crée un tableau
|
PHP 4, 5, 7 et 8 | |
| array_filter |
Filtre les éléments d'un tableau grâce à une fonction de rappel
|
PHP 4, 5, 7 et 8 | |
| array_map |
Applique une fonction sur les éléments d'un tableau
|
PHP 4, 5, 7 et 8 | |
| count |
Compte tous les éléments d'un tableau ou dans un objet Countable
|
PHP 4, 5, 7 et 8 | |
| echo |
Affiche une chaîne de caractères
|
PHP 4, 5, 7 et 8 | |
| empty |
Détermine si une variable est vide
|
PHP 4, 5, 7 et 8 | |
| explode |
Scinde une chaîne de caractères en segments
|
PHP 4, 5, 7 et 8 | |
| htmlspecialchars |
Convertit les caractères spéciaux en entités HTML
|
PHP 4, 5, 7 et 8 | |
| implode |
Rassemble les éléments d'un tableau en une chaîne
|
PHP 4, 5, 7 et 8 | |
| isset |
Détermine si une variable est déclarée et est différente de null
|
PHP 4, 5, 7 et 8 | |
| is_array |
Détermine si une variable est un tableau
|
PHP 4, 5, 7 et 8 | |
| return |
Retourne le controle du programme au module appelant
|
PHP 4, 5, 7 et 8 | |
| strtoupper |
Renvoie une chaîne en majuscules
|
PHP 4, 5, 7 et 8 | |
| str_replace |
Remplace toutes les occurrences dans une chaîne
|
PHP 4, 5, 7 et 8 | |
| trim |
Supprime les espaces en début et fin de chaîne
|
PHP 4, 5, 7 et 8 | |
Un moteur de recherche nécessitant une table MySQLi qui exécute la recherche sur une table avec la requête LIKE. Une table SQL en exemple est fournie.
Vous cherchez 1 ou des fichiers particuliers, vous avez qu'1 partie du nom et vous voulez rechercher sur tous les fichiers.
| Langue | |
| Date | 12 Avril |
| Taille | 30 Mo |
| Catégorie | PHP |
| Langue | |
| Date | 11 Avril |
| Taille | 15 Mo |
| Catégorie | Blogs |
| Langue | |
| Date | 11 Avril |
| Taille | 34 Mo |
| Catégorie | CMS |
| Langue | |
| Date | 10 Avril |
| Taille | 38 Mo |
| Catégorie | CMS |
| Langue | |
| Date | 09 Avril |
| Taille | 89 Mo |
| Catégorie | Logiciels |
Nixi54
04 Avril 2008 à 00:38..dans le même fichier, c'est une classe car PHP est aussi orienté objet.
Imboa
03 Avril 2008 à 16:14bonjour
je suis peu debutant
le /* CLASS */ est un code à mettre où, ou bien un fichier à créer??
merci
Nixi54
03 Jan 2008 à 13:46Il te faut utiliser un page par page
Mikaweb
02 Jan 2008 à 21:07Est-ce qu'il y aurait moyen de faire un système de pagination avec ce système ?
Je l'utilise actuellement, sa fonctionne impec. mais j'aimerais pouvoir afficher plus que les 10 premiers résultats comme je le fais actuellement.
Si je met 100 sa risque de descendre très bas et je ne souhaite pas faire scroller les utilisateurs.