Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Losowanie i wyświetlanie plików
bemol
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


Mianowicie mam taki problem (już nie pierwszy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ):
Chcę utworzyć taki pliczek PHP, który:
1. Losuje liczbę. ($losowy zakres: 1-60)
2. Otwiera i wyświetla plik: "ciekawe/$losowy.htm(ewentualnie $losowy.txt)"
3. Wyświetla >> Następny oraz << Poprzedni, ale już nie losując tylko idąc po kolei.
Przykładowo wylosuje 45 i teraz wyświetla sie następny, a po jego kliknięciu otwiera sie 46 i analogicznie z poprzedni.
4. if $losowy = 60; to nie wyświetlaj(lub ukryj) Następny
5. if $losowy = 1; to nie wyświetlaj(lub ukryj) Poprzedni

No i właściwie tyle. Teraz pokaże to co już zrobiłem. Wiem, że to zagmatwałem, ale musiałem sobie poradzić ze swoją wiedzą php (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

show.php
  1. <?php
  2. function losuj() 
  3. { 
  4. $losowy = rand(1, 60); 
  5. }
  6. $losowy = 1;
  7.  
  8. if (empty($losowy)) {
  9. echo "błąd"; }
  10. else {
  11.  
  12. losuj();
  13. include("ciekawe/$losowy.htm");
  14.  
  15. $wstecz = $losowy - 1;
  16. $naprzod = $losowy + 1;
  17.  
  18. echo "<br /><table>";
  19. echo "<tr>";
  20. echo "<td><a href=ciekawe/$wstecz.htm>Poprzednia</a></td>";
  21. echo "<td><a href=ciekawe/$naprzod.htm>Następna</a></td>";
  22. echo "</tr>";
  23. echo "</table>";
  24. ?>


Wiem że liniki:
  1. <?php
  2. echo "<td><a href=ciekawe/$wstecz.htm>Poprzednia</a></td>";
  3. echo "<td><a href=ciekawe/$naprzod.htm>Następna</a></td>";
  4. ?>


nie mogą być ponieważ gdy mnie odeśle do tego pliku to nie wyświetli już ponownie tego skryptu :/ Ale o czym ja mówie, w tej chwili w ogóle nie chce sie wyświetlić.
http://bemol.xt.pl >> Ciekawostki >> Przeglądaj
lub bemol.xt.pl/ciekawostki/show.php

Ten post edytował bemol 24.04.2007, 19:02:47
Go to the top of the page
+Quote Post
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


Jakoś tak to może wyglądać (to jeszcze nie jest dobre, ale na szybko chyba zadziała)
  1. <?php
  2. if (isset($_GET['page']) && is_numeric($_GET['page'])){
  3. include('ciekawe/'.$_GET['page'].'htm');
  4. } else {
  5.  
  6. $page = rand(1, 60);
  7.  
  8. if (!is_file('ciekawe/'.$page.'htm')) {
  9. echo 'błąd, nie ma pliku'; }
  10. else {
  11.  
  12. include('ciekawe/'.$page.'htm');
  13.  
  14. if ($page > 1){
  15. $poprzednia = '<a href=?page='. $page-1 .'>Poprzednia</a>';
  16. }
  17. if($page <60){
  18. $nastepna = '<a href=?page='. $page+1 .'>Poprzednia</a>';
  19. }
  20.  
  21. echo "<br /><table>";
  22. echo "<tr>";
  23. echo "<td>$poprzednia</td>";
  24. echo "<td>$nastepna</td>";
  25. echo "</tr>";
  26. echo "</table>";
  27. }
  28. }
  29. ?>


Ten post edytował Darti 24.04.2007, 19:25:05
Go to the top of the page
+Quote Post
bemol
post
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


Dzięki, troszkę to zmieniłem, bo były błędy
  1. <?php
  2. if ($page > 1){
  3. $poprzednia = $page-1;
  4. echo '<a href=?page='.$poprzednia.'>Poprzednia</a>';
  5. }
  6. if($page <60){
  7. $nastepna = $page+1;
  8. echo '<a href=?page='.$nastepna.'>Następna</a>';
  9. }
  10. ?>


I teraz wyskakuje:
Parse error: syntax error, unexpected $end in /var/www/sites/yoyo.pl/b/b/bbemol/ciekawostki/show.php on line 88
Podczas, gdy mój kod ma 87 linijek (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Edit: okazało sie ze brakowało klamrów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Tylko teraz jest następujący problem, że pisze błąd, brak pliku podczas gdy on istnieje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował bemol 24.04.2007, 19:29:24
Go to the top of the page
+Quote Post
Darti
post
Post #4





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


w katalogu ciekawe maja być pliki:
1.htm
2.htm
...
60.htm

A u Ciebie skrypt php jest w tym samym katalogu co plik *.htm
Wrzuć wszystkie 60 (sic!) plików htm do podkatalogu ciekawe (podkatalogu względem katalogu, w którym jest skrypt).

Ten post edytował Darti 24.04.2007, 19:43:49
Go to the top of the page
+Quote Post
bemol
post
Post #5





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


nie prawda. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

(IMG:http://img464.imageshack.us/img464/3382/kamilpn8.jpg)

1. Katalog "ciekawe"
2. nazwy plików w folderze ciekawe
3. skrypt o który sie rozchodzi

na ftp wszystko mam identycznie jak tutaj na komputerze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
skowron-line
post
Post #6





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <?php
  2. if (!is_file('ciekawe/'.$page.'htm')) {
  3. ?>


zobacz
jezeli zrobisz sobie cos takiego

  1. <?php
  2. echo 'ciekwawe/'.$page.'html';
  3. ?>


to wynik bedzie taki

Kod
1html


czyli co?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) brakuje kropki

reasumujac ma byc tak

  1. <?php
  2. if (!is_file('ciekawe/'.$page.'.htm')) {
  3. ?>


pzdr
Go to the top of the page
+Quote Post
Darti
post
Post #7





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


hihi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) waves to skowron-line (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) kropeczkę przeoczyliśmy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
bemol
post
Post #8





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


i o tym pomyślałem i tak zrobiłem, ale z tego co widze zapomniałem o jeszcze jednej kropce (na 3) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Wiec zobacze co sie bedzie dzialo i jeszcze napisze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Edit: Niestety to nic nie zmieniło.
Dla sprawdzenia dodałem sobie linijkę:
  1. <?php
  2. echo $page;
  3. ?>

Niestety nic nie wyświetla.

Ten post edytował bemol 24.04.2007, 20:12:26
Go to the top of the page
+Quote Post
skowron-line
post
Post #9





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <?php
  2. if (!is_file('ciekawe/'.$page.'htm')) {
  3. ?>


kurna przeoczenie

zamien to na to
  1. <?php
  2. if (!file_exists('ciekawe/'.$page.'htm')) {
  3. ?>


i zobacz czy plik istnieje
Go to the top of the page
+Quote Post
bemol
post
Post #10





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


W tej chwili plik show.php wygląda następująco:

show.php
  1. <?php
  2. include('connection.php');
  3. echo '<style type="text/css" media="all">@import "add_style.css";</style>';
  4.  
  5. $page = $_GET['page'];
  6.  
  7. if(isset($_GET['page']) && is_numeric($_GET['page'])) {
  8. include('ciekawe/'.$_GET['page'].'.htm');
  9. } else {
  10. function losuj() 
  11. { 
  12. //zwracamy wylosowana wartosc
  13. return rand(1, 60); 
  14. }
  15.  
  16. $page = losuj(); //tutaj wywyolujemy funkcje losuj() a zawrocona przez nia wartosc przypisujemy do zmiennej $page
  17. if (!file_exists('ciekawe/'.$page.'.htm')) {
  18. echo 'błąd, nie ma pliku'; }
  19. else {
  20.  
  21. include('ciekawe/'.$page.'.htm');
  22.  
  23. if ($page > 1){
  24. $poprzednia = $page-1;
  25. echo '<a href=?page='.$poprzednia.'>Poprzednia</a>';
  26. }
  27. if($page <60){
  28. $nastepna = $page+1;
  29. echo '<a href=?page='.$nastepna.'>Następna</a>';
  30. }
  31.  
  32. echo "<br /><table>";
  33. echo "<tr>";
  34. echo "<td>$poprzednia</td>";
  35. echo "<td>$nastepna</td>";
  36. echo "</tr>";
  37. echo "</table>";
  38.  
  39. }}
  40. ?>


Prawie wszystko jest ok, bo wyświetla Poprzedni, następny i można przejść do strony. Tylko jest jeden problem. Jak klikniemy na poprzedni albo następny to wyświetli następną ciekawostkę, lecz już nie ma poprzedni, następny. Nad tym problemem dumam już 15h i nic nie moge wymyślić. Proszę o pomoc. Jeśli źle wytłumaczyłem, proszę zobaczyć na http://bemol.xt.pl/ciekawostki/show.php
Go to the top of the page
+Quote Post
Darti
post
Post #11





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


  1. <?php
  2. include('connection.php');
  3. echo '<style type="text/css" media="all">@import "add_style.css";</style>';
  4.  
  5. $page = $_GET['page'];
  6.  
  7. if(isset($_GET['page']) && is_numeric($_GET['page'])) {
  8. include('ciekawe/'.$_GET['page'].'.htm');
  9. } else {
  10. function losuj() 
  11. { 
  12. //zwracamy wylosowana wartosc
  13. return rand(1, 60); 
  14. }
  15.  
  16. $page = losuj(); //tutaj wywyolujemy funkcje losuj() a zawrocona przez nia wartosc przypisujemy do zmiennej $page
  17. }
  18. if (!file_exists('ciekawe/'.$page.'.htm')) {
  19. echo 'błąd, nie ma pliku'; }
  20. else {
  21.  
  22. include('ciekawe/'.$page.'.htm');
  23.  
  24. if ($page > 1){
  25. $poprzednia = $page-1;
  26. echo '<a href=?page='.$poprzednia.'>Poprzednia</a>';
  27. }
  28. if($page <60){
  29. $nastepna = $page+1;
  30. echo '<a href=?page='.$nastepna.'>Następna</a>';
  31. }
  32.  
  33. echo "<br /><table>";
  34. echo "<tr>";
  35. echo "<td>$poprzednia</td>";
  36. echo "<td>$nastepna</td>";
  37. echo "</tr>";
  38. echo "</table>";
  39.  
  40. }
  41. ?>
Go to the top of the page
+Quote Post
bemol
post
Post #12





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


lol, i działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) wystarczyło 1 klamre zmienić a ja sie tyle męczyłem.
Dzięki wielkie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.08.2025 - 03:31