Autor | Zpráva | ||
---|---|---|---|
Truuhlik Profil |
#1 · Zasláno: 6. 3. 2010, 19:18:34
takže snažím se nastránkovat data z flat file db, ovšem nedaří se mi vypsat data tak jak bych chtěl,
údajně by to mohlo jít cituji Ty data třeba nacpi do pole a z něj vypisuj - ať dělám co dělám mé snahy nahnat data do pole a z něj vypisovat jsou bezúspěšné, založil jsem tohle nové vlákno aby si toho někdo všiml - to staré je už někde vzadu a pochybuju, že by na něj někdo přišel předem díky všem za jakoukoli pomoc a tady přikládám kód header("Content-Type: text/html; charset=utf-8"); $soubor = file("data/soubory.txt"); $radku = count($soubor); $po = 10; $max_stranek = ceil($radku/$po); $url_stranka = ($_GET['stranka']/$po)+1; if(empty($_GET['stranka'])){$stranka = 0;} else{$stranka = $_GET['stranka'];} foreach($soubor as $line){ $data = explode("||", $line); if($data[0] == $_GET['id'])continue; else{ $idecko = $data[0]; $nazev = $data[1]; $url = $data[2]; } } /*tady je ten největší problém - docílil jsem vytáhnutí 10ti řádků to jo, ale ten řádek je pořád stejný - nevěděl by někdo jak na to?*/ echo "<table>"; for($a = $stranka; $a<$stranka+$po; $a++){ echo "<tr> <td>$nazev</td> <td><a href='$url'>Stáhnout</a></td> </tr>"; } echo "</table>"; //tady si vypíšu číslování 1, 2, 3... atd plně funkční for($i=0; $i<$max_stranek; $i++){ $cislo = ($i+1); $url_cislo = ($cislo*$po)-$po; if($url_stranka!=$cislo){ echo "<a href='?stranka=$url_cislo'>$cislo</a>"; } else{ echo "<strong>$cislo</strong>"; } } |
||
Časová prodleva: 6 dní
|
|||
Truuhlik Profil |
#2 · Zasláno: 12. 3. 2010, 13:41:26
už uběhlo pár dní, fakt by nevěděl někdo jak na to ?
|
||
mylan Profil |
#3 · Zasláno: 13. 3. 2010, 00:54:44 · Upravil/a: mylan
Upravil som ti ten kód podľa jedného môjho skriptu, malo by fungovať ako vypisovanie, tak aj stránkovanie. Nepochopil som však celkom na čo slúži to porovnávané $_GET['id'], tak snáď som to urobil dobre.
<?php $file = file('data/soubory.txt'); $lines = array(); // na základe $_GET['id'] vynecháme nepotrebné riadky. Nemá tá podmienka byť naopak? Takto: if ($line_data[0] != $_GET['id']) continue; foreach ($file as $single_line) { $line_data = explode('||', $single_line); if (isset($_GET['id']) && $line_data[0] == $_GET['id']) continue; else { $lines[] = $single_line; } } $lines_count = count($lines); // počet riadkov (len tých potrebných) $items_per_page = 10; // počet vypisovaných záznamov na stránku (obdoba $po) $pages_count = ceil($lines_count / $items_per_page); // počet stránok / číslo poslednej stránky $page = (isset($_GET['page']) && is_numeric($_GET['page']) && $_GET['page'] <= $pages_count) ? $_GET['page'] : 1; // číslo aktuálnej stránky // určíme počiatočný a konečný záznam $first = ( ( $page - 1 ) * $items_per_page ); $last = ( ($lines_count - $first) > $items_per_page ) ? ( $first + $items_per_page ) : $lines_count; // výpis samotných záznamov podľa čísla prvku v poli echo '<table>'; for ($i = $first; $i < $last; $i++) { $data = explode('||', $lines[$i]); echo '<tr><td>' . $data[1] . '</td><td><a href="' . $data[2] . '">Stáhnout</a></td></tr>'; } echo '</table>'; // stránkovanie for ($j = 1; $j <= $pages_count; $j++) { echo ($page == $j) ? '<strong>' . $j . '</strong> ' : '<a href="?id=' . (int)$_GET['id'] . '&page=' . $j . '">' . $j . '</a> '; } ?> |
||
Časová prodleva: 14 let
|
0