![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam problem gdyż nie wyświetla mi żadnych stron tzn wyświetla mi tylko jedną stronę z 5 rekordami tak jak powinno chodź w bazie jest ponad 10 rekordów spełniających podany warunek to i tak coś kurde nie gra bo jest tylko 1 strona i nie wyświetla ani wstecz ani dalej. Proszę o pomoc oto kod skryptu
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Dobra rada.. przepisz skrypt na nowo bo tu jest jedno wielkie bagno.
1. Włącz raportowanie błędów 2a. Jeżeli używasz or die(mysql_error()); to staraj się dodać je do każdego zapytania a nie jedno z mysql_error(), drugie z ('blad') a inne bez 2b. Tego or die() nie powinno być przy stringu $viev_news = "SELECT id, title, author, icon, date, time, img, vievs, comments, img1, info1, info2 FROM news WHERE id=".$_GET['id_news']."" or die('Blad'); 3. Po co w URL linków dajesz dwa razy && ? 4. Po co zliczasz rekordy w zapytaniu a później znowu za pomocą mysql_num_rows() - poczytaj o COUNT 5. Używasz zmiennych, których nigdzie nie zadeklarowałeś i wiele innych... ps. do paginacji użyj gotowca - będzie o niebo lepszy niż to co masz teraz Ten post edytował CuteOne 18.06.2012, 04:31:37 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuej za rady ale to nie rozwiązuje w zadnym stopniu mojego problemu... nie chcę żadnych gotowców bo tak niczgo się nie nauczę.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że jego odpowiedź Cię nie zadowoliła, bo pewnie chciałbyś otrzymać informację "w tej linni powinno być to i tamto zamiast czegoś tam". Niestety, ale Twój skrypt jest taki brudny, że analizowanie go nie sprawi nikomu przyjemności.
Powinieneś się cieszyć, że CuteOne przebrnął przez 10 linii Twojego skryptu i wypisał Ci błędy jakie tam popełniłeś (IMG:style_emoticons/default/wink.gif) Ja również nie chcę się zbytnio męczyć. Powiem tyle: w linii 110 masz ten kod który wyświetla przycisk "dalej". Jest on wtedy wyświetlany, gdy spełniony jest warunek w linii 108. Skoro się nie wyświetla, a Twoim zdaniem powinien, to zobacz sobie, co w tych zmiennych siedzi i na podstawie tego będziesz wiedział czemuj warunek nie jest spełniony. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
no właśnie nie wiem co jest źle skoro w poprzednim skrypcie dokładnie tak sam to rozwiązałem i wszystko działa.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zacznij sprawdzać co jest nie tak przez var_dump(). http://www.phpro.org/tutorials/Pagination-...HP-and-PDO.html tu masz w miarę dobry skrypt paginacji, obiektowy, ale jak choć trochę znasz PHP to załapiesz i przystosujesz.
Ten post edytował !*! 18.06.2012, 09:42:42 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie bardzo się rozumiemy gdyż chcę zrozumieć co w tym konkretnym przykładzie jest źle
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Postaw się w Naszej sytuacji. Pokazujesz kod który ma ~150 linii, jest źle napisany, nawet to nie jest angielski, już pomijając składnie... Trudno wskazać cokolwiek, ponieważ:
1. nie podałeś żadnego błędu, tylko że Ci się coś nie wyświetla 2. nie mamy tego działającego kodu u siebie, a najzwyczajniej nikt nie kopiuje kodu z forum i nie wymyśla bazy do niego, tylko po to żeby go sprawdzić. Tak jak pisałem, zacznij wstawiać co kilka linijek var_dump(), co masz sprawdzać? Zmienne jakie odbierasz i porównaj je z tymi co mają być. W ten sposób znajdziesz "błąd". Obstawiałbym to:
Ten post edytował !*! 18.06.2012, 10:41:29 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czemu sobie po prostu nie wyświetlisz tych zmiennych sam nie zobaczysz ?
Problem jest oczywisty do rozwiązania. Nie wyświetla Ci się ten przycisk dalej bo nie spełniony jest warunek warunek nie jest spełniony bo $_GET['page_cm'] nie jest mniejsze od ceil($rows_page_cm/limit_cm)-1, czyli któraś wartość jest nieprawidłowa Wyświtl te wartości i zbadaj która wartość jest błędna. Następnie zastanów się, czemu wartośc jest błędna. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
ale nie wyświetla się żaden błąd w dodatku jest kropka w kropke zrobione tak samo jak poprzedni SKRYPT... a sam kod proszę bardzo podaje linijki w którym jest część tego skryptu:
- od 86 do 112 - 37 oraz 38 Naprawdę reszta nie ma tutaj żadnego znaczenia... |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
I właśnie dlatego to Ty masz to sprawdzić. Jak, już Ci napisałem, peter13135 zresztą też.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
no ok już chyba wiem co jest nie tak źle zlicza chyba ilość komentarzy bo zamiast 12 w wartości $rows_page_cm wyświetla że jest 1 hmm tylko dlaczego skoro w poprzednim skrypcie dobrze liczy oO
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
CuteOne napisał Ci:
Cytat 4. Po co zliczasz rekordy w zapytaniu a później znowu za pomocą mysql_num_rows() - poczytaj o COUNT a Ty mówisz, że jego post nie jest pomocny i nie rozwiązuje problemu (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
CuteOne napisał Ci: a Ty mówisz, że jego post nie jest pomocny i nie rozwiązuje problemu (IMG:style_emoticons/default/wink.gif) Bo najpierw to zliczam do pętli aby potem móc sobie od tego odejmować id posta żebym nie musiał pisać 2 niepotrzebnych zapytań dodatkowych do bazy przy wprowadzaniu nowego rekordu. W dodatku zmieniłem teraz nawet nazwy zmiennych aby nie były identyczne i co ? i nic dalej jest wartość 1 Ten post edytował Sasuke Uchiha 18.06.2012, 10:55:53 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A czytałeś w ogóle co pisaliśmy? Robisz wszytko tak, jak robić się nie powinno. Dopracuj skrypt lepiej. Co ma wspólnego dodawanie rekordów do paginacji? To są 2 różne rzeczy, a Ty chcesz je łączyć w 1? Litości.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
nie nic nie łącze tylko ktoś sie pytał dlaczego robię 2 razy to samo więd odpowiadam jak to rozwiązałem. Pytanie moje brzmi dlaczego ten sam sposób idealnie ten sam... działa w tym skrypcie ?
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jak już jesteśmy przy niepotrzebnych zapytaniach. To zastanów się po co trzymasz w tabeli newsów liczbę komentarzy (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
no i wracamy do punktu wyjścia to nie ma teraz tutaj w tym momencie żadnego znaczenia. (IMG:style_emoticons/default/ohno-smiley.gif)
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Pytanie moje brzmi dlaczego ten sam sposób idealnie ten sam... działa w tym skrypcie ? W tym drugim robisz to źle. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tak tylko że jest jota w jotę tak samo zrobione schematycznie no ale jest źle no zasadniczo coś musi być źle skoro tutaj napisałem i nie działa (IMG:style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
To zamiast pisać że coś nie działa, może w końcu go sprawdzisz tak jak napisaliśmy? Już dawno byś miał odpowiedź.
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
no tylko nic nie wyskakuje w tym problem o czym już pisałem ? ;/
|
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
w var_dump Ci nic nie wyskakuje? A to ciekawe... Używasz go tak jak trzeba?
|
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
żaden błąd po prostu tyle string(1) "1" a to że jest 1 wiem już z samego wyświetlenia poprzez echo (IMG:style_emoticons/default/headsetsmiley.png)
|
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
To już coś wiemy, teraz szukaj dalej, po zmiennych. I sprawdź dlaczego jest 1.
Ten post edytował !*! 18.06.2012, 11:17:24 |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
no i tu jest problem bo nie wiem dlaczego jest 1... gdy pobieram wcześniej trochę inną metodą to rekordów jest 12... co to sprawdzania co mam jeszcze np sprawdzić ?
|
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż Nam te metody. Chodzi o zapytanie? Tylko wklej fragment nie całość (IMG:style_emoticons/default/wink.gif)
Ten post edytował !*! 18.06.2012, 11:21:07 |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie podobają mi się te kropki z " w zapytaniu. A wpisz to na sztywno i zobacz czy działa, bez zmiennych i stałych.
ps. stałe piszemy z DUŻYCH_LITER.
Ten post edytował !*! 18.06.2012, 11:27:11 |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Te 2 skrypty nie są zrobione według jednego schematu (IMG:style_emoticons/default/wink.gif)
Zauważ, że w tym :poprzednim skrypcie: po zapytaniu z "SQL_CALC_FOUND_ROWS" masz od razu "SELECT FOUND_ROWS() as Ilosc"; W Twojej zmodyfikowanej wersjo pomiędzy tymi zapytaniami dajesz jeszcze jakieś inne zapytania, co zmienia wartość tego FOUND_ROWS() |
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /viev_news.php on line 64
|
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
0_O'
Co to ma być ? |
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chciał żeby zmienił
to tak uczyniłem i pojawił się piękny błąd (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
No.. to oczywiste, że taki błąd z tego będzie.
Nie wiem skąd !*! wziął takie zapytanie... bo przecież ta operacja : mysql_escape_string((int)$_GET['page_cm'] *limit_cm) zwraca Ci gotową liczbę np 5, czy 10, a nie string w postaci 1*5. Dodatkowo użycie mysql_escape_string jest bez sensu, skoro argumentem jest integer. W każdym razie, ustosunkuj się do mojego poprzedniego postu. |
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
no ale szczerze powiedziawszy pod tym zapytaniem jest tylko zasadniczo zbiór zmiennych plus pętla więc nie wiem o jakie zapytanie ci chodzi bo go zwyczajnie tutaj nie widzę
|
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
To był przykład że masz to zrobić na sztywno, a nie kopiować bezmyślnie to co ktoś napisze.
|
|
|
![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#39
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
linia 37. :
to ustawia FOUND_ROWS na powiedzmy 12. linia 66 :
to ustawia FOUND_ROWS na 1. (bo id jest kluczem, więc jest tylko jeden wiersz) linia 87 : $comments = "SELECT FOUND_ROWS() as Ilosc"; Pobierasz FOUND_ROWS() które = 1 ot. Cała filozofia. Masz 2 wyjścia 1. Awatar i komentarze możesz odczytać za pomocą jednego zapytania. 2. Ilość wierszy (czyli to co robisz w linni 87 ) możesz odczytać od razu po wykonania zapytania co masz w linii 37. Nie gadaj, że nie da się zamienić. "normalni" programiści w skrócie mówiąc najpierw pobierają dane (wszystkie) obliczają co trzeba, przygotowują gotowy string do wyświetlenia i dopiero potem wyświetlają. Ty robisz tak, że pobierzesz ze 2 wartości z bazy, wyświetlisz je, potem zonowu coś pobierzesz, coś dodasz i pomnożysz i potem wyświetlasz. |
|
|
![]()
Post
#40
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
ok usunołem to zapytanie i działa ale fakt faktem chciałbym zachować je czy jest na to rada ?
no bo to są 2 tabele osobne z komentarzami i z newsem ;d a w zasadzie są to 3 tabele newsy, user, komentarze Ten post edytował Sasuke Uchiha 18.06.2012, 11:56:04 |
|
|
![]()
Post
#41
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wiem. I co z tego ?
W celu zachowania pogody ducha opuszczam ten temat i życzę powodzenia (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#42
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 5.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
ktoś ma sugestie / pomysł ? nie za bardzo wiem jak sprawić aby to zapytanie stało się "niewidzialne" ;0
|
|
|
![]()
Post
#43
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Sasuke Uchiha - przepisz to wszytko od nowa i poprawnie, jeśli nie potrafisz, to albo weź się za kurs PHP (bo brakuje Ci fundamentalnych podstaw), albo zleć to komuś w dziale oceny, będzie szybciej.
|
|
|
![]()
Post
#44
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nawet nie spróbujesz zrobić tego samodzielnie.
O ile pobieranie jednym zapytaniem danych z dwóch tabel może być dla Ciebie jako początkującego trudne, to punkt 2 jest banalny i nie wiem jak można to prościej wytłumaczyć. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 14:20 |