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: 7 let
|
0