Bonjour à tous,

Je développes en ce moment un site et je voudrais mettre en place un systeme de recherche en php, Je l'ai déja testé, il fonctionne à 100% sans laravel mais lorsqu'il faut que je l'incorpore à ma feuille de recherche "search.blade.php", c'est là que ça pose probleme ;(

mon controller POST (seulement l'action search ici)

public function action_search()
    {
        $per_page = 9;
        $posts = Post::order_by('id','desc')->paginate($per_page);
        Section::inject('title','Search');
        return View::make('post.search')->with('posts',$posts);
    }

Ma view search.blade.php

@layout('main')
@section('content')
@if($posts)
@foreach($posts->results as $p)
<?php
if(isset($_GET'q'])){
    require "http://shipearth.craym.eu/connect.php";
    $q=$_GET'q'];
    $s=explode(" ",$q);
    $sql="SELECT * FROM posts";
    $i=0;
    foreach($s as $mot){
        if(strlen($mot)>3){
            if($i==0){
                $sql.=" WHERE ";
            }
            else{
                $sql.=" OR ";
            }
            $sql.="content LIKE '% $mot %'";
            $i++;
        }
    }
    $req=mysql_query($sql) or die( mysql_error());
    echo mysql_num_rows($req)." Resultat<br/>";
    while($d=mysql_fetch_assoc($req)){
        echo "
            <link href='http://shipearth.craym.eu/public/css/style.css' media='all' type='text/css' rel='stylesheet'>
                <div class='bords'>
                    <div class='titre'>
                        <img class='favicon' src='http://www.google.com/s2/favicons?domain={{$p->adresse}}'/>
                        <span>{{$p->title}}</span>
                        <span class='par'>Par <a href='{{URL::base().'/post/user/'.Str::slug($p->user->username).'/'.$p->user->id}}'>{{$p->user->username}}</a></span>
                    </div>
                    <div class='corps'>
                            <div class='images' style='background:url(http://www.robothumb.com/src/?url={{$p->adresse}}&size=320x240);'></div>
                            <div class='para'>
                                <p class='paragraphe'>{{$p->content}}</p>
                            </div>
                            <div class='search'>
                                <form method='post' action='/transform.php'>
                                <input type='hidden' name='before_adresse' value='{{$p->before_adresse}}'>
                                <input type='hidden' name='space_adresse' value='{{$p->space_adresse}}'>
                                <input type='hidden' name='after_adresse' value='{{$p->after_adresse}}'>
                                <input class='input' type='text' name='search' placeholder='Ecrivez puis taper sur entrer'>
                                </form>
                            </div>   
                    </div>
                </div>
        ";
        }
}
else{
    echo "<head>
<meta http-equiv='refresh' content='3; URL=http://shipearth.craym.eu/public/index.php/post'>
</head>";
}
?>
@endforeach
@endif
@endsection

Et mon erreur est qu'il n'y a rien d'affiché ;(

Je précise que connect.php est bon

Merci pour votre aide ;)

2 réponses


Il est bizare ton code...

Tu ne peut pas faire un require avec http...

require "http://shipearth.craym.eu/connect.php";

et pour la ligne 24: ce n'est pas '% $mot %' mais plutôt '%$mot%' ? je ne pense que ce serait plus pertinent.
Tu devrais revoir ton code PDO...

cl9m9n7
Auteur

Oui j'ai supprimé la required

mais pour la ligne 24 tu as raison, je ne veux pas chercher un mot (% $mot %) mais un morceaux de mot (%$mot%)
je cherche "mal" avec ton truc je tombe sur ani"mal" par exemple, et avec mon truc je ne trouverais rien ;)

Mais ce que je voudrais savoir c'est comment faire de la recherche d'article sur un MVC et en particulier avec Laravel ;)

Merci beaucoup !