Moteur recherche SQL php

cs_fregeal Messages postés 4 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 4 février 2012 - 19 janv. 2012 à 19:12
NHenry Messages postés 15030 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 - 21 janv. 2012 à 00:03
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
mysql_bans


et les valeurs du tableau sont

 steam_id         player_name          ban_length       	ban_reason      banned_by      banned_by_id     timestamp

5 réponses

NHenry Messages postés 15030 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
19 janv. 2012 à 19:30
Bonjour,

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

---------------------------------------------------------------------
[list=ordered][*]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./list
---
0
cs_fregeal Messages postés 4 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 4 février 2012
19 janv. 2012 à 20:02
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
		<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>

[publication.php <]
<form name="F1" action="<? $_SERVER['PHP_SELF']; ?>" method="post" onSubmit="return ctrl()">
Rechercher:
 

</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();
?>
Nom:,
Description:,
Auteurs:,
Date:,
Taille(Mo):,
,

<?
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
?>
----

<? echo $result_line['nom2'];?>,
<? echo $result_line['description'];?>,
<? echo $result_line['publieur'];?>,
<? echo $result_line['date']; ?>,
<? printf("%01.2f",@filesize("docs/$file")/1024/1024);?>,
">,

<?
}
}
}
}
?>


<?
switch ($nbre)
{
case 0:
echo "Aucun résultat correspondant a votre recherche!:  ",$recherche," ";
break;

case 1:
echo "Il y a 1 résultat correspondant à votre recherche: ",$recherche,"";
break;

default:
echo "il y a ",$nbre," résultats correspondant à votre recherche: ",$recherche,"";	
break;
}
}
if (isset($nbre))
{
return ($nbre);
}
?>



Le fichier function.inc.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!
.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()">
Rechercher : 


</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>

<?
// 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();
?>
Logo,
Nom du document,
Auteur,
Classification,
Date,

<?
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 \"----
\";
echo \", \";
echo \"$file_cut, \";
echo \"$result_line[publieur], \";
echo \"$result_line[class], \";
echo \"$result_line[date], \";
echo \"\";
}
}
}
}
?>


<?
switch ($nbre)
{
case 0:
echo "Aucun résultat correspondant a votre recherche!:  ",$recherche," ";
break;

case 1:
echo "Il y a 1 résultat correspondant à votre recherche: ",$recherche,"";
break;

default:
echo "il y a ",$nbre," résultats correspondant à votre recherche: ",$recherche,"";	
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;
    }
}

?>
0
NHenry Messages postés 15030 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
19 janv. 2012 à 22:57
Bonjour,

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

---------------------------------------------------------------------
[list=ordered][*]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./list
---
0
cs_fregeal Messages postés 4 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 4 février 2012
20 janv. 2012 à 18:20
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
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15030 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
21 janv. 2012 à 00:03
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.

---------------------------------------------------------------------
[list=ordered][*]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./list
---
0