Accueil > Forum > > > > Moteur recherche SQL php
Moteur recherche SQL php
jeudi 19 janvier 2012 à 19:12:40 |
Moteur recherche SQL php

fregeal
|
Bonjour
Je cherche un moyen d'avoir un champs de recherche sql qui affiche les resultats
sous forme d'un tableau mais tous les scritps que j'ai pus tester ne fonctionne pas
ma table sql ce nomme
Code :
et les valeurs du tableau sont
Code : steam_id player_name ban_length ban_reason banned_by banned_by_id timestamp
|
|
jeudi 19 janvier 2012 à 19:30:40 |
Re : Moteur recherche SQL php

NHenry
|
Bonjour,
Qu'as-tu testé ?
Car il me semble que toutes les informations sont accessibles.
---------------------------------------------------------------------
- Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci
- Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite :
)
- Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés.
---
Mon site
|
|
jeudi 19 janvier 2012 à 20:02:41 |
Re : Moteur recherche SQL php

fregeal
|
J'ai télécharge ce script sur le forum mais je n'ai pas le fichier de connection
J'ai esseyer de changer des variables mais j'ai toujours des erreur sql
Le fichier moteur.php original
Code PHP : <script language="javascript">
document.F1.w.focus()
function ctrl()
{
if (document.F1.w.value=="")
{
alert("Veuillez saisir un mot à rechercher!")
document.F1.w.focus()
return false
}
return true
}
</script>
<body>
<a href="publication.php"><<Aller à la page des publications</a>
<form name="F1" action="<? $_SERVER['PHP_SELF']; ?>" method="post" onSubmit="return ctrl()">
<table width="50%" border="0">
<tr>
<td>Rechercher:
<input type="text" name="w"> <input type="submit" name="Submit" value="Rechercher"></td>
</tr>
</table>
</form>
<?
// connexion à la base de données:
include ("../include/connex.inc.php");
include ("../include/function.inc.php");
if (isset($_POST['w']))
{
$recherche=$_POST['w'];
$word_array=explode(" ",$recherche);
$recup_txt_DB="SELECT * FROM docs";
$appli=mysql_query($recup_txt_DB, $connex);
$nbre=0;
$rec_id=array();
?>
<table width="965" border="1">
<tr align="center">
<td>Nom:</td>
<td>Description:</td>
<td>Auteurs:</td>
<td>Date:</td>
<td>Taille(Mo):</td>
<td><img src="../images/Disquette.jpg"></td>
</tr>
<?
while($result_DB=mysql_fetch_array($appli, MYSQL_NUM))
{
for($i=0;$i<count($word_array);$i++)
{
for($j=1;$j<count($result_DB);$j++)
{
if (stristr(wash_name2($result_DB[$j]),wash_name2($word_array[$i])) && (array_search_occur($result_DB[0],$rec_id)==FALSE))
{
$nbre++; // compteur de résultats
$rec_id[]=$result_DB[0]; //insertion dans le tableau rec_id de l'ID du fichier affiché afin de ne pas l'afficher une deuxième fois
$recup_line="SELECT * FROM docs WHERE id=$result_DB[0]";
$exec=mysql_query($recup_line, $connex);
$result_line=mysql_fetch_array($exec, MYSQL_ASSOC);
$file=$result_line['nom'];
$file_cut=implode(suppr_ext($file)); //creation d'un tableau avec le nom du fichier sans son extension
$img=verif_ext($file); // recuperation du logo correspondant au format du fichier
?>
<tr align="center">
<td><? echo $result_line['nom2'];?></td>
<td><? echo $result_line['description'];?></td>
<td><? echo $result_line['publieur'];?></td>
<td><? echo $result_line['date']; ?></td>
<td><? printf("%01.2f",@filesize("docs/$file")/1024/1024);?></td>
<td><a href="<? echo "docs/$file";?>"><img src="../images/Disquette.jpg"></a></td>
</tr>
<?
}
}
}
}
?>
</table><br>
<?
switch ($nbre)
{
case 0:
echo "Aucun résultat correspondant a votre recherche!: <b>",$recherche,"</b>";
break;
case 1:
echo "Il y a 1 résultat correspondant à votre recherche: <b>",$recherche,"</b>";
break;
default:
echo "il y a ",$nbre," résultats correspondant à votre recherche: <b>",$recherche,"</b>";
break;
}
}
if (isset($nbre))
{
return ($nbre);
}
?>
Le fichier function.inc.php
Code PHP : <?
/*---------------------------------------------------*/
// fonction permettant de nettoyer le nom:
function wash_name($nom)
{
$name=strtolower($nom);
$name=str_replace(" ","_",$name);
$name=str_replace("à","a",$name);
$name=str_replace("â","a",$name);
$name=str_replace("ä","a",$name);
$name=str_replace("è","e",$name);
$name=str_replace("é","e",$name);
$name=str_replace("ë","e",$name);
$name=str_replace("ê","e",$name);
$name=str_replace("ù","u",$name);
$name=str_replace("û","u",$name);
$name=str_replace("ü","u",$name);
$name=str_replace("î","i",$name);
$name=str_replace("ï","i",$name);
$nom=str_replace("ç","c",$name);
return $nom;
}
/*---------------------------------------------------*/
// fonction permettant de nettoyer le nom:
function wash_name2($nom)
{
$name=strtolower($nom);
$name=str_replace("à","a",$name);
$name=str_replace("â","a",$name);
$name=str_replace("ä","a",$name);
$name=str_replace("è","e",$name);
$name=str_replace("é","e",$name);
$name=str_replace("ë","e",$name);
$name=str_replace("ê","e",$name);
$name=str_replace("ù","u",$name);
$name=str_replace("û","u",$name);
$name=str_replace("ü","u",$name);
$name=str_replace("î","i",$name);
$name=str_replace("ï","i",$name);
$nom=str_replace("ç","c",$name);
return $nom;
}
/*---------------------------------------------------*/
// fonction permettant de couper l'url et de recuperer l'emplacement dans le site:
function coupe_url($url)
{
$pos=strrpos($url, "_");
$url=(substr($url, $pos+1));
return $url;
}
/*---------------------------------------------------*/
// fonction permettant la creation d'ID temporaire:
function SessionID($length=8)
{
$Pool="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$Pool .="abcdefghijklmnopqrstuvwxyz";
$Pool.="0123456789";
$LastChar= strlen($Pool)-1;
$sid="";
for ($i=0; $i<$length; $i++)
{
$sid .=$Pool[mt_rand(0, $LastChar)];
}
return ($sid);
}
/*---------------------------------------------------*/
// fonction permettant de verifier la validité du couple login/pass:
function verif_pass($login,$pass)
{
// verification du couple login/pass dans la BD:
include ("connex.inc.php");
$select="SELECT * FROM users WHERE login='$login' AND pass='$pass'";
$verif=mysql_query ($select, $connex);
$users=mysql_fetch_array($verif, MYSQL_ASSOC);
if ($login==$users['login']&& $pass==$users['pass'])
{
$id=$users['id'];
$delete="DELETE FROM session WHERE id='$id'";
$suppr=mysql_query($delete, $connex);
$now=date("Y-m-d H:i:s");
$session=SessionID(8);
$prenom=$users['prenom'];
$nom=$users['nom'];
$login=$users['login'];
$pass=$users['pass'];
$_SESSION['prenom']=$prenom;
$_SESSION['nom']=$nom;
$_SESSION['login']=$login;
$_SESSION['pass']=$pass;
if($users['admin']=="admin")
{
return true;
//header ("Location:insert_cookie.php?session=$session&prenom=$prenom&nom=$nom&login=$login&pass=$pass");
}
else
{
return true;
}
}
else
{
return false;
}
}
/*---------------------------------------------------*/
// fonction renvoyant le message d'erreur correspondant à l'erreur:
function value_msg($msg)
{
switch ($msg)
{
case 1062:
$alert="Cet identifiant existe déjà! Veuillez en sélectionner un autre!";
break;
}
return ($alert);
}
/*---------------------------------------------------*/
// fonction de verification d'extension:
function suppr_ext($file)
{
$file_cut=explode(".",$file);
$ext=array_pop($file_cut);
return ($file_cut);
}
/*---------------------------------------------------*/
// fonction d'attribution d'icone en fonction de l'extension:
function verif_ext($file)
{
$ext=strrchr($file,".");
switch ($ext)
{
case ".doc":
$img="../images/doc.gif";
break;
case ".jpeg":
$img="../images/jpeg.gif";
break;
case ".jpg":
$img="../images/jpeg.gif";
break;
case ".pdf":
$img="../images/pdf.gif";
break;
case ".ppt":
$img="../images/ppt.gif";
break;
case ".rar":
$img="../images/rar.gif";
break;
case ".txt":
$img="../images/txt.gif";
break;
case ".zip":
$img="../images/zip.gif";
break;
}
return ($img);
}
/*---------------------------------------------------*/
// fonction d'affichage de la catégorie:
function switch_class($class)
{
include("connex.inc.php");
$recup_class="SELECT * FROM list_cat WHERE class='$class'";
$appli=mysql_query($recup_class, $connex);
if (!$appli)
{
$docs="Erreur lors de la recuperation des données!<br>.mysql_errno().mysql_error()";
}
else
{
$list=mysql_fetch_array($appli, MYSQL_ASSOC);
$id=$list['class'];
$docs=$list['nom'];
}
return $docs;
}
/*---------------------------------------------------*/
// fonction de vérification de la redondance des résultats:
/*
*
*
* Avertissement : Cette librairie de fonctions PHP est distribuee avec l'espoir
* qu'elle sera utile, mais elle l'est SANS AUCUNE GARANTIE; sans meme la garantie de
* COMMERCIALISATION ou d'UTILITE POUR UN BUT QUELCONQUE.
* Elle est librement redistribuable tant que la presente licence, ainsi que les credits des
* auteurs respectifs de chaque fonctions sont laisses ensembles.
* En aucun cas, Nexen.net ne pourra etre tenu responsable de quelques consequences que ce soit
* de l'utilisation ou la mesutilisation de ces fonctions PHP.
*/
/****
* Titre : Recherche d'une occurrence dans un tableau
* Auteur : alexandre le grand
* Email : alexandre.le.grand@free.fr
* Url :
* Description : D'aprés la fonction php_array_search de Cédric Fronteau, permet de rechercher une occurrence dans un tableau. La fonction renvoie true si $needle est dans un des éléments de $haystack, false si elle n'y est pas.
****/
function array_search_occur($needle,$haystack)
{
if (!is_array($haystack))
return FALSE;
end($haystack);
$found = FALSE;
$return = FALSE;
do
{
$v = current($haystack);
if (eregi($needle,$v))
{
$return = TRUE;
$found = TRUE;
}
}
while (prev($haystack) && !$found);
return $return;
}
/*---------------------------------------------------*/
// fonction de vérification de la redondance des résultats:
function moteur()
{
?>
<form name="F1" action="moteur.php" method="post" onSubmit="return ctrl()">
<table width="50%" border="0">
<tr>
<td>Rechercher : <input type="text" name="w"><br><input type="submit" name="Submit" value="Rechercher"></td>
</tr>
</table>
</form>
<script language="javascript">
function ctrl()
{
if (document.F1.w.value=="")
{
alert("Veuillez saisir un mot à rechercher!")
document.F1.w.focus()
return false
}
return true
}
</script>
<body>
<?
// connexion à la base de données:
include ("include/connex.inc.php");
if (isset($_POST['w']))
{
$recherche=$_POST['w'];
$word_array=explode("+",$recherche);
$recup_txt_DB="SELECT * FROM docs, list_cat";
$appli=mysql_query($recup_txt_DB, $connex);
$nbre=0;
$rec_id=array();
?>
<table width="75%" border="1">
<tr>
<td width="5%"><b>Logo</b></td>
<td width="60%"><b>Nom du document</b></td>
<td width="15%"><b>Auteur</b></td>
<td width="5%"><b>Classification</b></td>
<td width="15%"><b>Date</b></td>
</tr>
<?
while($result_DB=mysql_fetch_array($appli, MYSQL_NUM))
{
for($i=0;$i<count($word_array);$i++)
{
for($j=1;$j<count($result_DB);$j++)
{
if (stristr($result_DB[$j],$word_array[$i]) && array_search_occur($result_DB[0],$rec_id)==FALSE)
{
$nbre++; // compteur de résultats
$rec_id[]=$result_DB[0]; //insertion dans le tableau rec_id de l'ID du fichier affiché afin de ne pas l'afficher une deuxième fois
$recup_line="SELECT * FROM docs WHERE id=$result_DB[0]";
$exec=mysql_query($recup_line, $connex);
$result_line=mysql_fetch_array($exec, MYSQL_ASSOC);
$file=$result_line['nom'];
$file_cut=implode(suppr_ext($file)); //creation d'un tableau avec le nom du fichier sans son extension
$img=verif_ext($file); // recuperation du logo correspondant au format du fichier
echo "<tr>";
echo "<td width=\"5%\"><img src=\"$img\" width=20 height=20></td>";
echo "<td width=\"60%\"><a href=\"../docs/$file\">$file_cut</a></td>";
echo "<td width=\"15%\">$result_line[publieur]</td>";
echo "<td width=\"5%\">$result_line[class]</td>";
echo "<td width=\"15%\">$result_line[date]</td>";
echo "</tr>";
}
}
}
}
?>
</table><br>
<?
switch ($nbre)
{
case 0:
echo "Aucun résultat correspondant a votre recherche!: <b>",$recherche,"</b>";
break;
case 1:
echo "Il y a 1 résultat correspondant à votre recherche: <b>",$recherche,"</b>";
break;
default:
echo "il y a ",$nbre," résultats correspondant à votre recherche: <b>",$recherche,"</b>";
break;
}
}
}
/*---------------------------------------------------*/
// fonction de création des vignettes à partir des images uploadées:
// $nom_img_max_ecard_bdd -> nom du fichier image a partir duquel vas etre crée la vignette
function miniature($nom_img_max_ecard_bdd, $largeur_vignette, $hauteur_vignette)
{
/* CONFIG */
$chmDest="../img/vignettes/"; //destination pour la miniature
$patch="../img/"; // Chemin de l'image de depart
/*********/
// recupere le nom de fichier
$nameFile=basename($nom_img_max_ecard_bdd);
// verifie si la miniature a deja été créée , ce qui évite de la généréer de nouveau
if (file_exists($chmDest.$largeur_vignette.$hauteur_vignette.$nameFile)=="")
{
// taille de la grande image
$size=getimagesize($patch.$nom_img_max_ecard_bdd);
// Calcule les ratios mignature/image
$ratioL=(ceil(($largeur_vignette*100)/$size[0]));
$ratioH=(ceil(($hauteur_vignette*100)/$size[1]));
// si le ratio largueur est plus grand que le ratio hauteur
if ($ratioL>$ratioH)
{
$size[2]=(ceil(($largeur_vignette*100)/$ratioL));
$size[3]=(ceil(($hauteur_vignette*100)/$ratioL));
$coordonneX="0";
$coordonneY=(ceil(($size[1]-$size[3])/2));
}
else
{
$size[2]=(ceil(($largeur_vignette*100)/$ratioH));
$size[3]=(ceil(($hauteur_vignette*100)/$ratioH));
$coordonneX=(ceil(($size[0]-$size[2])/2));
$coordonneY="0";
}
// recupere l'extention du fichier
$extention_fichier=strtolower(substr(strrchr($nom_img_max_ecard_bdd,'.'),1));
if ($extention_fichier=="jpg" || $extention_fichier=="jpeg")
{
// créé l'img de destination par rapport a la source
$srcImg = imagecreatefromjpeg($patch.$nom_img_max_ecard_bdd);
}
else
{
// créé l'img de destination par rapport a la source
$srcImg = imagecreatefromgif($patch.$nom_img_max_ecard_bdd);
}
$dstImg = imagecreate($largeur_vignette,$hauteur_vignette);
imagecopyresized($dstImg, $srcImg, 0, 0, $coordonneX, $coordonneY, $largeur_vignette, $hauteur_vignette, $size[2], $size[3]);
// retourne et crée le fichier image
if ($extention_fichier=="jpg" || $extention_fichier=="jpeg")
{
imagejpeg($dstImg, $chmDest.$nameFile);
}
else
{
imagegif($dstImg, $chmDest.$nameFile);
}
//donne les droits 755 au fichier enregistré par le script
chmod($chmDest.$nameFile, 0755);
// libere la ram
imagedestroy($srcImg);
imagedestroy($dstImg);
$ressource=$chmDest.$largeur_vignette.$hauteur_vignette.$nameFile;
return $ressource;
}
// si le fichier miniature existe deja, on le réutilise
else
{
$ressource=$chmDest.$largeur_vignette.$hauteur_vignette.$nameFile;
return $ressource;
}
}
?>
|
|
jeudi 19 janvier 2012 à 22:57:59 |
Re : Moteur recherche SQL php

NHenry
|
Bonjour,
"mais j'ai toujours des erreur sql "
Quelles erreurs ?
---------------------------------------------------------------------
- Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci
- Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite :
)
- Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés.
---
Mon site
|
|
vendredi 20 janvier 2012 à 18:20:44 |
Re : Moteur recherche SQL php

fregeal
|
Comme dans le script que j'ai téléchargé il manque le fichier de connections
J'ai essayé d'en faire un mais les mien n'utilise pas les même variable pour par exemple le $login
sinon l'erreur est
Code : Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /data/filer-6/web/web505/htdocs/moteur.php on line 33
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /data/filer-6/web/web505/htdocs/moteur.php on line 49
|
|
samedi 21 janvier 2012 à 00:03:15 |
Re : Moteur recherche SQL php

NHenry
|
Bonjour,
Je suppose que ta base est mal ouverte.
Si c'est juste pour faire un filtrage avec un WHERE, tu ne peux pas faire plus petit pour commencer ?
Regardes aussi les fonction print_r et var_dump.
---------------------------------------------------------------------
- Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci
- Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite :
)
- Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés.
---
Mon site
|
|
Cette discussion est classée dans : code, php, sql, recherche, moteur
Répondre à ce message
Sujets en rapport avec ce message
aide moteur de rechrche php sql [ par zizou94 ]
Bonjour a tous, J'essaie depuis un semaine d inserer un moteur de recherche si mon site et je n y arrive pas. Etant novice en programmation je ne m en
moteur de recherche en php [ par aminagu ]
bonjours , j essey de faire un moteur de recherche en php , le systeme me donne le message d erreur suivant : /* LIKE '%inpt%'SELECT * FROM `table-m
Probleme script moteur de recherche [ par McGyver59 ]
Bonjour Sur le web j'ai trouvé un moteur de recherche interne pour mon site il fonctionne trés bien mais j'ai un soucis avec. Meme si je ne met rien
comment crypter mon mot de passe [ par msi079 ]
salut . j'ai un code qui marche mais mon problème est que le mot de passe n'est pas crypté . je suis débutant en php je sais pas comment m'y prendre.
formulaire dynamique php ,sqlserver [ par hantouva ]
bonjour; voila je fais un site web dynamique en php et jutilise une base de donnees sql server je bloque au niveau du formulaire de recherche qui do
Faire un update sql sur plusieurs ligne avec un formulaire [ par Bxapero ]
Bonjour, Je créer un logiciel pour la société que je monte, je suis bloqué pour faire un update a partir d'un formulaire générer en php. Je ne sais
moteur de recherche simple [ par donhatem ]
Bonjour, je suis un peu novice en programmation, je veux que vous m'aidiez ou vous me donner quelque inforamtions : je cherche à créer un petit moteur
Class FastTemplate : Recherche de source avec insertion de code php. [ par astuces_jeux ]
Bonjour,Je suis à la recherche d'une class fasttemplate, pas difficile à utiliser, mais qui prends des insertions de code php.Dans ce genre :Voici une
moteur de recherche interne [ par aloalo93 ]
Bonjour,je suis totalement débutant en php et je sohaiterait incorporer un moteur de recherche interne à mon site voici ou je voudrais l'intégrer :<a
Livres en rapport
|
Derniers Blogs
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 LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
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
|