Search en php (avec laravel)

Par cl9m9n7, il y a 13 ans


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

codimix, il y a 13 ans

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, il y a 13 ans

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 !