Davideer Il y a 6 mois Répondre
Bonsoir à tous, je me tire les cheveux pour trouver l'endroit ou placer le addslashes() quelqu'un aurait il une idée
merci beaucoup
Dans ce tutoriel vidéo nous verrons comment, à partir d'un formulaire HTML, construire une requête SQL permettant de récupérer les résultat d'une recherche. Nous verrons aussi dans un deuxième temps comment afficher ces résultats en surlignant les mots clefs.
Après avoir appris sur Internet quoi de plus normal que de partager à son tour ? Passionné par le web depuis un peu plus de 5 ans maintenant j'aime partager mes compétences et mes découvertes avec les personnes qui ont cette même passion pour le web : Vous.
Davideer Il y a 6 mois Répondre
Bonsoir à tous, je me tire les cheveux pour trouver l'endroit ou placer le addslashes() quelqu'un aurait il une idée
merci beaucoup
Grafikart Il y a 5 mois - Répondre
Sur le forum pour les questions, merci
MisterShadows Il y a 8 mois Répondre
Salut Grafikart,
super tuto comme d'hab clair et efficace avec toujours ton petit truc "je fais de fautes en cours de route que je corrige au fur et à mesure" super didactique merci !
Par contre j'ai un souci avec les accent : j'ai une base en utf8 et j'aimerais bien faire en sorte que quand l'internaute cherche "ete indien" ou "ETE INDIEN" il trouve "été indien" et vice-versa. Si jamais t'avais un peu de temps.....
Merci sincèrement, j'ai super progressé grâce à tes tutos.
Graphiweb Il y a 12 mois Répondre
Chez une question si en veut par exemple faire un champ de recherche pour tout le site dans la requête sql en va devoir dire que l'on veut lister toute la base de données je me trompe ?
merci a toi grafikart té un bosse
Lunatix Il y a 12 mois - Répondre
@Graphiweb :Il le dit juste au début du tutoriel :
"Il est important de savoir que, pour réaliser un tel champ de recherche, il faut avoir la totalité du contenu de votre site web, dans une base de données."
Fred Il y a 12 mois Répondre
Salut Graphikart et bravo pour les tutoriels, très bons et très utiles.
Je jette un oeil sur le tutoriel sur la fonction rechercher (avec Google Chrome) et je vois ceci apparaître en haut de la page :
Notice (8): Undefined variable: t [APP/tmp/cache/views/tutoriels_recherche_php_40.php, line 65]
Je suppose qu'il y a une erreur quelque part ?
Bonne continuation en tout cas et encore bravo
Fred
saxon Il y a 1 an Répondre
Bonjour,
bravo pour ce superbe tutoriel comme toujours.
je suis débutant:::
j'ai un problème sur ma raquette ,
comment filtre les mots sur une requête mysql ( inviter et vite )
merci de votre aide
chikamuge Il y a 1 an Répondre
ça n'aurait pas été plus simple de faire la coloration chez le client avec un script jQuery, je pense que ça économise pas mal de temps pour le serveur
ReBleach Il y a 1 an Répondre
Euh pourquoi ne pas avoir fait comme ceci ? :
$q = str_replace(" ","%",$q);
$q = 'SELECT * FROM tarifs WHERE designation LIKE "%'.$q.'%"';
Pas de boucle et cela fonctionne sans problème, je l'expérimente depuis plusieurs mois (j'ai regardé ce tuto à tout hasard pour voir s'il y avait d'autres methodes).
Jerry Wham Il y a 1 an Répondre
Salut à tous,
Merci pour ce tuto dont je connaissais déjà le principe, et merci pour cet excellent site avec lequel j'apprends beaucoup.
Je bute depuis un moment maintenant sur un petit souci : si, dans le champ dans lequel on cherche, le mot est suivi par une virgule, un point ou autre, le résultat ne donne rien.
Si quelqu'un a une idée, je suis preneur.
Merci d'avance.
simo Il y a 2 ans Répondre
merci pour cette tutorial
mon probleme est si je veux faire la recherche sur plusiere colonne
$sql=" SELECT * FROM WHERE titre LIKE '%$q%' OR contenu LIKE '%$q%'";
nekomata Il y a 2 ans Répondre
Finalement, je patauge. J'ai des regex me permettant d'isoler le code des images et URL, mais je ne sais pas trop quoi en faire...
Si quelqu'un a une piste pour comprendre comment annuler le surlignage dans les images et URL, je suis preneur.
nekomata Il y a 2 ans Répondre
Bon tuto et qui fonctionne très bien. Trop même, en ce qui concerne la fonction Surlign.
En testant sur un billet, ça a cassé le code à deux reprises : la première en me mettant un span surlign dans le alt d'une image, le second en me collant deux span surlign dans une URL dynamique (faisant apparaître le ? et les variables le suivant.
J'imagine qu'un expression régulière permettrait d'éviter que le script ne touche aux images et URL, mais je dois encore bosser ça.
Malgré ce petit souci, ça reste un script bien sympa et utile pour progresser. Merci.
Yonell Il y a 2 ans Répondre
Très bonS tutoS. En effet, je suis rester à en regarder plusieurs. Ils sont tous excellents. Merci beaucoup
Petit_fwanz Il y a 2 ans Répondre
Merci pour ce tuto et tous les autres à vrai dire ^^
Si on est un peu Geek et que l'on a envi d'apprendre disons que grâce à toi c'est presque gagné :D
Je parle en connaissance de cause
THX
artz Il y a 2 ans Répondre
vous proposer pas de lien de téléchargement pour les tutoriels php dommage
Jeff Il y a 2 ans Répondre
Bonjour!
Merci pour tes supers tutos.
Pourrais tu me dire le nom de la musique pendant le tuto ? Elle est reposante et j'aimerais l'écoute pendant que je travaille héhé
Merci d'avance !
Loulou8407 Il y a 3 ans Répondre
C'est encore moi, ou la la la galère !!!
Je viens d'essayer avec ça
while($d=mysql_fetch_assoc($req)){
while ($resultat=mysql_fetch_array($req)){
$tableau= array();
array_push ($tableau, $d);
print_r($tableau);
}
Il me sort le résultat sous cette forme :
Array ( [0] => Array ( [id] => 45 [titre] => Mon titre [texte] => Mon texte [date] => 0000-00-00 ) )
Je pense que c'est exploitable sur 1 table mais si ma 2 eme table n'a pas des champs qui se nomment id,titre,texte ou date je vois pas comment faire ????
Loulou8407 Il y a 3 ans Répondre
Bonjour et merci pour tes 2 pistes.
J'avais pensé a l'afficher l'un après l'autre mais ça me semble lourd au niveau du code car je vais avoir 5 tables différentes a interroger, de plus elles ne sont pas lier par quoi que ce soit.
Pour la 2 eme piste de mettre en tableau ça me semble plus intéressent (pour mon apprentissage entre autre) mais je n'arrive pas a mettre les résultats de plusieurs requêtes dans un seul tableau.
Je sais le faire en dur :
$tab=array("cerise"=>"rouge","pomme"=>"verte");
mais pas en dynamique, et je gratte pas mal sur tes vidéos mais je ne trouve pas d'exemple pour me dépatouiller de mon problème sniff !!!
Merci d'avance pour votre aide a tous
Grafikart Il y a 3 ans Répondre
@Loulou8407 : La solution est plus simple que ce que tu pense. Il faut faire 2 requète différentes et stocker tous les résultat dans un tableau ou les afficher l'un après l'autre
frc Il y a 1 an - Répondre
Bonjour,
Pour faire la requête dans deux tables, il y a AGAINST au lieux de LIKE. Vous n'auriez pas un petit tutoriel pour en expliquer le fonctionnement ?
Merci pour votre travail.
FRC
Loulou8407 Il y a 3 ans Répondre
Re bonjour c'est encore moi
Je viens de passer un moment sur le web pour faire un moteur de recherche sur plusieurs tables. Je vois pas mal d'exemples avec des tables qui ont des jointures, mais aucun sur des tables sans jointure.
Je m'explique, je voudrais, en partant de ce super tutoriel faire une recherche sur le champ titre de ma table actualites et sur les champs titre et sujet de ma table info_du_jour, par exemple.
J'ai un peu de mal a intégrer ça dans le tuto avec le foreach le while etc..
Je suis un peu perdu.
Merci pour ton aide !!!
Loulou8407 Il y a 3 ans Répondre
Bonjour, ET félicitation Monsieur le Raton laveur, c'est du super travail.
Je viens de faire ton tuto que je trouve génial tout comme ton site. J'ai lu tout le forum de ce tuto en espèrent trouver des infos pour faire des recherches de mots clés dans plusieurs tables qui n'on pas forcement de champs identiques mais je n'ai rien trouvé. Un tuto sur le sujet serait sympa je pense car il permettrait de voir le php et le sql.
C'est une idée, et en plus ça m'arrangerai beaucoup lol
Bonne continuation 19,9/20 !!!
audi68 Il y a 3 ans Répondre
Bonjour, super tuto rien a dire
Par contre j ai un petit probleme sur ma recherhce lorsque je ne met rien il m affiche tous les resultats de ma base prq cela?
merci pour votre aide
Benoit Il y a 3 ans Répondre
Bonjour, superbe tutoriel, j'ai vu tout tes tutoriel concernant le php et celui là est le dernier donc je te met un petit mot de remerciement, je vais aussi te raconter une blague: j'avais un problème parce que ce que je tapais dans l'input n'arrivait pas dans l'url j'allais poster un commentaire pour que tu m'aide et quand j'ai regarder le bouton envoyer j'ai dis :" Mais quel con si je fais un post sa va pas marcher" tout sa pour dire que même quand on regarde ton site sa résous nos problèmes. Encore merci pour tes tutoriels superbe.
Tchung Il y a 3 ans Répondre
Désolé du double post le test c'est plutôt ça:
if((strlen($mot)>2)&&($mot!='les'&& $mot!='des' && $mot!='ces' && $mot!='ses' && $mot!='est'))
:)
Tchung Il y a 3 ans Répondre
Merci pour le tuto je voulais juste signaler que les recherches portant sur le 1er mot ou le dernier n'est pas pris en compte. Dû au espace % $mot %.
Je réfléchis à une astuce pour palier cela.
Sinon j'ai fait en sorte que les recherches avec 3 lettres sont pris en compte.
Surtout intéressant pour ceux qui parle de jeux video sur leurs sites (comme ps3, wii, ps2, psp etc...) voila le test à remplacer:
if((strlen($mot)>3)||($mot!='les'&& $mot!='des' && $mot!='ces' && $mot!='ses' && $mot!='est'))
A faire dans les deux foreach.
Chris Il y a 3 ans Répondre
Bon, je vais répéter ce qui a déjà été dit : merci. C'est très pédagogique et super bien foutu, je me suis mis à php il y a 3 mois et tes vidéos m'ont permis de comprendre beaucoup mieux et bien plus vite, reste la pratique. C'est vraiment excellent. @plus.
mika450 Il y a 3 ans Répondre
Salut, Encore une fois merci pour ce tuto que je me suis empressé de faire sur mon site , mais voilà depuis quelque temps j'ai un soucie avec les accents : si je cherche "bébé" et que je tape "bebe" cela ne fonctionne pas . j'ai verifier l'encodage de mes pages elle sont toutes en UTF8 de même pour la BDD . je n'ai pas utilisé de htmlentities() ni pour l'enregistrement dans la table , ni pour la recherche.
Est-ce que quelqu'un aurai une methode pour l'enregistrement ou la recherche (quels fonctions utilisé) pour ne plus avoir ce probleme à l'avenir .
Merci d'avance. ;-)
cerise Il y a 3 ans Répondre
Vraiment ******GENIAL********MERCI
Si je peu me permettre Yohan regarde le tuto Formulaire de contact en PHP
Grafikart explique la fonction empty()
cerise
Yohan Il y a 3 ans Répondre
Merci pour ce super tuto'. Cependant j'ai un petit soucis. Si je ne remplis rien dans mon champ, et que je clique simplement sur le bouton Envoyer, ça me renvoi bien entendu à ma page search.php, mais le soucis c'est que ça affiche tout le contenu de ma BDD. C'est assez embêtant, et je ne sais pas trop comment résoudre cela. Sinon si je tape un mot clé, ça fonctionne très bien.
WA007 Il y a 3 ans Répondre
Bonjour cher Raton, une nouvelle question pour toi ! J'ai essayer de comprendre la fonction foreach() mais sans succès même avec php.net/foreach. Je ne sais pas si simplement je suis idiot, je sais que ça sert exclusivement à parcourir un tableaux mais je ne suis pas sur de comprendre son fonctionnement ! Je réussi à refaire ton script de par coeur mais je haie ne pas comprendre, donc si tu à 2 minutes à m'accorder ça serais intéressant que tu l'explique dans tes propres mots ! Si tu le souhaite mon courriel est mon MSN sinon fait le ici ^^ )
zolive Il y a 3 ans Répondre
Enfin un site ou les tutos sont accessibles à tout le monde, super travail!!!
j'aimerai savoir s'il est possible avec cette fonction rechercher de recherche sur plusieurs champs d'une meme table, ici Titre et contenu
merci.
Grafikart Il y a 3 ans Répondre
@Visual3d : Tu me laisse un roman. Si j'ai bien compris ton souci est sur les chiffres ou il ne reconnait pas strlen ? Tu peux forcer le type des variables en utilisant (string) par exemple.
@François : Merci pour le lien je vais étudier ça.
Visual3d Il y a 3 ans Répondre
Salut!
Toujours aussi plaisant tes tuto
Alors j'ai pu tester ton script via la création d'un formulaire de recherche en ajax. Après des heures de manipulation le tout fonctionne à peu près bien... Quelques éléments étant à revoir! (surement dû à l'intégration de la fonction de recherche ajax ^^)
- Je pense que le bug provient de : " if(strlen($mot)>3) { "
// Si $mot>3 : Jusqu'a trois lettre dans le champ de rechercher = affichage de tous les articles. Exemple :
Une lettre : ?search=b => " Affichage de tous les articles "
A partir de 4 lettres : ?search=1434 => " 0 Résultat "
// Si $mot>0 : Fonctionne mieux mais si :
Exemple : ?search=k :" 0 résultat" => Ok
?search=15dcq :" 0 résultat" => Ok
?search=a :"Affichage de tous les articles contenant la lettre a" => Pas bon (mais normal puisque recherche effectuée a partir de 0 caractère)
?search= : "Affiche tous les articles" => Pas bon
themaster Il y a 3 ans Répondre
Merci infiniment pour tous les tutorial, il mon aider beaucoup dans mon projet de fin d’étude
Merci pour ce magnifique site.a plus
François Il y a 3 ans Répondre
Il existe déjà des fonctions intégrés à Mysql qui permettent de faire des recherches assez poussées en les classant assez intelligemment. (MATCH...AGAINST)
http://dev.mysql.com/doc/refman/5.1/en/fulltext-query-expansion.html
Ceci dit ce genre de tuto est assez intéressant car il permet de découvrir pleins de trucs sympas!
Rémi Il y a 3 ans Répondre
Je découvre le blog, ce tuto vidéo est super sympa
NooBs Il y a 3 ans Répondre
Merci pour les tutos de pros. Vous faîtes un travail génial merci prof.
j'aimerais bien que vous postez le lien pour le téléchargement .
swiss-power Il y a 3 ans Répondre
Je n'ai rien dit, je mettais onFocus et ça ne fonctionnait pas. Maintenant j'ai onfocus et c'est bon.
swiss-power Il y a 3 ans Répondre
Par contre, j'ai une question.
C'est en rapport avec l'astuce que tu donnes concernant le "onFocus" c'est très
pratique mais le code renvoyé n'est pas valide au niveau du W3C. Comment résoudre
ce problème ?
Merci.
otagun Il y a 3 ans Répondre
Excellent tuto. Je vais m'en servir pour mon site de F1. Je vais le modifier un peu mais l'idée pour les mots clés marqué en couleurs j'y avais pas pensé.
McCLane Il y a 3 ans Répondre
Au premier coup d'oeil ce tutoriel a l'air tres intéressant(foreach, explode....)
.
Personnellement j'attends la version en téléchargement
A toi de jouer Grafi !
swiss-power Il y a 3 ans Répondre
Le bon qui cause, comme on dit :D
Grafikart Il y a 3 ans Répondre
@swiss-power : Roh
J'ai meme pas mis de head et de body sur la première page, je voulais vraiment me focaliser sur le PHP et j'ai donc rien mis qui pourrait parasiter la compréhension. ( Ton site n'est pas valide d'ailleurs, AHAH Vengeance !
)
Shin Il y a 3 ans Répondre
Ah effectivement pour le HTMLspecialchar les accents m'étaient sortie de l'esprit =)
Bon effectivement si on veut quelque chose de plus sécurisé il va falloir passer par les Expressions Régulières, mon dieu comme je les hais xD
Allez je retourne ronger mon os en attendant le prochain tuto
swiss-power Il y a 3 ans Répondre
Ce n'est pas valide W3C
Harry Il y a 3 ans Répondre
Ce n'est pas très essentiel, si ?
Tout marche quand même :p
swiss-power Il y a 3 ans Répondre
Sympa, je connaissais déjà ce système.
Un détail, n'oublie pas de mettre des balises <p> dans tes formulaires
FeNo Il y a 3 ans Répondre
Salut ,
Je voulez te posez cette question (grafikart ou si quelqu'un c'est ^^)
Avec quoi capture tu ton écran ?
Car sa zoom des fois une super qualité tous sa ^^
Harry Il y a 3 ans Répondre
Tenez, je l'ai fait en modifiant 2 ou 3 trucs
http://floflobel.exano.net/ze-search
Avec un design en plus ^^
JLou Il y a 3 ans Répondre
Super tuto, surtout que je savais pas du tout comment faire ^^
Bon, quand même un petit bug, quand on tape par exemple "RATON", sa va bien trouver les articles avec raton dedans, mais la fonction de surlignage va remplacer raton par RATON :p
Grafikart Il y a 3 ans Répondre
@Shin : Attention, htmlspecialchars ne fonctionnera pas du tout dans le cadre d'une fonction de recherche. Je m'explique :
Si on a stocker dans la base de donnée les données non encodé en HTML (avec les accents directement) et qu'on compare avec une variable passé à travers htmlspecialchars ça va rien trouver (par exemple si on tape élevé != élvé Les 2 mots ne sont pas identique car la comparaison se fait sur les chaines de caractère )
Shin Il y a 3 ans Répondre
Il est vrai comme dit sUp£r g² qu'un htmlspecialchars ou entities auraient été un plus niveau sécurité, comme sur le livre d'or, puisque tout le monde n'a pas forcément vu ce tuto. Et ceux qui l'auraient manqué ne seront pas protégé des injections javascripts, c'est malheureux =/
M'enfin j'arrete de faire la mauvaise langue et je cours adapter le tuto d'intégration php couplé à celui sur ajax pour le plus grand bonheur de mon patron du moment xD
Milles merci encore une fois raton =)
sUp£r g² Il y a 3 ans Répondre
pardon je n'avais pas vue ton tuto sur le livre d'or
donc je retire mes dires sur "mysql_real_escape_string"
sUp£r g² Il y a 3 ans Répondre
ah et pour info un bon vieux htmlspecialchars et autre mysql_real_escape_string pour assurer un niveau sécurité de sécurité accru
surtout pour un script de news/com mais même dans une recherche ça peut être utile
Shin Il y a 3 ans Répondre
Youpi !
Ca fait une semaine que je hante le blog en attendant le nouveau tutoriel, et enfin il débarque =D
Je dis enfin, mais c'est uniquement pour souligner mon empressement, point du-tout leur fréquence de sortie qui reste extrêmement bonne.
Et voilà comment google s'est battit un empire de plusieurs Milliards ^o^ (bon oui ils ont ajoutés pas mal de choses depuis le début mais c'est moins drôle si j'en tiens compte :p)
Au niveau du tutoriel à proprement parlé, i lest comme d'habitude extrêmement bien expliqué, détaillé et relativement exhaustif au niveau des petits bug qu'on ne voit pas nécéssairement quand on se lance seuls dans ces développements.
Donc Bravo, et je mettrais dans quelques jours ce tuto en oeuvre alors Merci =)
En attendant avec uen grande impatience le prochain (qui je croise les doigts <span class="message_subliminal">apportera des précisions en actionscript et l'interaction souris/animation sous flash </span> =)
Sur ce, bonne continuation ^^
Grafikart Il y a 3 ans Répondre
@Suke : J'avais envie dans ce tutoriel d'aller un peu plus loin. Il s'adresse à des gens qui sont déja un peu habitué à PHP et qui savent faire des requêtes de bases mais qui souhaitent ajouter des fonctionnalités à leur site.
J'essaie de faire des tutoriels pour un peu tous les publics donc effectivement ils ne sont pas tous aussi abordables...
sUp£r g² Il y a 3 ans Répondre
bravo,
je suis vos tutos depuis peu de temps (ayant déjà quelques notions php/MySQL/xHtml and co) mais là je découvre une notion peu utilisée (par mes soins ^^) : explode()
sinon j'ai connu ce site/blog de part vos tutos illustrator, chapeau bas
Suke Il y a 3 ans Répondre
Bonjour,
superbe tutoriel comme toujours. Par contre t'aurais peut être du commencer ton tutoriel au tout début.
Je veut dire par la, crée les différente page ect... parce que j'ai un peu l'impression de prendre ton tutoriel en cour. Et puis peut être que tout le monde n'as pas vu tout tes tutoriel
Sur ceux, je souhaite bonne continuation, est encore une fois très bon tutoriel.
Jasse29 Il y a 3 ans Répondre
Bonjour,
Et encore une vidéo d'excellente facture... Si avec des cours de cette qualité le nombre de développeurs web (à titre personnel) ne se développe pas, c'est franchement à n'y rien comprendre LOL.
Même s'il me reste une très grande marge de progression, tu participes grandement à sa réduction.
Alors merci, ...et surtout continue à épancher notre soif d'apprendre.
Harry Il y a 3 ans Répondre
Je suis en train de le regarder là, c'est cool, on a déjà le design réaliser dans un autre tuto ^^
Bon aller, je donne le lien pour les fainéant :p http://grafikart.fr/tutoriels/video/29/personnaliser-formulaire-html
Harry, bon tuto à tous ^^
multras Il y a 4 mois Répondre
Dommage que ce tuto ne commence pas dés la création de la base des données, Mais Merci quand même