Accueil > Forum > > > > Systeme de recherche
Systeme de recherche
vendredi 27 mai 2005 à 12:12:14 |
Systeme de recherche

neji_44
|
Bonjour, je suis un petit nouveau en PHP (je m'y
suis mis il y a seulement 3 semaine) et je suis en train de faire un
systeme de recherche pour un site que je suis en train de faire,
malheureusement lorsque je tape un mot existant, la recherche me
renvoie un message me disant qu'aucun film ne correspond dans la base
de données qui, elle, contient ce mot j'en suis sur! Pouvez-vous
m'aider
Le code est le suivant:
| Code: |
<? session_start();?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Gregobois</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
<?
echo'<body background="images/planche.jpg">';
?>
<?
//include("connexion.inc.php");
include("fonction.php");
connection();
headerG();
?>
<div align="center">
<P class="titre"><strong>Section recherche</strong></P>
<table border="0" cellspacing="2" cellpadding="1"><span class="edito">
<tr>
<td class="actualites" align="center" >
<?
if ($_POST['sujet']=="")
{
echo '<P class="titre">Aucun mot n\'a été tapé, veuillez en rentrer un.</P>';
}
else
{
$sujet = htmlentities(addslashes($_POST['sujet']));
if (strlen($sujet)<3)
{
echo '<P
class="texte">Veuillez entrez plus de 3 lettres svp.</P>';
}
else
{
$sql = "SELECT acceuil.accueil,
materiel.Description_materiel, pieces.Description_piece FROM acceuil,
materiel, pieces WHERE acceuil.accueil LIKE %".$sujet."% OR
materiel.Description_materiel LIKE %".$sujet."% OR
pieces.Description_piece LIKE %".$sujet."%";
@$result = mysql_query($sql);
if(!$sql)
{
echo '<P class="texte">Erreur lors de l\'execution de la
requete</P>';
}
else
{
@$test = mysql_num_rows($sql);
if ($test >0)
{
while ($donnees =
mysql_fetch_array($sql))
{
echo '<tr>';
echo '<td>';
echo '</tr>';
echo '<tr>';
echo
'<td>'.result.'</td>';
echo '</tr>';
}
}
else
{
echo'<p align="center"><span
class="texte">Aucun résultat n\' a été
trouvé.</span></p>';
}
}
}
}
?>
</td>
</tr>
</table>
</div>
</body>
</html>
<?
footer();
?>
|
|
|
vendredi 27 mai 2005 à 13:04:48 |
Re : Systeme de recherche

vince1415
|
Bonjour,
deja ta requéte n'est pas super il faudrait ke tu fasse les jointures
entre les tables que tu inclu sinon ca renvoie pas forcement ce qu'on
souhaite et c'est un peu génant.
Tu peut également enlever les guillemet et les points pour la concatenation, les variables sont interprété dans le texte.
sinon le principe a l'air pas mal.
bonne continuation
|
|
vendredi 27 mai 2005 à 14:53:54 |
Re : Systeme de recherche

Anthomicro
|
Salut,
remplace <? par <?php et if ($_POST['sujet']=="") par if(!isset($_POST['sujet']) OR empty($_POST['sujet']))
Ensuite je vois ça :
echo '<tr>';
echo '<td>';
echo '</tr>';
echo '<tr>';
echo '<td>'.result.'</td>';
echo '</tr>';
tu peux le remplacer par ça :
echo '<tr></tr>
<tr><td>',$result,'</td>
</tr>';
Ensuite ton mot à rechercher contient des accents ou des mots html ? si
oui sous quel format est-il stocké dans la base de données (ton mot est
encodé en HTML ou est sous forme brute avec les accents ?)
Ensuite vince je vois pas en quoi mettre une jointure dans la requête va te donner plus de résultats...
|
|
vendredi 27 mai 2005 à 16:24:36 |
Re : Systeme de recherche

neji_44
|
C'est sympa les gars mes vos deux reponses ne resolvent pas mon
probleme, malgré tout ca, il me dit qu'il ne trouve pas le mot....
Dans la base, les champs sont remplie avec du texte qui sont aux format text.
|
|
samedi 28 mai 2005 à 11:14:53 |
Re : Systeme de recherche

malalam
|
Hello,
une jointure, pourquoi faire en effet...? Il recherche juste un mot dans 3 tables differentes, on se fiche des jointures.
Tu fais un htmlentities et un addslashes sur ta variable post : bref,
tu y ajoutes des \ et tu transformes les entites en leur code. Est-ce
que tes textes sont enregistres ainsi dans ta base ?
mysql_real_escape-string() est a privilegier dans des cas d'insertions dans une base mysql, au passage.
Et, cela m'etonne qu'Antho n'en ai pas parle, mais les index FULLTEXT de mysql sont plus adaptes a des recherches.
|
|
samedi 28 mai 2005 à 13:37:01 |
Re : Systeme de recherche

vince1415
|
Bein la jointure permet de ne pas récupérer des résultats qui n'ont
aucun rapport, il fait une requéte sur 3 tables et affiche un attribut
de chaque table. Si il n'y a pas de jointure le SGBD fait tous les
assemblages possibles ce qui risque de ramener des informations entre
les 3 tables qui n'on aucun rapport.
enfin bon si vous dites que ca sert a rien tant mieux moi je pense
autre choses. Je dois dire que je conné mal mysql j'ai l'habitude de
travailler sous oracle bien plus puissant !!
|
|
samedi 28 mai 2005 à 13:56:25 |
Re : Systeme de recherche

Anthomicro
|
" Et, cela m'etonne qu'Antho n'en ai pas parle, mais les index FULLTEXT de mysql sont plus adaptes a des recherches."
A force de le dire, on oublie... (lol)
Bah les indexs FULLTEXT sont meilleurs si ta table contient beaucoup
d'enregistrements (ils permettent aussi une meilleure précision que les
LIKE pourris). Le problème des indexs FULLTEXT est qu'ils prennent
énormément de place dans la base.
|
|
Cette discussion est classée dans : sql, recherche, echo, sujet, materiel
Répondre à ce message
Sujets en rapport avec ce message
recherche d'editeur sql [ par elvis78 ]
bonjour a tout les developpeurs.je debute en programmation et j'aimerais savoir ou je pourrais trouver un editeur sql gratuit.Un grand merci a celui q
undefined variable notice ?! [ par jimmy69 ]
Salut a tous,Voila je debute en php et je me suis amuse a faire un p'tit site tout simple avec une base mysql...sous easyphp 1.4Je suis passe sous ea
formulaire [ par poloute ]
Bonjour"undelivered message"c'est ce qui accompagne chaque fois lemail que je reçoit dans ma boite via mon site.Voici le script:$MailTo = "monadresse@
UPDATE de plusieurs enregistrements dans une boucle [ par kd ]
Bonjour à tous, j'essaie depuis un bout de temps de modifier un ensemble d'enregistrement dans une base à l'intérieur d'une boucle mais j'ai une erreu
PB bouton inpuit file et separation du resultat [php/SQL] [ par albatorhc59 ]
Bonjour a vous. jai fait un script avec un input files pour recuperer un nom de fichier sur le reseaux. mon bouton fonctionne bien, mais je voudrai sa
recherche d'une table SQL conportant CODE DEPARTEMENT , VILLE ... [ par valva ]
recherche d'une table SQL conportant CODE DEPARTEMENT , VILLE REGION ....en fonction de plusieur pays si possibleet mieux encore si vous avé la dist
Probleme plusieurs requetes imbriquées [ par romagnoli64 ]
Bonjour, bon j'ai un petit souci...Dans une page PHP, j'ai deux requetes imbriquées, une va chercher des valeurs et la deuxieme va chercher, à partir
pb sql est les listes box [ par herveguedj ]
bonjour,j'ai un site auto avec un formulaire de rech par marque un combo box qui liste toutes les marques je voudrais que quand la personne clique sur
Erreur Mysql [ par FearBlue ]
Slt a tous!!!!jai une erreur mysql :je v vous montrer mon code c en rapport avec LIKEif(isset($HTTP_POST_VARS['recherche'])){$db = mysql_connect('loca
UPDATE ou replace [ par kd ]
Bonjour à tous, je suis en train de modifier l'affichage des auteurs de ma base mysql avec un script que j'ai testé et qui fonctionne très bien. Seule
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|