Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Search and Pagination

[es] :: PHP :: PHP za početnike :: Search and Pagination

[ Pregleda: 2579 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

pijavica.
Paracin

Član broj: 137624
Poruke: 56
93.99.75.*



Profil

icon Search and Pagination03.02.2014. u 14:26 - pre 124 meseci
Da li mozete da mi pomognete. Pokusao sam puno da nekako uradim ali nikako da krene.

Nasao sam Pagination kod i zelim da napravim Search.

Pokusao sam dosto toga ali nije mi uspelo da li mozete da mi pomognete

Kako da u ovom kodu Pagination napravim Search.

Hvala vam puno.

Code:

<body>
<?php
    //connect to the database
mysql_connect('localhost', 'root', 'root') or die(mysql_error());
mysql_select_db('lr') or die(mysql_error());
    
    //get the function
function pagination($query, $per_page = 10,$page = 1, $url = '?'){        
    $query = "SELECT COUNT(*) as `num` FROM {$query}";
    $row = mysql_fetch_array(mysql_query($query));
    $total = $row['num'];
    $adjacents = "2"; 

    $page = ($page == 0 ? 1 : $page);  
    $start = ($page - 1) * $per_page;                                
    
    $prev = $page - 1;                            
    $next = $page + 1;
    $lastpage = ceil($total/$per_page);
    $lpm1 = $lastpage - 1;
    
    $pagination = "";
    if($lastpage > 1)
    {    
        $pagination .= "<ul class='pagination'>";
                $pagination .= "<li class='details'>Page $page of $lastpage</li>";
        if ($lastpage < 7 + ($adjacents * 2))
        {    
            for ($counter = 1; $counter <= $lastpage; $counter++)
            {
                if ($counter == $page)
                    $pagination.= "<li><a class='current'>$counter</a></li>";
                else
                    $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
            }
        }
        elseif($lastpage > 5 + ($adjacents * 2))
        {
            if($page < 1 + ($adjacents * 2))        
            {
                for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>$counter</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
                }
                $pagination.= "<li class='dot'>...</li>";
                $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>";
                $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";        
            }
            elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
            {
                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>...</li>";
                for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>$counter</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
                }
                $pagination.= "<li class='dot'>..</li>";
                $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>";
                $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";        
            }
            else
            {
                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>..</li>";
                for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>$counter</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
                }
            }
        }
        
        if ($page < $counter - 1){ 
            $pagination.= "<li><a href='{$url}page=$next'>Next</a></li>";
            $pagination.= "<li><a href='{$url}page=$lastpage'>Last</a></li>";
        }else{
            $pagination.= "<li><a class='current'>Next</a></li>";
            $pagination.= "<li><a class='current'>Last</a></li>";
        }
        $pagination.= "</ul>\n";        
    }


    return $pagination;


    
        $page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
        $limit = 2;
        $startpoint = ($page * $limit) - $limit;
        
        //to make pagination
        $statement = "article WHERE active = 1";
        
            //show records
            $query = mysql_query("SELECT * FROM {$statement} LIMIT {$startpoint} , {$limit}");
            
            while ($row = mysql_fetch_assoc($query)) {
            $id = $row ['id'];
            $name = $row ['name_article'];
            $price = $row ['price'];
       
            echo "<div>
            $id<br><b>
            $name</b><br>
            $price<br>
            <p></div>";
      
            }

    echo pagination($statement,$limit,$page);
?>
</body>
</html>
 
Odgovor na temu

ivanhooo

Član broj: 321014
Poruke: 4
91.150.70.*



Profil

icon Re: Search and Pagination03.02.2014. u 14:59 - pre 124 meseci
Evo na brzinu, testiraj, pa javi.

Code:

<body>
<?php
    //connect to the database
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('es') or die(mysql_error());
    
    //get the function
function pagination($query, $per_page = 10,$page = 1, $url = '?'){        
    $query = "SELECT COUNT(*) as `num` FROM {$query}";
    $row = mysql_fetch_array(mysql_query($query));
    $total = $row['num'];
    $adjacents = "2"; 

    $page = ($page == 0 ? 1 : $page);  
    $start = ($page - 1) * $per_page;                                
    
    $prev = $page - 1;                            
    $next = $page + 1;
    $lastpage = ceil($total/$per_page);
    $lpm1 = $lastpage - 1;
    
    $pagination = "";
    if($lastpage > 1)
    {    
        $pagination .= "<ul class='pagination'>";
                $pagination .= "<li class='details'>Page $page of $lastpage</li>";
        if ($lastpage < 7 + ($adjacents * 2))
        {    
            for ($counter = 1; $counter <= $lastpage; $counter++)
            {
                if ($counter == $page)
                    $pagination.= "<li><a class='current'>$counter</a></li>";
                else
                    $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
            }
        }
        elseif($lastpage > 5 + ($adjacents * 2))
        {
            if($page < 1 + ($adjacents * 2))        
            {
                for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>$counter</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
                }
                $pagination.= "<li class='dot'>...</li>";
                $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>";
                $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";        
            }
            elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
            {
                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>...</li>";
                for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>$counter</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
                }
                $pagination.= "<li class='dot'>..</li>";
                $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>";
                $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";        
            }
            else
            {
                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>..</li>";
                for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>$counter</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
                }
            }
        }
        
        if ($page < $counter - 1){ 
            $pagination.= "<li><a href='{$url}page=$next'>Next</a></li>";
            $pagination.= "<li><a href='{$url}page=$lastpage'>Last</a></li>";
        }else{
            $pagination.= "<li><a class='current'>Next</a></li>";
            $pagination.= "<li><a class='current'>Last</a></li>";
        }
        $pagination.= "</ul>\n";        
    }


    return $pagination;


    
        $page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
        $limit = 1;
        $startpoint = ($page * $limit) - $limit;
        
        //to make pagination
        if (isset($_GET['article_name']) AND $_GET['article_name'] != '') {
            $statement = "test WHERE name_article LIKE '%".mysql_real_escape_string($_GET['article_name'])."%' AND active = 1";
            $url = '?article_name=' . $_GET['article_name'] . '&';
        } else {
            $statement = "test WHERE active = 1";
        }
        
            //show records
            $query = mysql_query("SELECT * FROM {$statement} LIMIT {$startpoint} , {$limit}");
            
            while ($row = mysql_fetch_assoc($query)) {
            $id = $row ['id'];
            $name = $row ['name_article'];
            $price = $row ['price'];
       
            echo "<div>
            $id<br><b>
            $name</b><br>
            $price<br>
            <p></div>";
      
            }

    echo pagination($statement,$limit,$page,$url);
?>
<hr />
<form name="test" method="get" action="1.php">
    Article Name: <input type="text" name="article_name" value=""/>
    <input type="submit" value="Search" />
</form>
</body>
</html>


samo sam promenio naziv tabele u test.
 
Odgovor na temu

pijavica.
Paracin

Član broj: 137624
Poruke: 56
93.99.75.*



Profil

icon Re: Search and Pagination03.02.2014. u 15:51 - pre 124 meseci
Ne funkcionise.

Izlazi ovo:
Not Found
The requested URL /proba/1.php was not found on this server.

Code:
<form name="test" method="get" action="1.php">

nemam 1.php

umesto toga stavim index.php

isto ne funkcionise

ne znam u cemu je problem
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.80-202-74.nextgentel.com.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Search and Pagination03.02.2014. u 20:58 - pre 124 meseci
Probaj da objasnis malo detaljnije ovaj deo "nikako da krene" kao i "isto ne funkcionise"
sta se desava, jel logicka greska, jel dobijes neki notification, jel dobijes blank page, 404, 500, koju gresku dobijes odnosno kako znas da ne funkcionise?
 
Odgovor na temu

pijavica.
Paracin

Član broj: 137624
Poruke: 56
93.99.75.*



Profil

icon Re: Search and Pagination04.02.2014. u 10:56 - pre 124 meseci
Kada pokrenem index.php fajl preko localhost prikaze mi ovo:
Code:

18
jabuka 1kg
2456.00

Notice: Undefined variable: url in C:\Webserver\www\proba\index.php on line 126

Bas kao sto vidis prikazuje bez da pretrazujem nesto pokaze mi artikal koji imam. Isto tako problem u liniji 126
kada kliknem u Pagination za drugu stranu izbaci problem ovako:
Code:
Not Found

The requested URL /proba/page=2 was not found on this server.


Kada ukucam u pretrazivac jedan od artikala koje imam u bazi, treba jabuka,
Izlazi ovo:
Code:
Not Found
The requested URL /proba/1.php was not found on this server.


Upravo tako izgleda kao sto sam objasnio.
a pokusao sam razne varijante i isti problem.
 
Odgovor na temu

ivanhooo

Član broj: 321014
Poruke: 4
91.150.70.*



Profil

icon Re: Search and Pagination04.02.2014. u 12:47 - pre 124 meseci
Ne razumem. Meni radi kako treba.
 
Odgovor na temu

ivanhooo

Član broj: 321014
Poruke: 4
91.150.70.*



Profil

icon Re: Search and Pagination04.02.2014. u 12:50 - pre 124 meseci
Moras da mu das $url parametar u onom if-u.

Code:

//to make pagination
        if (isset($_GET['article_name']) AND $_GET['article_name'] != '') {
            $statement = "test WHERE name_article LIKE '%".mysql_real_escape_string($_GET['article_name'])."%' AND active = 1";
            $url = '?article_name=' . $_GET['article_name'] . '&';
        } else {
            $statement = "test WHERE active = 1";
            $url = '?';
        }
 
Odgovor na temu

pijavica.
Paracin

Član broj: 137624
Poruke: 56
93.99.75.*



Profil

icon Re: Search and Pagination04.02.2014. u 13:48 - pre 124 meseci
ivanhooo $url parametar funkcionise. Sa Pagination ok.

Zasto mi automatski prikaze sve artikle koje imam u bazi kada pokrenem index.php
zar bi trebalo da bude prazno i kada krenem nesto da trazim da mi tek pokaze rezultat pretrage.
 
Odgovor na temu

pijavica.
Paracin

Član broj: 137624
Poruke: 56
93.99.75.*



Profil

icon Re: Search and Pagination04.02.2014. u 14:47 - pre 124 meseci
ivanhooo i dakipro

resio sam problem.

Hvala vam na vasoj pomoci.
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Search and Pagination

[ Pregleda: 2579 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.