Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Pobieranie 5 elementów z tablicy na stronę
Morale
post
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

Ostrzeżenie: (0%)
-----


Plik tekstowy:
Cytat
1111||2222||
gggg||43fgr||


Biorę explode("||"....

I kto mi powie jak wyświetlić na stronie index.php?id=1 5 pierwszy elementów, na stronie index.php?id=2 kolejne 5 elementów itd...

Po prostu nie wiem jak rozdzielić by wyświetlało co 5 :/

Ten post edytował Morale 6.01.2008, 17:48:06


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
dadexix
post
Post #2





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $arr = explode("||",$plik);
  3. $id = $_GET['id'] - 1;
  4. echo $arr[$id];
  5. ?>


index.php?id=1 - pokazuje pierwsze 5
index.php?id=2 pokazuje drugie 5
index.php?id=3 pokazuje trzecie 5
itd.


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
Morale
post
Post #3





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

Ostrzeżenie: (0%)
-----


Gdzie tu jest napisane, że pobiera 5 ?


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
Cezar708
post
Post #4





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


1. Co oznacza id i czego się tyczy? Jest to numer linii?

2. Explode wygląda tak:

Kod
array explode  ( string $delimiter  , string $string  [, int $limit  ] )


czyli możesz użyć domyślniej zmiennej limit... może to Ci pomoże.

3. ...a może to jest taka struktura a`la plik CSV, w takim wypadku skrypt będzie bardziej skomplikowany. Napisz dokładnie z jakich danych chcesz co otrzymać by dzięki temu lepiej Ci pomóc.

Pozdrawiam
Go to the top of the page
+Quote Post
Morale
post
Post #5





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

Ostrzeżenie: (0%)
-----


z pliku tekstowego:

Cytat
1111||2222||
gggg||43fgr||


po 5 elementów na stronę


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
Cezar708
post
Post #6





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


.. a co jest elementem?

bo w zasadzie ja na moje oko widzę 4 elementy... czyli "1111", "2222", "gggg", "43fgr"... poza tym za nic w świecie nie wiem jak to chciałbyś połączyć z id.. nie wiem co id ma określać.

Musisz trochę uściślić.
Go to the top of the page
+Quote Post
Morale
post
Post #7





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

Ostrzeżenie: (0%)
-----


yyy, trochę źle powiedziałem.

Ma pobierać 5 linii na jedną stronę

Cytat
1111||2222||
gggg||43fgr||
3123123||124132413||
1121df||332323||
132fdfdsaaa22||jjfdsd||
3jhgfffr5||zzzaaaa||


Ten post edytował Morale 6.01.2008, 15:36:18


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
Cezar708
post
Post #8





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


... a id oznacza numer strony... no to w końcu się rozumiemy smile.gif


to tak:

  1. <?php
  2. $numerStrony = $_GET['id'] - 1; // łatwiej będzie operować na czymś co zaczyna się od zera
  3.  
  4. if ( $numerStrony < 0 ) $numerStrony = 0;
  5.  
  6. $offset = 5 * $numerStrony;
  7.  
  8. $arrLines = file("sciezka_do_pliku.txt");
  9. for( $i=$offset; $i<$offset+5; $i++){
  10. echo $arrLines[$i]."<br>\n";
  11. }
  12. ?>
Go to the top of the page
+Quote Post
Morale
post
Post #9





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

Ostrzeżenie: (0%)
-----


A jak zrobić by wyświetlić od ostatniej linii bo jak zamieniam
  1. <?php
  2. $i++
  3. ?>
na
  1. <?php
  2. $i--
  3. ?>
to pokazuje się błąd 500.

Ten post edytował Morale 6.01.2008, 17:57:06


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
Cezar708
post
Post #10





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


nie sprawdzałem, ale zobacz, ewentualnie popraw małe błędy:

  1. <?php
  2. $numerStrony = $_GET['id'] - 1; // łatwiej będzie operować na czymś co zaczyna się od zera
  3.  
  4. if ( $numerStrony < 0 ) $numerStrony = 0;
  5.  
  6. $offset = 5 * $numerStrony;
  7.  
  8. $arrLines = file("sciezka_do_pliku.txt");
  9. $c = count($arrLines)-1;
  10. for( $i=$c; ($i>=0)&&($i>$c-$offset); $i--){
  11. echo $arrLines[$i]."<br>\n";
  12. }
  13. ?>
Go to the top of the page
+Quote Post
Morale
post
Post #11





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

Ostrzeżenie: (0%)
-----


ma ktoś może inny pomysł ?


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
loff
post
Post #12





Grupa: Zarejestrowani
Postów: 39
Pomógł: 15
Dołączył: 21.03.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(Morale @ 6.01.2008, 17:40:04 ) *
A jak zrobić by wyświetlić od ostatniej linii bo jak zamieniam
  1. <?php
  2. $i++
  3. ?>
na
  1. <?php
  2. $i--
  3. ?>
to pokazuje się błąd 500.

biggrin.gif biggrin.gif biggrin.gif

Cytat(Morale @ 8.01.2008, 16:37:33 ) *
ma ktoś może inny pomysł ?

dzizas krajst a samemu troche pomyśleć nie łaska? jeden ci napisał kod drugi podpowiedział ze jest funkcja odwracajaca tablice....eh lenistwo straszne

http://pl.php.net/manual/pl/function.array-reverse.php - nawet po polsku pisze....

moja wersja...
  1. <?php
  2. $numerStrony = $_GET['id']; 
  3.  
  4. $offset = 5 * ($numerStrony-1);
  5.  
  6. $arrLines = file("sciezka_do_pliku.txt");
  7.  
  8. $odwrocona = array_reverse($arrLines);
  9.  
  10. for( $i=$offset;$i<$offset+5; $i++){
  11. echo $odwrocona [$i]."<br>\n";
  12. }
  13. ?>


edit: srednika zapomniałem jednego biggrin.gif potem bys napisał ze nie działa hrhr winksmiley.jpg

Ten post edytował loff 8.01.2008, 17:24:25
Go to the top of the page
+Quote Post
Morale
post
Post #13





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

Ostrzeżenie: (0%)
-----


sorry ale nie działa...


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
loff
post
Post #14





Grupa: Zarejestrowani
Postów: 39
Pomógł: 15
Dołączył: 21.03.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(Morale @ 8.01.2008, 17:45:00 ) *
sorry ale nie działa...

hmm chyba cos tobie bo ja przed wysłaniem sprawdziłem i DZIAŁA. No chyba ze sie nie rozumiemy....
Go to the top of the page
+Quote Post
Morale
post
Post #15





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

Ostrzeżenie: (0%)
-----


Nic się nie wyświetla jak biorę twój kod

tylko

  1. <br>
  2. <br>
  3. <br>
  4. <br>
  5. <br>


Plik wygląda tak:

Kod
lol||teskttst||1.12.2234||
kokokok||tekststt||1.11.2002||


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
loff
post
Post #16





Grupa: Zarejestrowani
Postów: 39
Pomógł: 15
Dołączył: 21.03.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


a u mnie wyglada to tak:

Cytat
<?php
kokokok||tekststt||1.11.2002||
lol||teskttst||1.12.2234||
Notice: Undefined offset: 2 in C:serwergaus.php on line 13
Notice: Undefined offset: 3 in C:serwergaus.php on line 13
Notice: Undefined offset: 4 in C:serwergaus.php on line 13
?>


czyli działa. Inna sprawa ze ja już nie wiem czy ty chcesz pokazywać na stronie po 5 lini z pliku zaczynajac wyswietlanie od konca czy moze cos innego. Jak cos innego to napisz o co chodzi, a jak o to to ci nie pomoge bo to jest działajacy kod.

Ten post edytował loff 8.01.2008, 17:54:58
Go to the top of the page
+Quote Post
mike
post
Post #17





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Rażąca niesamodzielność, oczekiwanie gotowca, nieopisywanie problemu (powtarzanie tępego "nie działa") i wreszcie crossposting.
Zamykam.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:47