Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] wyswietlanie tablicy na kilku stronach
Forum PHP.pl > Forum > Przedszkole
comanderv
powitac,

mam taka sobie tablice w PHPie i taki od kod
Kod
<?php
$dl=count ($wpisy);   //liczy ilosc elementow tablicy $wpisy

echo $dl; echo "<br>";  // wyswietla ilosc elementow

$ls=1;   //liczba stron, poczatkowo 1;

while ($ls*5<=$dl) ++$ls; echo $ls; echo "<br>"; //oblicza ile stron do wyswietlenia, 5 wpisow na kazda strone


for($i=-1;$i<$dl;$i++){   //petla wyswietlajaca wszystkie wpisy
echo $wpisy[$i]."<br>";
}

for($j=1; $j<=$ls; $j++) echo "<a href=\"newsy.php?strona=str$j\">$j</a>&nbsp;"; // wyswietlnie linkow do stron gdzie parametr =  str+liczba od 1-$ls...
?>


chce wyswietlac po 5 elementow i jakos to tak zorganizowac zeby miec to na kilku stronach zaaranzowane linkami ( najlepiej zeby strona robila to sama przez siebie przez parametr - ale nie mam zupelnie podejscia jak to zrobic...) tak zebym jezeli mial 5 storn do wyswietlenia mialem odnosniki do 5 stron i po kliknieciu na kazdy z nich odpowiednio wyswietlaly sie analogiczne wpisy (pierwsza 1-5, druga 6-10, itd)

pomoze ktos? albo przynajmniej podsunie praktyczna wskazowke ?
nospor
Cytat
albo przynajmniej podsunie praktyczna wskazowke

Uzyj wyszukiwarki forum i szukaj pod hasłem stronicowanie smile.gif
comanderv
dziekuje smile.gif juz jest wiele jasniej smile.gif

tylko poki co nie widze przykladu bez mysqla za bardzo... a mam taki pomysl bo u mnie parametr jest s i liczba... jak pobrac z $_GET['strona'] wrtosc z ucieta s czyli juz sama liczbe ($liczba) i wtedy podlozyc pod petle

Kod
for($i=(($liczba-1)*5);$i<=($liczba*5);$i++){  // petla dla $liczba=1 idzie od 0 do 5 wlacznie, dla 2 od 5 do 10 wlacznie itd
echo $wpisy[$i]."<br>";


prosze o zANALizowanie kodu i stwierdzneie czy jesli uda mi sie wylowic ten parametr czy to w tej formie by zadzialalo smile.gif
bw6
musiasz przekazac w $_GET nr strony i przy wyciaganiu z bazy dodać do zapytania "LIMIT nr_strony, 5" (oczywiście do zapytania które zwraca wszystkie rekordy)
comanderv
zapytania...baza... ja mam to na pliku txt... nie na bazie danych ;] //tzn o ile sie zrozumielismy...

gdyby parametr w adresie mogl sie zaczynac liczba...to bym to mial juz zrobione haha.gif

mam znowu jakis blad....tym razem chyba czysto logiczny...
Kod
<?php
$dl=count ($wpisy);   //liczy ilosc elementow tablicy $wpisy
echo $dl; echo "<br>";  // wyswietla ilosc elementow
$ls=1;   //liczba stron, poczatkowo 1;
while ($ls*5<=$dl) ++$ls; echo $ls; echo "<br>"; //oblicza ile stron do wyswietlenia
echo $nowy_wpis;

if($message){
echo "no i masz wala bo: \"".$message."\" i cala roboty jak psu w morde...";}
echo "<br><br><br><a href=\"dodaj2.html\">Dodaj News</a><br>";

for($i=0;$i<=$dl;$i++){ // pokaz wszystkie
echo $wpisy[$i]."<br>";
}
for($j=1; $j<=$ls; $j++) echo "<a href=\"newsy.php?strona=s$j\">$j</a>&nbsp;";

echo "<br/>";
if($_GET['strona']=="s1") $liczba=1;
if($_GET['strona']=="s2") $liczba=2;
if($_GET['strona']=="s3") $liczba=3;
if($_GET['strona']=="s4") $liczba=4;
if($_GET['strona']=="s5") $liczba=5;
if($_GET['strona']=="s6") $liczba=6;
if($_GET['strona']=="s7") $liczba=7;
if($_GET['strona']=="s8") $liczba=8;
if($_GET['strona']=="s9") $liczba=9;
if($_GET['strona']=="s10") $liczba=10;
if($_GET['strona']=="s11") $liczba=11;
if($_GET['strona']=="s12") $liczba=12;
if($_GET['strona']=="s13") $liczba=13;
if($_GET['strona']=="s14") $liczba=14;

for((($k=$liczba*5)-5); $k<=($liczba*5); $k++){
// petla dla $liczba=1 idzie od 0 do 5 wlacznie, dla 2 od 5 do 10 wlacznie itd
echo $wpisy[$k]."<br>";}
?>
a wiec co sie dzieje bez pareametru omijam poki co (dojde do tego jeszcze ale wpierw) klikajac na link odnoszacy sie do newsy.php?storna=2 powinieniem miec $liczba=2 a wiec w forze (k=5; k<=10; k++) wiec idac po wpisach 5,6,7,8,9 i 10... no wlasnie....nie dziala...dla 1 wywala jeden wpis (petla robi sie tylko raz?;|) a dla 2 i 3 wcale... wpisopw mam 11...

gdzie jest blad?

dobra juz wszytsko wiem doszedlem do tego sam :P

[code]<?php

$nazwa_pliku = "newsy.txt";

if (is_readable($nazwa_pliku))
  {
   if ($plik = fopen($nazwa_pliku, "r"))
     {
      $dane = fread($plik, filesize($nazwa_pliku));
      
      if ($dane === FALSE) $message= "Odczyt danych z pliku nie powiódł się...pusty?";
        else $nowy_wpis=$dane;

      fclose($plik);

     } else $message ="Nie mogę nawiązać połączenia z plikiem...";

  } else $message= "Z pliku nie można odczytać informacji lub on nie istnieje...";
$wpisy= explode("#",$nowy_wpis);
?>

<html>
<head>
<title>neswy</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
</head>
<body>
<h3>Najswiezsze wiadomosci :)</h3><br>
<?php
$dl1=count ($wpisy);   //liczy ilosc elementow tablicy $wpisy
$dl= $dl1-1;
echo "ilosc wpisow w tablicy:&nbsp;".$dl."<br>";  // wyswietla ilosc elementow
$ls=1;   //liczba stron, poczatkowo 1;
while ( ($ls*5) < $dl) ++$ls; echo "ilosc stron do wyswietlania:&nbsp;".$ls."<br>"; //oblicza ile stron do wyswietlenia
// echo $nowy_wpis;

if($message){
echo "no i masz wala bo: \"".$message."\" i cala roboty jak psu w morde...";}
echo "------------------------------------------------------------------------------------------------------<br>";
echo "Pokaz wszystkie: <br>";
for($i=0;$i<=$dl;$i++){ // pokaz wszystkie
echo $wpisy[$i]."<br>";
}
echo "------------------------------------------------------------------------------------------------------<br>";
echo "pokaz stronami: <br>";
echo "<br/>";
if($_GET['strona']=="s1") $liczba=1;
if($_GET['strona']=="s2") $liczba=2;
if($_GET['strona']=="s3") $liczba=3;
if($_GET['strona']=="s4") $liczba=4;
if($_GET['strona']=="s5") $liczba=5;
if($_GET['strona']=="s6") $liczba=6;
if($_GET['strona']=="s7") $liczba=7;
if($_GET['strona']=="s8") $liczba=8;
if($_GET['strona']=="s9") $liczba=9;
if($_GET['strona']=="s10") $liczba=10;
if($_GET['strona']=="s11") $liczba=11;
if($_GET['strona']=="s12") $liczba=12;
if($_GET['strona']=="s13") $liczba=13;
if($_GET['strona']=="s14") $liczba=14;

for($k=(($liczba*5)-5); $k<($liczba*5); $k++){
// petla dla $liczba=1 idzie od 0 do 5 wlacznie, dla 2 od 5 do 10 wlacznie itd
echo $wpisy[$k]."<br>";}
for($j=1; $j<=$ls; $j++) echo "<a href=\"newsy.php?strona=s$j\">$j</a>&nbsp;"; echo"<br>";
$t=$liczba-1;
$d=$liczba+1;
if ($t>0)
echo "<a href=\"newsy.php?strona=s$t\">poprzednia strona</a>";
echo "-----------------";
if($d<=$ls)
echo "<a href=\"newsy.php?strona=s$d\">nastepne strona</a>";
echo "<br>";
echo "------------------------------------------------------------------------------------------------------<br>";
echo "<br><br><br><a href=\"dodaj2.html\">Dodaj News</a><br>";


?>


wpelni kompatybilny z windowsem kod dzialajacy na plikach smile.gif wpisy oddzielone # i wszytsko smiga smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.