![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Lubartów ! Ostrzeżenie: (0%) ![]() ![]() |
Wyświetlanie wierszy z bazy danych
Mam sobie skrypcik: Kod <?
$plik = file("$dzial/baza_.dat"); //Otwieram tablice $linia = count($plik); // Zliczam linie if($str=="") $max=5; // Jeśli nie podaje strony to wyświetlam 5 lini else $max=$str*5; // i tutaj mam problem 1 for($i=0; $max>$i; $i++) { //pętelka chyba zle zrobiona problem 2 $baza=explode('||',$plik[$i]); echo("To jest linia: $i"); } $max1=ceil($linia/5); //Generujemy linki 1, 2 , 3 for($z=1; $max1>$z; $z++) { echo("[<a href=link.php?str=$z>$z</a>] "); } ?> Pomóżcie mi poprawić ten kod. Jeśli wchodzę na stronę bez parametru lub z parametrem ($str=1) wyświetla mi się 5 pierwszysch lini. Jak zrobić aby przy wejściu z parametrem $str=2 wyświetliło mi kolejne 5 lini (linie od 5-10) itd. A potem wygenerować linki 1, 2, 3, 4 ... w zależności od ilości lini. Pamiętając że każdy link wyświetli 5 lini z bazy danych. A i jeszcze jedno, gdy mam 11 lini to wyświetla mi 1 i 2 link dobrze a 3 pobierze od 10-15 jak go ograniczyć aby przy ostatnim linku wyświetlał od np 10-11(11- ilość wszystkich lini) No i żeby za każdym razem podawało rzeczwisty numer lini. Jeśli pokazemy str=3 to wyświetli 10-15 i dla kazdej wyświetlonej lini podaje jej rzeczywisty numer czyli To jest linia: 10, To jest linia: 11. To jest linia: 12 itd........ HELP PLEASE HELP |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
[php:1:304407392b]<?php
$plik = file("$dzial/baza_.dat"); $wiersze = count($plik); $liczba_linii = 5; if( empty($_GET['str']) || ($_GET['str']==1) ){ $start=0; $end=$liczba_linii-1; } else { $start = ( (int)($_GET['str']) - 1)*$liczba_linii; $end = ( (int)($_GET['str'])*$liczba_linii) - 1; $end = ( $end > $wiersze) ? $wiersze : $end; } for($i=$start ; $i<$end ; $i++) { $baza = explode('||', $plik[$i]); echo("To jest linia: $i"); // itd... } // itd... [/php:1:304407392b] Dalej sobie poradzisz.... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Lubartów ! Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, ten skrypcik działa jak trza ale trzeba go jeszcze przerobić aby czytał lnie z bazy od tyłu. Ja zrobiłem coś takiego ale mam problem z określeniem wartości początkowej i końcowej pętli dla str>1
Kod $plik = file("baza.dat"); //Plik
$wiersze = count($plik); //Ilość lini $liczba_linii = 6; //Ilość wyśwrtleń if(($str=="") || ($str==1)) { //Jeśli nie ustalmy strony lub str=1 $start=$wiersze-1; //Wartość dla rozpoczęcia pętli $end=$wiersze-$liczba_linii; } //Wartość dla zkończenia #########Wszystko powyżej działa idealnie ########################## else { //Tutaj mam problem z ustaleniem wartości $start = $wiersze-(($str-1)*$liczba_linii); //Dla startu $start = $wiersze-$start; $end = $wiersze-($start+(($str-1)*$liczba_linii)); // I dla końca $end = ( $end < $wiersze) ? $end : $wiersze; } for($i=$start; $i>$end; $i--) { //Pętelka echo("baza danych itd."); } Opis skryptu: SKrypcik Ma pobierać co 6 lini z bazy danych txt od tyłu aż skończy się plik. Dla wartości str=0 lub 1 pętla działa dobrze pobiera 6 ostatnich lini. Ale mam problem z ustaleniem wartości początkowej i końcowej w zależności od przeglądanej strony czyli str=2, 3 itd. Wiecie jak to zrobić? Proszę bardzo mi jest to potrzebne. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
[php:1:9ba7a2294b]<?php
$plik = file("baza.dat"); $plik = array_reverse($plik); ?>[/php:1:9ba7a2294b] Umieść to na początku kodu który ci dałem... PS. Umieszczaj kod w znacznikach php. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Lubartów ! Ostrzeżenie: (0%) ![]() ![]() |
Ale nie oto mi chodzi, muszę zachować rzeczywistą linie w pliku txt. A reverse odwróci mi baze danych i lipa. LInia ostatnia będzie linią 0, może masz inny pomysł ?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A po co chcesz zachowywać rzeczywistą linię ?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Lubartów ! Ostrzeżenie: (0%) ![]() ![]() |
Bo musi tak niestety być (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Lubartów ! Ostrzeżenie: (0%) ![]() ![]() |
Umiałbyś to zrobić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Please help |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Odwróć tablicę (TRUE nie zmienia kluczy w tablicy)
[php:1:61b0a0a0af]<?php $plik = file('nazwa_pliku'); $plik = array_reverse($plik, TRUE); ?>[/php:1:61b0a0a0af] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 06:30 |