こんにちは私の問題は次のとおりです:私は結果ページに従って分割しました..問題はafisereaの結果です私は次のコードを持っています:
<?php
include('ttt_files/paginare.php');
$rezultate_pe_pagina = '2';
$statement = "`anunt_standard` where `activat` = 0 AND prs_prv='$filtru_p' ";
/* Inceputul stabiliri functiei numaratorelor */
$page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
$limit = $rezultate_pe_pagina;
$startpoint = ($page * $limit) - $limit;
//Query pentru afisere si paginare
/* Sfarsitul stabiliri functiei numaratorelor */
$url = "{$server_url}anunturi/f/{$_GET['f']}/page/";
echo "<div id='asezare_butoane'>".pagination($statement,$limit,$page,$url)."</div>";
//afiseaza inregistrarile platite
$query_pay = mysql_query("
SELECT * FROM {$statement} AND activat_plata = '1'
AND sters = '0' ORDER BY data_adaugare DESC LIMIT {$startpoint} ,
{$limit}");
echo "
<table border='0' width='950px'
style='border-collapse:separate; border-spacing:0px 5px;'>";
$i = 0;
while ($row = mysql_fetch_assoc($query_pay)) {
include('continut_platit.php');
}
echo "</table>";
//afiseaza inregistrarile normale
$query = mysql_query("
SELECT * FROM {$statement} AND sters = '0'
AND activat_plata = '0'
ORDER BY data_adaugare DESC
LIMIT {$startpoint} , {$limit}");
echo "
<table border='0' width='950px'
style='border-collapse:separate; border-spacing:0px 5px;'>";
$i = 0;
while ($row = mysql_fetch_assoc($query)) {
include('continut.php');
}
echo "</table>";
//afiseaza inregistrarile sterse
$query_del = mysql_query("
SELECT * FROM {$statement}
AND sters = '1'
ORDER BY data_adaugare DESC
LIMIT {$startpoint} , {$limit}");
echo "<table border='0' width='950px' style='border-collapse:separate; border-spacing:0px 5px;'>";
$i = 0;
while ($row = mysql_fetch_assoc($query_del)) {
include('continut_sters.php');
}
echo "</table>";
?>
問題は、各クエリの結果が2ずつ表示されるように設定されているため、ページごとに2つの結果が表示されないことです。つまり、合計6つの結果に貼り付けます。2-$ query_pay 2-$ query 2-$ query_delたとえば、2レコードのみを表示する場合は2レコードを追加すると最初のページになります。2レコードのみを表示する場合は2レコードのみを表示します。
<?php
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'>Pagina $page din $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}$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}$counter/'>$counter</a></li>";
}
$pagination.= "<li class='dot'>...</li>";
$pagination.= "<li><a href='{$url}$lpm1/'>$lpm1</a></li>";
$pagination.= "<li><a href='{$url}$lastpage/'>$lastpage</a></li>";
}
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= "<li><a href='{$url}1/'>1</a></li>";
$pagination.= "<li><a href='{$url}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}$counter/'>$counter</a></li>";
}
$pagination.= "<li class='dot'>..</li>";
$pagination.= "<li><a href='{$url}$lpm1/'>$lpm1</a></li>";
$pagination.= "<li><a href='{$url}$lastpage/'>$lastpage</a></li>";
}
else
{
$pagination.= "<li><a href='{$url}1/'>1</a></li>";
$pagination.= "<li><a href='{$url}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}$counter/'>$counter</a></li>";
}
}
}
if ($page < $counter - 1){
$pagination.= "<li><a href='{$url}$next/'>Urmatoarea</a></li>";
//$pagination.= "<li><a href='{$url}page=$lastpage'>Ultima</a></li>";
}else{
$pagination.= "<li><a class='current'>Urmatoarea</a></li>";
//$pagination.= "<li><a class='current'>Ultima</a></li>";
}
$pagination.= "</ul>\n";
}
return $pagination;
}
?>
上記の合計結果を数えて、nustiuポスターである条件を作成することを考えましたが、条件をどのように置くか。または、クエリ結果と番号の上に3を置くと、3:01に彼らの作業を収集して共有しますか?しかし、関数に行き、考え方がわからない
mysql_query("SELECT u.* FROM (
(SELECT * FROM anunt_standard WHERE `activat_plata`='1' AND `sters`='0' AND `activat`='0' ORDER BY data_adaugare DESC)
UNION
(SELECT * FROM anunt_standard WHERE `activat_plata`='0' AND `sters`='0' AND `activat`='0' ORDER BY data_adaugare DESC)
UNION
(SELECT * FROM anunt_standard WHERE `sters`='1' AND `activat`='0' ORDER BY data_adaugare DESC)
) As u LIMIT {$startpoint} , {$limit}")or die(mysql_error());
アイデアをありがとうございますが、問題は、希望する順序で表示されないことです...私が書いたものは何も意味しません。
ORDER BY data_adaugare DESC