begin process at 2012 05 30 16:40:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Moteur recherche SQL php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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 :
mysql_bans


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

Membre Club Administrateur CodeS-SourceS
Bonjour,

Qu'as-tu testé ?
Car il me semble que toutes les informations sont accessibles.

---------------------------------------------------------------------
  1. 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
  2. Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
  3. 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">&lt;&lt;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

Membre Club Administrateur CodeS-SourceS
Bonjour,

"mais j'ai toujours des erreur sql "
Quelles erreurs ?

---------------------------------------------------------------------
  1. 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
  2. Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
  3. 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

Membre Club Administrateur CodeS-SourceS
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.

---------------------------------------------------------------------
  1. 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
  2. Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
  3. 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales