Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Blad typu notice
eminiasty
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 0
Dołączył: 11.09.2015

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


Mam paginacje wyświetlana jak poniżej. Blad z tym kodem polega na tym ze przy uruchomieniu kompilator mowi ze:

Undefined index: c

czyli tak jakby niezdefiniowana zmienna, blad bardzo czesty lecz czytajac w necie jak go wykasowac
zrobilem cos takiego:

  1. if (isset($_GET['c'])) {
  2. $c = $_GET['c'];
  3. } else {
  4. $c = 'stand';
  5. }

jednak to w zaden spsob nie likwiduje bledu, pomoze ktos? to pewnie błahostka jakas?

  1. if($rank == 'Administrator'){
  2. if($ile2<=0){ info('Brak ogłoszeń...');}
  3. else{
  4.  
  5.  
  6. echo '<div class="row"><ul class="pagination">';
  7. if($page > 1) echo "<li><a href=\"".$script_name."?s=news&a=view&amp;page=".$prev."&c=".$_GET['c']."\">Poprzednia</a></li>";
  8. if ($forstart > 1) echo "<li><a href=\"".$script_name."?s=news&a=view&amp;page=?page=1&c=".$_GET['c']."\">[1]</a></li>";
  9. if ($forstart > 2) echo "<li>...</li>";
  10.  
  11. for($forstart; $forstart < $forend; $forstart++){
  12.  
  13. if($forstart == $page){
  14. echo "<li class=\"current\">";
  15. }else{
  16. echo "<li>";
  17. }
  18. echo "<a href=\"".$script_name."?s=news&a=view&amp;page=".$forstart."&c=".$_GET['c']."\">[".$forstart."]</a></li>";
  19. }
  20. if($forstart < $allpages) echo "<li>...</li>";
  21. if($forstart - 1 < $allpages ) echo "<li><a href=\"".$script_name."?s=news&a=view&amp;page=".$allpages."&c=".$_GET['c']."\">[".$allpages."]</a></li>";
  22. if($page < $allpages) echo "<li><a href=\"".$script_name."?s=news&a=view&amp;page=".$next."&c=".$_GET['c']."\">Następna</a></li>";
  23. echo "</ul></div>";
  24. }
  25. }
Go to the top of the page
+Quote Post
trueblue
post
Post #2





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

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


W powyższym kodzie paginacji stosujesz zmienną $_GET['c'] czy $c?
Go to the top of the page
+Quote Post
eminiasty
post
Post #3





Grupa: Zarejestrowani
Postów: 267
Pomógł: 0
Dołączył: 11.09.2015

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


w tym problem (IMG:style_emoticons/default/sciana.gif)

Blad jeszcz jeden w tym samym temacie w sumie wiec nei zaloze nowego tematu. Tyczy sie paginacji

  1. $onpage = 10;
  2. $navnum = 7;
  3. $allpages = ceil($all_posts/$onpage);
  4.  
  5. if(!isset($_GET['page']) or $_GET['page'] > $allpages or !is_numeric($_GET['page']) or $_GET['page'] <= 0){
  6. $page = 1;
  7. }else{
  8. $page = $_GET['page'];
  9. }
  10. $limit = ($page - 1) * $onpage;


i takie zapytanie

  1. SELECT ".$prefix."news.*
  2. FROM ".$prefix."news
  3. ORDER BY news_date_add
  4. LIMIT $limit, $onpage";


problem jest tego typu ze wyswietla sie na pierwszej stronie paginacji 5 na drugiej 6 na nastepniej 10 newsow wtf?

Ten post edytował eminiasty 3.02.2016, 17:53:24
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wyswietl sobie jak wyglada twoj wygenerowany select
Go to the top of the page
+Quote Post
eminiasty
post
Post #5





Grupa: Zarejestrowani
Postów: 267
Pomógł: 0
Dołączył: 11.09.2015

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


  1. SELECT COUNT(*) AS all_posts FROM sos_news

zapytanie zwraca 32 - czyli tyle ile jest newsow w bazie

i teraz teoretycznie
  1. $onpage = 10;

powinno mowic o tym ze 10 postow na stronie ma byc
czyli 10 10 10 2

a magicznie jest:
5 6 10 1 oO

Ten post edytował eminiasty 3.02.2016, 19:30:00
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Odnosze wrazenie ze zaczynam pisac po chinsku ostatnio....

Ja sie pytam jak wyglada to zapytanie:

SELECT ".$prefix."news.*
FROM ".$prefix."news
ORDER BY news_date_add
LIMIT $limit, $onpage";



echo "SELECT ".$prefix."news.*
FROM ".$prefix."news
ORDER BY news_date_add
LIMIT $limit, $onpage";
Go to the top of the page
+Quote Post
eminiasty
post
Post #7





Grupa: Zarejestrowani
Postów: 267
Pomógł: 0
Dołączył: 11.09.2015

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


  1. SELECT sos_news.* FROM sos_news ORDER BY news_date_add LIMIT 0, 10
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a dla strony nr2?

ps: pokaz kod, ktory wyswietla dane. pewnie tam cos z petla przekombinowales
Go to the top of the page
+Quote Post
com
post
Post #9





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


  1. SELECT * FROM sos_news ORDER BY news_date_add LIMIT 0, 10
a nie jakieś sos_news.*, poco?

Ten post edytował com 3.02.2016, 19:53:30
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Samo zapytanie jest ok.
Więc masz gdzieś problem z wyświetlaniem tych wyników jak sugerował @nospor
Go to the top of the page
+Quote Post
eminiasty
post
Post #11





Grupa: Zarejestrowani
Postów: 267
Pomógł: 0
Dołączył: 11.09.2015

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


http://forum.php.pl/Plaintext-456998.html

Ten post edytował eminiasty 3.02.2016, 21:40:47
Go to the top of the page
+Quote Post
Pyton_000
post
Post #12





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Pokaż jak to wygląda.

ew. print_r($newst);

Bo ew. koncepcja Ci się zgubiła (IMG:style_emoticons/default/wink.gif)

Ten post edytował Pyton_000 3.02.2016, 21:55:43
Go to the top of the page
+Quote Post
freewalker
post
Post #13





Grupa: Zarejestrowani
Postów: 90
Pomógł: 4
Dołączył: 14.02.2015

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


$strona=0;
$ilosc_wynikow=10;

$limit_start=$strona*$ilosc_wynikow;


"SELECT * FROM sos_news ORDER BY news_date_add LIMIT ".$limit_start.", 10"


musi działać ;P
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: 23.08.2025 - 01:09