Annonces


#1 22/04/08 12:40:50

overseer
pplgf
Lieu: Moselle/Vosges
OS: Mac OS X
Date d'inscription: 18/06/05
Messages: 833
Envoyer un MP

  Email

[PHP] Moteur de recherche sur bdd sql

Bonjour !

Je reviens avec un nouveau problème (encore oui) qui cette fois concerne de la programmation php.

Alors en fait je suis en stage dans une chaine de TV qui dispose d'une bdd assez pleine ajd de vidéo (avec description, nom, ...) et on m'a demandé de mettre en place un moteur de recherche en php sur le site qui pourrai chercher dans la base de donnée afin que les visiteurs puissent retrouver une émission par mots clés.

J'ai dégoté un script qui me semble bien complet et qui, normalement fonctionne au vu de la démo sur le site du créateur, mais lorsque je le configure sur mon serveur, il ne fonctionne pas.

Je pense qu'en fait il y a un problème de connexion au serveur alors que le fichier de config est correctement rempli : la page se rafraichie sans me donner aucun résultat (je vois tjs le formulaire).


Je vous c/c le code en question :

search.php

Code:

include("include/config.inc.php");    //fichier de config
include("include/header.html");        //header html
include("include/form.php");          //formulaire de recherche
if (!isset($debut)) $debut = 0;       
if (!empty($recherche))
    {
    $recherche=strtolower($recherche);                //on passe en minuscule
    $mots = str_replace("+", " ", trim($recherche));  //on remplace les + par des espaces
    $mots = str_replace("\"", " ", $mots);               //idem pour \
    $mots = str_replace(",", " ", $mots);               //idem pour ,
    $mots = str_replace(":", " ", $mots);               //idem pour :
    $recherche=rawurlencode($recherche);              //on encode la recherche

    $tab=explode(" " , $mots);
    $nb=count($tab);

    $sql="select * from search where 1 and mot_cles like \"%$tab[0]%\" ";

    for($i=1 ; $i<$nb; $i++)
        {
        $sql.="$operateur mot_cles like \"%$tab[$i]%\" ";
        }

    $sql2=$sql;                      // requete permettant de connaitre le nombre de rÈsultats
    $sql.=" Limit $debut,$limit ";   // requÍte limitante.
    
    mysql_connect($host,$user, $passwd);
    $result2 = mysql_db_query($db,$sql2);
    $result = mysql_db_query($db,$sql);

    if($result)
        {
        $nrows  = mysql_num_rows($result2);
        $flag = 1;
        if(mysql_num_rows($result)==0) echo "<center><b>Pas de RÈsultat</b></center><br>"; 
        else
            {
            include("include/header_tab.html");
            while($row = mysql_fetch_array($result)) 
                {
                echo $row["id"]." | ".$row["titre"];
                $url = $row["url"];
                echo " | <a href=\"$url\">$url</a><br>";
                echo "Description : ".$row["description"]."<br><br>";
                }
            include("include/footer_tab.html");
            mysql_free_result($result);
    
        
        


/****************** Mise en place de la navigation. ************************************/
        $nombre=ceil($nrows/$limit);

        if($debut>0) 
            {
            echo "<a href=search.php?recherche=$recherche&operateur=$operateur&debut=".($debut-$limit)."><<</a>  ";    
            }            
        
        if ($nombre>1) 
            {
            for($i=1; $i<=$nombre; $i++)
                {
                echo "<a href=search.php?recherche=$recherche&operateur=$operateur&debut=".(($i-1)*$limit).">".$i."</a> ";
                }
            }
        if(($debut+$limit)<$nrows)
            {
            echo "<a href=search.php?recherche=$recherche&operateur=$operateur&debut=".($debut+$limit).">>></a>";
            }
        
        echo "</CENTER>";

            }

        }
    echo "La requete SQL execute est : $sql" ;
    }

else
    {
     echo("<center><br><b>Entrer au moins un mot</b></center>");
    }


include("include/footer.html");    
?>

config.inc.php

Code:

<? 
$host="secret :D";    #pour free c'est sql.free.fr
$user="jtcontiblog";         #pour free c'est ton login
$passwd="secret :D";         #pour free c'est ton mot de passe de connexion/mail

$db="jtcontiblog";          #pour free c'est ton login
$table="dc_post";       #nom de la table (par defaut)

$limit=10;        //nombre de rÈsultats par page.

?>

Je vous épargne les includes...


Voyez-vous un problème que je n'aurai pas aperçu ? Voici le site du créateur : http://gregory.kokanosky.free.fr/phpinf … earch.html


Je vous remercie biggrin


http://img360.imageshack.us/img360/3237/againstskybloggreen7ku.png

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#2 22/04/08 15:44:54

overseer
pplgf
Lieu: Moselle/Vosges
OS: Mac OS X
Date d'inscription: 18/06/05
Messages: 833
Envoyer un MP

  Email

Re: [PHP] Moteur de recherche sur bdd sql

Bon, il semblerait qu'il s'agisse d'un problème de serveur puisque je viens de tester sur un serveur perso de chez 1and1 et l'affaire roule ...

Pensez-vous qu'il s'agisse du fait que j'ai changé tous les .php3 en .php ? (dans les extensions des fichiers et dans les querystrings dans le script). Je n'avais pas le choix étant donné que le serveur où je travaille n'accepte pas le .php3...

frown idée ?

merci


http://img360.imageshack.us/img360/3237/againstskybloggreen7ku.png

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#3 22/04/08 19:48:43

Ju
ju@jabber.sk
Equipe Admin
Lieu: Boston, Texas
OS: Linux Debian
Date d'inscription: 26/01/04
Messages: 5844
Envoyer un MP

  Email  Site web

Re: [PHP] Moteur de recherche sur bdd sql

Possible qu'il utilise des fonctions php3 qui n'existent plus en effet.
En serait-il pas plus simple et formateur de programmer le code toi-même ?



TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#4 22/04/08 19:55:39

overseer
pplgf
Lieu: Moselle/Vosges
OS: Mac OS X
Date d'inscription: 18/06/05
Messages: 833
Envoyer un MP

  Email

Re: [PHP] Moteur de recherche sur bdd sql

Testé sur un serveur de 1and1 le script fonctionne très bien ...

Et pour te répondre, non ça ne serait pas plus simple tout simplement car la programmation web n'est pas du tout ma spécialisation  biggrin Je touche en dilettante un peu tout ça ... mais c'est tout.

Merci pour ta réponse  smile


http://img360.imageshack.us/img360/3237/againstskybloggreen7ku.png

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation
Actuellement aucun autre membre et 1 invité sur ce topic
Membres : [S'enregistrer]

Pied de page du Forum

Pub hébergeur :


CtrlAltSuppr.com, forums officiels de JSAND partagés avec Geek&Hype

Powered by PunCAS (JSAND) based on PunBB
© Copyright 2002–2005 Rickard Andersson