Recherche dans une table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Recherche dans une table

Re: Recherche dans une table

par Perine » 17 janv. 2013, 21:31

- Pour lire tes lignes de résultat c'est plutôt while($ligne=mysql_fetch_array($resultat)){}

Pour résumé comme le suggère Perine faudrait que tu passe par la case départ et faire quelques tutos.
Haha, mon parser interne s'arrête au bout de 5 erreurs :D

Re: Recherche dans une table

par simonlaforge » 17 janv. 2013, 16:40

En fait j'ai pris un code d'un autre tuto que j'ai tenté de modifier pour arriver à faire ce que je veux, mais j'en suis tout perdu. Je suis vos conseils et retourne voir plus d'exemples pour tenter d'y voir plus clair.

Re: Recherche dans une table

par AB » 17 janv. 2013, 16:32

Ton code php est un grand spectacle. Tu fais comment pour arriver à cela ? tu tapes sur ton clavier au hasard ?

- Par exemple tu as un champ de recherche nommé "mot_cle", où le récupères-tu dans ton code php ?

- Si tu utilise une fonction (dans ton exemple tu n'en aurais pas besoin) faudrait que tu t'intéresse à la portée des variables dans une fonction.

- Pour lire tes lignes de résultat c'est plutôt while($ligne=mysql_fetch_array($resultat)){}

Pour résumé comme le suggère Perine faudrait que tu passe par la case départ et faire quelques tutos.

Re: Recherche dans une table

par Perine » 17 janv. 2013, 02:32

Il y a pas mal d'erreurs dans ton programme, il faudrait peut-être relire quelques tutoriels sur le PHP et d'approfondir les bases de PHP.
Tout d'abord, tu utilises lors de la construction de ta requête SQL des variables non déclarées. Si tu actives les messages d'erreur avec error_reporting(-1); au début de ton script, tu verras quelles erreurs ton script encaisse.

Quelques conseils :
Tu utilises l'extension MySQL qui est dépréciée à partir de la version PHP5.5 et qui sera sans doute supprimée de PHP5.6 ou PHP6. Cela implique qu'à partir de ces versions, ton script ne marchera plus du tout. Je te conseille donc d'utiliser PDO ou mysqli à la place.
Lors d'une requête SQL, il est fortement déconseillé de sélectionner tous les champs à l'aide de *. Seuls les champs utiles devraient être chargés et même si tous les champs sont utiles, il est fortement conseillé de tous les définir.
MySQL ne connait pas de doubles-quotes pour la délimitation de chaines de caractère. Il s'agit de simples-quotes.

Recherche dans une table

par simonlaforge » 17 janv. 2013, 00:31

Bonjour,

je tente de créé une petite recherche dans mon site. Je veux seulement chercher dans une seul table et dans un seul ID

Nom de ma table : film_film
ID : nom

J'aimerais utilisé la fonction

Code : Tout sélectionner

<form action="search.php" method="post"> Mot clé<input type="text" name="mot_cle"> <input type="submit" value="Rechercher"> </form>
Et mon fichier search.php

Code : Tout sélectionner

<?php function search() { $resultat=mysql_query("select * from table where $film_film=\"$nom"\") $ligne=mysql_fetch_array($resultat); $nb=mysql_num_rows($resultat); $i=0; while($i<$nb) { $nom=$ligne['nom']; $prenom=$ligne['prenom']; $tel=$ligne['tel']; echo $nom.' '.$prenom.' '.$tel $i=$i+1; } } search(); ?>
Je crois que ma formule n'est pas du tout correct et je n'arrive à rien.

Merci