| Autor | Zpráva | ||
|---|---|---|---|
| leorond Profil |
#1 · Zasláno: 4. 3. 2016, 22:01:18
Ahoj, opět mám problém se stránkováním ve spojení s MSSQL, mám vytvořený script který funguje ale nějak špatně vypisuje.
Vypíše mi skutečný počet záznamů z databáze ale všechny jsou totožné, když ale zkontroluji odkazy které mne mají nasměrovat na na danou novinku tak se novinka zobrazí správně. Koukněte zda neuvidíte více než já <?php
$num = 5;
$page = $_GET['stranka'];
$result00 = mssql_query("SELECT COUNT(*) FROM ROD_news where lang='".$language."'");
$temp = mssql_fetch_array($result00);
$posts = $temp[0];
if ($posts == 0) $posts = 1;
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
$page = intval($page);
if (empty($page) or $page < 0) $page = 1;
if ($page > $total) $page = $total;
$start = $num * ($page - 1);
$result = mssql_query("SELECT TOP $num * FROM ROD_news where lang='".$language."' and id NOT IN (SELECT TOP $start id FROM ROD_news where lang='".$language."' ORDER BY id desc) ORDER BY id desc");
if (mssql_num_rows($result) > 0)
{
$myrow = mssql_fetch_array($result);
$headline = htmlspecialchars($myrow["headline"]);
$text = $myrow["text"];
$posted_by = htmlspecialchars($myrow["account"]);
$date = date(" d.m.Y v H:i:s ", intval($myrow["time"]));
do
{
printf ("<table id='news-table'>
<tr><td class='news-headline'><a href='?pages=pages/show&news=".intval($myrow["id"])."'>".$headline."</a><font style='color:red; float:right; font-size:12px'>".$posted_by.$date."</font></td></tr>
<tr><td>".rozdel($text, 200)." <a class='news-all' href='?pages=pages/show&news=".intval($myrow["id"])."'>[ ".all_text." ]</a>\n</td></tr>
</table>
<div id='oddel-bottom-center'></div>");
}
while ($myrow = mssql_fetch_array($result));
}
if ($page != 1) $pervpage = '<a href="?pages=pages/home&stranka=1">Začátek</a><a href="?pages=pages/home&stranka='.($page - 1).'">Zpět</a>';
if ($page != $total) $nextpage = '<a href="?pages=pages/home&stranka='.($page + 1).'">Další</a><a href="?pages=pages/home&stranka='.$total.'">Konec</a>';
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<center><div>";
echo $pervpage.$nextpage;
echo "</div></center>";
}
?>Děkuji |
||
| Lonanek Profil |
Za to mohou nevhodně zvolené proměnné - $text, $posted_by a $date.
Tyto proměnné naplníte před voláním cyklu a dále již pracujete jen s nezměněnými. buď použijte místo $posted_by.$date
toto htmlspecialchars($myrow["account"]) . date(" d.m.Y v H:i:s ", intval($myrow["time"]))
a místo rozdel($text, 200)
toto rozdel($myrow["text"], 200)
nebo tyto proměnné definujte v cyklu DO-WHILE |
||
| leorond Profil |
#3 · Zasláno: 4. 3. 2016, 22:56:32
No jo vždyť já to dal o řádku vejš :D
|
||
| leorond Profil |
#4 · Zasláno: 5. 3. 2016, 11:46:35
Děkuji Lonanek, kdyby tu bylo hodnocení tak máš palec hore ;)
|
||
|
Časová prodleva: 10 let
|
|||
0