Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze skryptem porcjującym dane
Forum PHP.pl > Forum > Przedszkole
fiflus
Mam bazę w pliku:

baza.php
Kod
adam||22
ela||32
waldek||45


i skrypt porcjujący:

index.php
  1. <?php
  2.  
  3. $max_poz=&#092;"8\";
  4. if($page==&#092;"\"){
  5. $page=&#092;"1\";
  6. $start=&#092;"0\";
  7. }
  8. else{
  9. $start=$page*$max_poz;
  10. $start=$start-$max_poz;
  11. }
  12. $file = file(&#092;"baza.php\");
  13. echo&#092;"albumb(\";
  14. for($index=$start, $max = min($page*$max_poz, count($file)); $index < $max;
  15. $index++){
  16. $zz = explode(&#092;"||\", $file[$index]); 
  17. echo &#092;"'$zz[0]','$zz[1]',\"; 
  18. } 
  19. echo &#092;");\";
  20.  
  21. ?>

skrypt ten wyświetla mi dane w taki sposób

albumb('adam','22','ela','32','waldek','45',); //zauważ ten czerwony przecinek przed nawiasem zamykającym!

Jak pozbyć się tego przecinka na końcu wcześniej te przecinki powinny być ale ten na końcu chciałbym, aby się nie wyświetlał - proszę o pomoc nie mogę sobie z tym poradzić

----uwagi by kszychu-------

Używaj BBcode!
kicaj
Musisz zastosowac if" title="Zobacz w manualu PHP" target="_manual()
Wtedy gdy ostatni argument bedzie rowny liczbie wszystkich argumentow = nie wyswietlaj przecinka smile.gif
fiflus
A jak w praktyce to wykonać (kod) szczerze piszę, że nie jestem orłem smile.gif
mls
Albo tak:
  1. <?php
  2. for ($index=$start, $max = min($page*$max_poz, count($file)); $index < $max; $index++) {
  3. $zz = explode(&#092;"||\", $file[$index]); 
  4. echo &#092;"'$zz[0]','$zz[1]'\".($index < $max ? \",\" : \"\"); 
  5. }
  6. ?>


Albo:
  1. <?php
  2. $out = &#092;"\";
  3. for ($index=$start, $max = min($page*$max_poz, count($file)); $index < $max; $index++) {
  4. $zz = explode(&#092;"||\", $file[$index]); 
  5. $out .= &#092;"'$zz[0]','$zz[1]',\"; 
  6. }
  7. rtrim($out, &#092;",\");
  8. echo $out;
  9.  
  10. ?>
kicaj
  1. <?php
  2. $max_poz=&#092;"8\";
  3. if($page==&#092;"\"){
  4. $page=&#092;"1\";
  5. $start=&#092;"0\";
  6. }
  7. else{
  8. $start=$page*$max_poz;
  9. $start=$start-$max_poz;
  10. }
  11. $file = file(&#092;"baza.php\");
  12. echo&#092;"albumb(\";
  13. for($index=$start, $max = min($page*$max_poz, count($file)); $index < $max;
  14. $index++){
  15. $zz = explode(&#092;"||\", $file[$index]);
  16.  
  17. //
  18. $array = array($zz[0], $zz[1]); 
  19. echo = implode(&#092;", \", $array); // laczy imie z liczba
  20.  
  21. if( $index != count( $file ) //jesli ostatnia liczba nie jest rowna z liczba lini w pliku to  wyswietla przecinek...
  22. {
  23. echo &#092;", \";
  24. }
  25.  
  26. }
  27. echo &#092;");\";
  28.  
  29. ?>

Mam nadzieje, ze dziala, pisane na szybko smile.gif

& # 3 3 ; zamien na: !
fiflus
niestety nie działa sad.gif zmieniłem już kod na:

  1. <?php
  2. $max_poz=&#092;"8\";
  3. if($page==&#092;"\"){
  4. $page=&#092;"1\";
  5. $start=&#092;"0\";
  6. }
  7. else{
  8. $start=$page*$max_poz;
  9. $start=$start-$max_poz;
  10. }
  11. $file = file(&#092;"baza.php\");
  12. echo&#092;"albumb(\";
  13. for($index=$start, $max = min($page*$max_poz, count($file)); $index < $max;
  14. $index++){
  15. $zz = explode(&#092;"||\", $file[$index]);
  16.  
  17. //
  18. $array = array($zz[0], $zz[1]); 
  19. echo implode(&#092;", \", $array);
  20. if( $index != count( $file )
  21. {
  22. echo &#092;", \";
  23. }
  24.  
  25. }
  26. echo &#092;");\";
  27. ?>


pokazuje błąd:

Kod
Parse error: parse error, unexpected ':' in C:\Apache2\htdocs\1\albums.php on line 20
kicaj
W 20 lini dodaj jeden nawias ')' na koncu i te "krzaki" zmien na wykrzyknik!
fiflus
Zmieniłem wszystko teraz błędów nie ma ale nadal wyświetla ostatni przecinek sad.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.