Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][OOP] Błąd w kodzie
Xart
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


Witam przerzucam się powoli na OOP i jakoś słabo mi to idzie...

No i niestety kolejny problem....

  1. public function news() {
  2. $na_stronie = $this->ilosc;
  3. $tabela = $this->tabela;
  4. $wpisy = $this->mysqli->query("SELECT COUNT(id) FROM $tabela");
  5. $wpisy = $wpisy->fetch_assoc();
  6. $liczba_wpisow = $wpisy[0];
  7. $liczba_stron = ceil($liczba_wpisow / $na_stronie);
  8. if (isset($_GET['strona'])) {
  9. if ($_GET['strona'] < 1 || $_GET['strona'] > $liczba_stron) {
  10. $strona = 1;
  11. } else {
  12. $strona = $_GET['strona']; }
  13. } else {
  14. $strona = 1; }
  15. $od = $na_stronie * ($strona - 1);
  16. $zapytanie = $this->mysqli->query("SELECT * FROM $tabela ORDER BY id DESC LIMIT $od , $na_stronie");
  17. while($wynik = $zapytanie->fetch_assoc()) {
  18. print("<h2 class='t01'><span>".$wynik['tytul']."</span></h2>".$wynik['tresc']."");
  19. };
  20. if ($liczba_wpisow > $na_stronie) {
  21. $poprzednia = $strona - 1;
  22. $nastepna = $strona + 1;
  23. if ($poprzednia > 0) {
  24. echo '<p align="left"><a id="POPRZEDNIA" href="index.php?strona='.$poprzednia.'">Poprzednia strona</a></p>';
  25. }
  26. if ($nastepna <= $liczba_stron) {
  27. echo '<p align="right"><a id="NASTEPNA" href="index.php?strona='.$nastepna.'">Następna strona</a></p>';
  28. }
  29. }
  30. }


Powinno wyświetlić dwa odnośniki a ich nie wyświetla, newsy natomiast poprawnie (IMG:style_emoticons/default/smile.gif)

Ten post edytował Xart 28.04.2014, 17:02:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 19)
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


(IMG:style_emoticons/default/facepalmxd.gif) "... pewnie parser error" .

Włącz wyświetlanie błędów.
Go to the top of the page
+Quote Post
Xart
post
Post #3





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


... mam włączone ale na hostingu i parser errou nie czyta (IMG:style_emoticons/default/biggrin.gif)

już wiem sprawdziłem na lokalu zapomniałem o jednym nawiasie...

denerwuje mnie ten host zewnętrzny errorów nie wyświetla ...
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #4





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


nie zamknięty if linia 9
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #5





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Zmień tytuł wątku, bo "błąd w kodzie" to praktycznie wszystkie wątki zawierają...
Go to the top of the page
+Quote Post
Xart
post
Post #6





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


Faktycznie (IMG:style_emoticons/default/smile.gif)
Tematu możecie nie zamykać bo mogę mieć kolejne pytania to poco zaśmiecać forum..
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #7





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


Cytat(Xart @ 28.04.2014, 17:29:30 ) *
Faktycznie (IMG:style_emoticons/default/smile.gif)
Tematu możecie nie zamykać bo mogę mieć kolejne pytania to poco zaśmiecać forum..


temat nie do zamknięcia a do skasowania powinien być ;p dopiero co miałeś dokładnie taki sam temat tylko słowa przestawione... tutaj... pomijając że odpowiedziałeś sobie w parę minut na pytanie... więc [...]
Go to the top of the page
+Quote Post
Xart
post
Post #8





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


@UP
No tak ;d ale mnie szlag już trafia od tych błędów..

No i niestety kolejny problem....

  1. public function news() {
  2. $na_stronie = $this->ilosc;
  3. $tabela = $this->tabela;
  4. $wpisy = $this->mysqli->query("SELECT COUNT(id) FROM $tabela");
  5. $wpisy = $wpisy->fetch_assoc();
  6. $liczba_wpisow = $wpisy[0];
  7. $liczba_stron = ceil($liczba_wpisow / $na_stronie);
  8. if (isset($_GET['strona'])) {
  9. if ($_GET['strona'] < 1 || $_GET['strona'] > $liczba_stron) {
  10. $strona = 1;
  11. } else {
  12. $strona = $_GET['strona']; }
  13. } else {
  14. $strona = 1; }
  15. $od = $na_stronie * ($strona - 1);
  16. $zapytanie = $this->mysqli->query("SELECT * FROM $tabela ORDER BY id DESC LIMIT $od , $na_stronie");
  17. while($wynik = $zapytanie->fetch_assoc()) {
  18. print("<h2 class='t01'><span>".$wynik['tytul']."</span></h2>".$wynik['tresc']."");
  19. };
  20. if ($liczba_wpisow > $na_stronie) {
  21. $poprzednia = $strona - 1;
  22. $nastepna = $strona + 1;
  23. if ($poprzednia > 0) {
  24. echo '<p align="left"><a id="POPRZEDNIA" href="index.php?strona='.$poprzednia.'">Poprzednia strona</a></p>';
  25. }
  26. if ($nastepna <= $liczba_stron) {
  27. echo '<p align="right"><a id="NASTEPNA" href="index.php?strona='.$nastepna.'">Następna strona</a></p>';
  28. }
  29. }
  30. }


Powinno wyświetlić dwa odnośniki do poprzedniej i następnej a ich nie wyświetla, newsy natomiast poprawnie (IMG:style_emoticons/default/smile.gif)

Ten post edytował Xart 28.04.2014, 17:04:32
Go to the top of the page
+Quote Post
timon27
post
Post #9





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


W 21 linijce masz średnik po }
Czy ty uważasz forum za parser błędów?

ps. twój walidator numeru strony nie uwzględnia że ktoś wpisze 1.5. Co prawda jeśli ktoś coś takiego wpisuje to jego sprawa że się wysypuje, no ale skoro to sprawdzasz, to sprawdzaj porządnie.
Dodatkowo jeśli z niewyjaśnionych powodów ktoś się znajdzie na złej stronie: np miał link do 100tnej, ale przed chwilą ilość stron zmniejszyła się do 90, to wtedy będzie widział że jest na 100 a na prawdę będzie na 1.
Powinieneś dać jakiś komunikat.

Ten post edytował timon27 28.04.2014, 17:13:32
Go to the top of the page
+Quote Post
Xart
post
Post #10





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


Średnik po }; mam bo zamykam while (IMG:style_emoticons/default/questionmark.gif)
parser nie wywala błędów... skrypt działa tylko nie wyświetla odnośników.. do NASTĘPNA POPRZEDNIA
Go to the top of the page
+Quote Post
timon27
post
Post #11





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


Jeśli wpisów jest 1 a jesteś na 1 stronie to czemu ma wyświetlać następna/poprzednia??

Jedym słowem:
1. Wyświetl $liczba_wpisow
  1. echo $liczba_wpisow;

i powiedz co widzisz.
2. Wyświetl $na_stronie
  1. echo $na_stronie;

i powiedz co widzisz.
3. Powiedz na której stronie jesteś.

Ten post edytował timon27 28.04.2014, 17:25:33
Go to the top of the page
+Quote Post
Xart
post
Post #12





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


Timon dzięki ;d
źle pobierałem ilość do zmiennej z bazy bo jak wpisałem ręcznie to śmiga (IMG:style_emoticons/default/smile.gif)

I kolejne pytanie tym razem dotyczące HTML wyświetlanym w PHP

Jak wyświetlam to takim kodem:

  1. if ($poprzednia > 0) {
  2. echo '<p align="left"><a id="POPRZEDNIA" href="index.php?strona='.$poprzednia.'">Poprzednia strona</a></p>';
  3. }
  4. if ($nastepna <= $liczba_stron) {
  5. echo '<p align="right"><a id="NASTEPNA" href="index.php?strona='.$nastepna.'">Następna strona</a></p>';


I zachodzi sytuacji, że musi wyświetlić dwie i wtedy jeden odnośnik ma być po prawo a drugi po lewo i tak jest lecz nie są na jednym poziomie tzn:

(IMG:http://s3-eu-west-1.amazonaws.com/screenshooter-legacy/ey-jxyxjauxpeoopesfsvub.jpg)

są poprostu w innej linijce a dzieje się dlatego tak, że p to nowy akapit... nie mogę p usunąć bo musi być wyrównanie do prawej czy lewej jak to mogę rozwiązać ?
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #13





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


  1. display:inline;


edit: znów nie doczytalem, tym razem że dwa akapity.
możesz zrobić coś takiego?
  1. <span style="display:inline"><p>...</p> i przy drugim <p>...</p></span>


Ten post edytował ZaXaZ 28.04.2014, 17:50:58
Go to the top of the page
+Quote Post
Xart
post
Post #14





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


@UP
No właśnie nie bardzo ;d
bo wtedy span będzie zamknięty tylko jeżeli spełni się drugi warunek
a takto wyświetli tylko POPRZEDNI i nie będzie </span> ;/
pozatym coś itak nie działa ..

Ten post edytował Xart 28.04.2014, 17:55:33
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #15





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


Cytat(Xart @ 28.04.2014, 18:53:42 ) *
@UP
No właśnie nie bardzo ;d
bo wtedy span będzie zamknięty tylko jeżeli spełni się drugi warunek
a takto wyświetli tylko POPRZEDNI i nie będzie </span> ;/



  1. echo '<span style="display:inline;">';
  2. if ($poprzednia > 0) {
  3. echo '<p align="left"><a id="POPRZEDNIA" href="index.php?strona='.$poprzednia.'">Poprzednia strona</a></p>';
  4. }
  5. if ($nastepna <= $liczba_stron) {
  6. echo '<p align="right"><a id="NASTEPNA" href="index.php?strona='.$nastepna.'">Następna strona</a></p>';
  7. }
  8. echo '</span>';

?

Ten post edytował ZaXaZ 28.04.2014, 17:57:54
Go to the top of the page
+Quote Post
Xart
post
Post #16





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


Nie niestety nie działa ;/
jeszcze zostaje opcja pierwsze do lewej a potem twarde spacje no ale to lipa troche ;d
Nawet diva zrobiłem dodałem do css'a sprawdzam w przeglądarce czyta go w css ale nic nie daje

Ten post edytował Xart 28.04.2014, 18:07:28
Go to the top of the page
+Quote Post
trueblue
post
Post #17





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Wstaw obydwa linki do diva, jednemu linkowi nadaj float:left, drugiemu float:right;
Go to the top of the page
+Quote Post
Xart
post
Post #18





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


Tak zrobiłem...

  1. if ($liczba_wpisow > $na_stronie) {
  2. $poprzednia = $strona - 1;
  3. $nastepna = $strona + 1;
  4. echo '<div id="linia">';
  5. if ($poprzednia > 0) {
  6. echo '<p align="left"><a id="POPRZEDNIA" href="index.php?strona='.$poprzednia.'">Poprzednia strona</a></p>';
  7. }
  8. if ($nastepna <= $liczba_stron) {
  9. echo '<p align="right"><a id="NASTEPNA" href="index.php?strona='.$nastepna.'"></p>     Następna strona</a>';
  10. }
  11. echo '</div>';


  1. CSS:
  2. #linia {
  3. display:inline;
  4. }


nadal nie działa niestety

Ten post edytował Xart 28.04.2014, 18:13:07
Go to the top of the page
+Quote Post
trueblue
post
Post #19





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Nie zrobiłeś.


  1. echo '<div id="linia">';
  2. if ($poprzednia > 0) {
  3. echo '<a id="POPRZEDNIA" href="index.php?strona='.$poprzednia.'">Poprzednia strona</a>';
  4. }
  5. if ($nastepna <= $liczba_stron) {
  6. echo '<a id="NASTEPNA" href="index.php?strona='.$nastepna.'">Następna strona';
  7. }
  8. echo '</div>';


  1. #linia a#POPRZEDNIA{
  2. float:left;
  3. }
  4. #linia a#NASTEPNA{
  5. float:right;
  6. }


Ten post edytował trueblue 28.04.2014, 18:30:30
Go to the top of the page
+Quote Post
Xart
post
Post #20





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


Dzięki wielkie (IMG:style_emoticons/default/smile.gif)
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: 22.08.2025 - 13:19