Mysql странициране

sle

Registered
Как мога да добавя странициране тук:

$sql = "SELECT * FROM table WHERE header='%searched%' ";
$query=mysql_query($sql) or die ('die:'.mysql_error());



while($rows=mysql_fetch_assoc($query)) {
echo '<ul class="list">';
echo $rows['header'];
echo '</ul>';
}
 
Някой може ли да помогне? Търсих уроци има ,но не мога да си помогна сам :) за вграждането
 
Това е принципа, но ако в този формуляр обработваш $_POST или $_GET трябва да се погрижиш и тях да си ги прехвърляш по някакъв начин.


PHP:
$page - (isset($_GET['page']) ? (int) $_GET['page'] : 0;
$rowsonpage = 10;

$sql = "SELECT * FROM table WHERE header='%searched%'  limit ".($page*$rowsonpage).",$rowsonpage";
$query=mysql_query($sql) or die ('die:'.mysql_error());



while($rows=mysql_fetch_assoc($query)) {
echo '<ul class="list">';
echo $rows['header'];
echo '</ul>';
}

if ($page>0)
  echo "<a href='?page=".($page-1)."'>Prev</a>";

echo "<a href='?page=".($page+1)."'>Next</a>";
 
Дали ще можеш да ми ги сглобиш тея редове ,че от сичко ми е най-тръдно това странициране. Нищо не схващам колкото и да ви се струва странно :D .. давам точка със сигурност! :)

palex каза:
Това е принципа, но ако в този формуляр обработваш $_POST или $_GET трябва да се погрижиш и тях да си ги прехвърляш по някакъв начин.


PHP:
$page - (isset($_GET['page']) ? (int) $_GET['page'] : 0;
$rowsonpage = 10;

$sql = "SELECT * FROM table WHERE header='%searched%'  limit ".($page*$rowsonpage).",$rowsonpage";
$query=mysql_query($sql) or die ('die:'.mysql_error());



while($rows=mysql_fetch_assoc($query)) {
echo '<ul class="list">';
echo $rows['header'];
echo '</ul>';
}

if ($page>0)
  echo "<a href='?page=".($page-1)."'>Prev</a>";

echo "<a href='?page=".($page+1)."'>Next</a>";
 
Без целия сорс няма как да стане. Или пусни целия скрипт или се ориентирай в идеята :)
 
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<form method="post">
<input type="text" id="searchfield" name="search" class="textfield" border="0" />
<input type="submit" name="button" class="button" value="" border="0" />
</form>

<?php
$connect=mysql_connect("localhost" ,"root", "") or die ('error!');
mysql_select_db("cars", $connect) or die('error!');

if (isset($_POST['button'])){

$search=$_POST['search'];

$words = explode(' ', $search);
$where=array();
foreach ($words as $word) 
        $where[] = "LCASE(header) LIKE '%" .mb_strtolower($word,'UTF-8')."%'";


$sql = "SELECT * FROM cars WHERE ".implode(" OR ", $where)."LIMIT 30";
$query=mysql_query($sql) or die ('die:'.mysql_error());

while($rows=mysql_fetch_assoc($query)) {
	echo '<ul class="list">';
	echo $rows['image'];
	echo $rows['header'];
	echo '</ul>';
}


}
?>

</body>
</html>
 
ето моята версия:
HTML:
<?php 
$page = 0;
$search="";
$query=false;

if ($_POST) {
	$connect=mysql_connect("localhost" ,"root", "") or die ('error!');
	mysql_select_db("cars", $connect) or die('error!');
	
	$page = (int) $_POST['page'];
	$search=mysql_real_escape_string($_POST['search']);
	
	$words = explode(' ', $search);
	$where=array();
	foreach ($words as $word)
		$where[] = "LCASE(header) LIKE '%" .mb_strtolower($word,'UTF-8')."%'";
	
	$sql = "SELECT * FROM cars WHERE ".implode(" OR ", $where)."LIMIT 30";
	$query=mysql_query($sql) or die ('die:'.mysql_error());
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
    function gotopage(page) {
        document.getElementById('page').value=page;
        document.getElementById('searchform').submit();
    }
</script>
</head>
<body>
<form method="post" id="searchform">
<input type="text" id="searchfield" name="search" class="textfield" border="0" value="<?php echo $search; ?>"/>
<input type="submit" name="button" class="button" value="Search" border="0" />
<input type="hidden" name="page" value="<?php echo $page; ?>"/>
</form>

<?php

if ($query) {
	while($rows=mysql_fetch_assoc($query)) {
	   echo '<ul class="list">';
	   echo $rows['image'];
	   echo $rows['header'];
	   echo '</ul>';
	}
	if ($page>0)
		echo "<a href='javascript:gotopage(".($page-1).")'>Prev</a>";
	
	echo "<a href='javascript:gotopage(".($page+1).")'>Next</a>";
}
?>
</body>
</html>
 
мм да ама май има грешка някаде искарва колкото сам дал лимит и като натисна NEXT нищо не става

това LIMIT 30 така ли трябва да е ?
 
спя си аз - да:

HTML:
<?php 
$page = 0;
$search="";
$query=false;

if ($_POST) {
        $connect=mysql_connect("localhost" ,"root", "") or die ('error!');
        mysql_select_db("cars", $connect) or die('error!');
        
        $page = (int) $_POST['page'];
        $search=mysql_real_escape_string($_POST['search']);
        
        $words = explode(' ', $search);
        $where=array();
        foreach ($words as $word)
                $where[] = "LCASE(header) LIKE '%" .mb_strtolower($word,'UTF-8')."%'";

                $rowsonpage = 10;
                $sql = "SELECT * FROM table WHERE ".implode(" OR ", $where)." limit ".($page*$rowsonpage).",$rowsonpage";
                $query=mysql_query($sql) or die ('die:'.mysql_error());

}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
    function gotopage(page) {
        document.getElementById('page').value=page;
        document.getElementById('searchform').submit();
    }
</script>
</head>
<body>
<form method="post" id="searchform">
<input type="text" id="searchfield" name="search" class="textfield" border="0" value="<?php echo $search; ?>"/>
<input type="submit" name="button" class="button" value="Search" border="0" />
<input type="hidden" name="page" value="<?php echo $page; ?>"/>
</form>

<?php

if ($query) {
        while($rows=mysql_fetch_assoc($query)) {
           echo '<ul class="list">';
           echo $rows['image'];
           echo $rows['header'];
           echo '</ul>';
        }
        if ($page>0)
                echo "<a href='javascript:gotopage(".($page-1).")'>Prev</a>";
        
        echo "<a href='javascript:gotopage(".($page+1).")'>Next</a>";
}
?>
</body>
</html>
 
забравил съм едно ID

<input type="hidden" name="page" value="<?php echo $page; ?>"/>
да стане
<input type="hidden" id="page" name="page" value="<?php echo $page; ?>"/>

като нещо не работи гледай дали ти излиза някаква грешка (в случая в javascript конзолата).
 

Back
Горе