Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> [PHP] Po przenosinach skrypt sypie błędami
ericsson
post 29.03.2014, 22:13:21
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


Witam serdecznie!

Swoją przygodę z php zacząłem kilka ładnych lat temu, początkowo działania na z phpBB by Przemo, Joomla! i inne takie smile.gif smile.gif Kilka razy przenosiłem fora internetowe znajomym, przeniosłem parę stron na World Pressie i jakoś zawsze udawało się rozwiązywać bezboleśnie pojawiające się problemy ale ostatnio stanąłem przed nowym wyzwaniem i walczę z tym za pomocą google'a i finalnie postanowiłem poszukać pomocy u ludzi którzy mają dużo większą wiedzę od mojej, jednakże przyznaję iż jestem bardzo cieńki w te klocki...

Skrypt który przeniosłem działał bezawaryjnie na pewnym hostingu, jednakże zmuszony jestem go przenieść gdzieś indziej i o ile zaadoptowanie ścieżek konfiguracja bazy itd poszło bez żadnego problemu to na nowym hostingu skrypt zaczął sypać błędami

pierwszy błąd:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /public_html/obsluga/dziennik.php on line 60

Linie w pliku:

  1. 56)######### PETLA - DLA KAZDEJ KABINY
  2. 57)
  3. 58)
  4. 59)while( $kabrow = mysql_fetch_assoc( $kabresult ) )
  5. 60) {
  6. 61) $kab++;
  7. 62) $kabina_id = $kabrow[ "id" ];
  8. 63) array_push( $kab_id, $kabina_id );
  9. 64)
  10. 65) $kabina_nazwa = $kabrow[ "nazwa" ];
  11. 66) array_push( $kab_nazwa, $kabina_nazwa );
  12. 67) #echo( " ---------------------------------- \n kabina: $kabina_id $kabina_nazwa \n\n" );
  13. 68)
  14. 69) $cstart = split( ':', $kabrow[ "czynna_start" ] );
  15. 70) $h_start = $cstart[0];
  16. 71) $m_start = $cstart[1];
  17. 72) $ckoniec = split( ':', $kabrow[ "czynna_koniec" ] );
  18. 73) $h_koniec = $ckoniec[0];
  19. 74) $m_koniec = $ckoniec[0];
  20. 75)
  21. 76) $dz[ $kab ] = array( );


W lini 60 wg programu ezHtml znajduje się tylko znak ' { ' Myślałem że jest zbędny/błędnie użyty ale jak go usunąć to skrypt wykazuje inny błąd:

Parse error: syntax error, unexpected '}' in /public_html/obsluga/krakow/dziennik.php on line 531

  1. 531 }; # while h, m


Czyli jest potrzebny questionmark.gif

Zatem pytanie gdzie to to kuleje ?

Ten post edytował ericsson 29.03.2014, 22:14:13
Go to the top of the page
+Quote Post
vonski
post 29.03.2014, 22:33:27
Post #2





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

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


Tak, ten nawias jest dość istotny smile.gif
Problem tkwi w linijce wcześniej, mianowicie

  1. while( $kabrow = mysql_fetch_assoc( $kabresult ) )


a dokładniej w zmiennej $kabresult, która ma zapewne wartość FALSE, a powinna być zasobem (rezultatem wykonania zapytania do bazy danych). Wskazuje to na to, że jest jakiś problem z zapytaniem do bazy danych. Musisz więc znaleźć linijkę, gdzie do zmiennej $kabresult przypisywana jest wartość, prawdopodobnie będzie to coś w stylu: $kabresult = mysql_query("....."); i zaraz po tym wstaw coś takiego:



i napisz co się wyświetliło.


--------------------
Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
Go to the top of the page
+Quote Post
ericsson
post 29.03.2014, 23:16:07
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


Witaj!

Dziękuję serdecznie za odpowiedź.... przeszukałem skrypt przez Ctrl+F i w lini 45 mam coś takiego

  1. $kabresult = mysql_query( $query, $db );


Po tym wstawiłem to co napisałeś i mi się rozjaśniło...

Taa jestem głupek, no wstyd po całości sad.gif

Należy mi się tęgie lanie albo przynajmiej wiadro wody na głowę bo w swoich zapędach się zakręciłem że zapomniałem o najważniejszym...

komunikat brzmiał:

Tabela 'prefix_1234' nie istnieje ... siedzę nad tym kolejną noc z rzędu i po prostu zrobiłem, przeniosłem pliki, przepisałem konfigację w plikach, w cPanelu zrobiłem bazę więc skrypt nie pokazywał błędu w połączeniu więc myślałem że jest cacy a tu się okazuje że baza jest pusta jak nie powiem co.... sad.gif No debil exclamation.gif exclamation.gif Jak słowo daję tak się zakręcić no wstyd i hańba sad.gif


I dzięki Twojej pomocy wyszło szydło z worka a ja siedzę jak głupek po nocach i szukam...


O ile ruszyło to wysypuje się w kilku podstronach komunikat o treści:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in [i tu nazwy plików] czyli jakby ten sam typ błędu w różnych plikach no chyba że są ze soba powiązane...


plik osoby.php błąd in line 104
  1. 102) $result = mysql_query( "select uzytkownicy.id, imie, nazwisko, xywa, kontakt , sum(czas) as MINUTY from konkursy, uzytkownicy left outer join opalanie on (uzytkownicy.id=user AND data >=
  2. 103)konkursy.poczatek AND data <= konkursy.koniec) WHERE konkursy.id=$this_k group by uzytkownicy.id $search ".$ORDER[$ORD] ,$db);
  3. 104) $ilosc = mysql_num_rows($result);



ten sam błąd w pliku opalanie.php in line 87

  1. 85) $result = mysql_query("select imie, nazwisko, xywa, kontakt , czas, data, uzytkownicy.id, opalanie.id from konkursy, uzytkownicy , opalanie where uzytkownicy.id=user AND data >= konkursy.poczatek 86)AND data <= konkursy.koniec AND konkursy.id=$this_k ORDER BY data DESC, nazwisko ASC, imie ASC",$db);
  2. 87) }


No i cholera znów ten ' } ' ale tym razem baze mam wgraną smile.gif

Pozdrawiam serdecznie
Ericsson


Ten post edytował ericsson 29.03.2014, 23:19:04
Go to the top of the page
+Quote Post
vonski
post 29.03.2014, 23:56:07
Post #4





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

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


Generalnie gdziekolwiek masz błąd o podobnej treści ("not a valid MySQL result resource") możesz się spodziewać, że błąd jest z zapytaniem. Więc jeśli nadasz masz jakiś problem, po prostu szukaj mysql_query() zwracającego problematyczny wynik (czyli FALSE, który miał być zasobem) i dodawaj po nim echo mysql_error(); i na podstawie tych informacji dostosowuj zapytania / strukturę bazy danych.


--------------------
Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
Go to the top of the page
+Quote Post
ericsson
post 30.03.2014, 00:16:50
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


OKi wink.gif Dziękuję za cenną wskazówkę z tym echem wink.gif Fajna sprawa wink.gif

Więc w pliku:

osoby.php

po dodaniu tego echa mam komunikat:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group by uzytkownicy.id ORDER BY nazwisko ASC, imie ASC' at line 1

a w pliku:

opalanie.php

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY data DESC, nazwisko ASC, imie ASC' at line 1

Czyli ten chyba ten sam błąd?

Ogólnie skrypt ruszył i teoretycznie gra ale nie wiem jakie mogą być następstwa gdyby to zignorować....

------------
Mały UP

na ' starym ' hostingu w porównaniu do ' nowego ' są trochę inne wersje php oraz MySql'a
------------

Ten post edytował ericsson 30.03.2014, 00:22:49
Go to the top of the page
+Quote Post
alex19
post 30.03.2014, 00:53:26
Post #6





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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


A co masz w zmiennej $this_k ?
Wygląda na to że problem właśnie w niej leży i przez to nie można zwrócić wyniku zapytania.
Go to the top of the page
+Quote Post
ericsson
post 30.03.2014, 01:02:29
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


A co masz w zmiennej $this_k ?

Oj sad.gif wprowadziłeś mnie w zakłopotanie... gdzie mam tego cuda szukać ?

mały up..

wrzuciłem zapytanie do SQL o treści:

string gettype ( mixed $this_k )

wróciło z komunikatem na czerwono

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'string gettype ( mixed $this_k )' at line 1

ale to chyba nie to co było potrzebne



Ten post edytował ericsson 30.03.2014, 01:07:48
Go to the top of the page
+Quote Post
alex19
post 30.03.2014, 01:07:07
Post #8





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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


Tradycyjnie jak już to robiłeś wink.gif

Daj przed zapytaniem:
  1. echo 'Zmienna $this_k='.$this_k;
  2.  
  3. albo
  4.  
  5. var_dump($this_k);


Dzięki temu zobaczysz co jest w zmiennej i będzie wiadomo czy jest tam oczekiwane ID klienta czy coś innego.
Go to the top of the page
+Quote Post
ericsson
post 30.03.2014, 01:11:14
Post #9





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


metodą prób i błędów... biggrin.gif bo działam po omacku...

użycie var_dump($this_k);

dało komunikat 'NULL'

Ten post edytował ericsson 30.03.2014, 01:12:27
Go to the top of the page
+Quote Post
alex19
post 30.03.2014, 01:15:09
Post #10





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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


No i tu właśnie leży problem. W skrócie wyszukujesz użytkowników z ID=NULL, a powinien tam być numer. Dlatego zapytanie jest błędne.
Musisz szukać zmiennej $this_k wcześniej w skrypcie i prześledzić skąd powinny brać się w niej dane i dlaczego nic nie jest do niej zapisywane.
Naprawisz $this_k, to i zapytanie zacznie działać smile.gif
Go to the top of the page
+Quote Post
ericsson
post 30.03.2014, 01:36:08
Post #11





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


OK jedziemy dalej smile.gif


Wyszukujesz użytkowników z ID=NULL jasne .... czyli co domyślam się że... gdzieś ( w bazie ? ) znajduje się tabela ( z użytkownikami? ) w której jakiś wiersz ( w którym są wymienieni użytkownicy) ma ID=NULL questionmark.gif

Mam tego szukać w phpMyadmin jakoś questionmark.gif

W pliku osoby.php
Zmienna $this_k występuje wcześniej w skrypcie w kilku miejscach

  1. 66)$this_k = $tresc[0];


  1. 75) if ($K_ID != 0) $this_k = $K_ID;


oraz linie

  1. 102) $result = mysql_query( "select uzytkownicy.id, imie, nazwisko, xywa, kontakt , sum(czas) as MINUTY from konkursy, uzytkownicy left outer join opalanie on (uzytkownicy.id=user AND data >= 103)konkursy.poczatek AND data <= konkursy.koniec) WHERE konkursy.id=$this_k group by uzytkownicy.id $search ".$ORDER[$ORD] ,$db);
  2. 104) $ilosc = mysql_num_rows($result);


  1. 133)$smarty->assign('this_k', $this_k);


w drugim pliku który szwankuje

opalanie.php

  1. 19) $this_k = $tresc[0];

  1. 29) if ($K_ID != 0) $this_k = $K_ID;
  2. 30) $smarty->assign('this_k', $this_k);


  1. 79)$result = mysql_query("select imie, nazwisko, xywa, kontakt , czas, data, uzytkownicy.id, opalanie.id from konkursy, uzytkownicy , opalanie where uzytkownicy.id=user AND user=$ID AND data >= 80)konkursy.poczatek AND data <= konkursy.koniec and konkursy.id=$this_k ORDER BY data DESC, nazwisko ASC, imie ASC",$db);


  1. 85)$result = mysql_query("select imie, nazwisko, xywa, kontakt , czas, data, uzytkownicy.id, opalanie.id from konkursy, uzytkownicy , opalanie where uzytkownicy.id=user AND data >= konkursy.poczatek AND 86)data <= konkursy.koniec AND konkursy.id=$this_k ORDER BY data DESC, nazwisko ASC, imie ASC",$db);



Widzę że w obu plikach stosowane są podobne fragmenty kodu..

Go to the top of the page
+Quote Post
alex19
post 30.03.2014, 01:45:16
Post #12





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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


Cytat(ericsson @ 30.03.2014, 01:36:08 ) *
Wyszukujesz użytkowników z ID=NULL jasne .... czyli co domyślam się że... gdzieś ( w bazie ? ) znajduje się tabela ( z użytkownikami? ) w której jakiś wiersz ( w którym są wymienieni użytkownicy) ma ID=NULL questionmark.gif


Tak, tabela jest na pewno. Ale id zapewne musi być jakąś cyfrą, a nie NULL... ten NULL to właśnie błąd, bo to jest brak wartości.

Cytat(ericsson @ 30.03.2014, 01:36:08 ) *
W pliku osoby.php
Zmienna $this_k występuje wcześniej w skrypcie w kilku miejscach

  1. 66)$this_k = $tresc[0];


  1. 75) if ($K_ID != 0) $this_k = $K_ID;


No to teraz trzeba szukać dalej po sznureczku zmiennych
Skąd się bierze $tresc[0], a konkretniej tablica $tresc oraz $K_ID.

Cytat(ericsson @ 30.03.2014, 01:36:08 ) *
oraz linie

  1. 102) $result = mysql_query( "select uzytkownicy.id, imie, nazwisko, xywa, kontakt , sum(czas) as MINUTY from konkursy, uzytkownicy left outer join opalanie on (uzytkownicy.id=user AND data >= 103)konkursy.poczatek AND data <= konkursy.koniec) WHERE konkursy.id=$this_k group by uzytkownicy.id $search ".$ORDER[$ORD] ,$db);
  2. 104) $ilosc = mysql_num_rows($result);


No to jest Twoje nie działające zapytanie.

Cytat(ericsson @ 30.03.2014, 01:36:08 ) *
w drugim pliku który szwankuje
...
Widzę że w obu plikach stosowane są podobne fragmenty kodu..


Naprawisz pierwszy plik, to drugi pójdzie tak samo. Chyba że zaraz okaże się że te zmienne są z innego pliku i wszystko naprawi się za jednym zamachem smile.gif
Go to the top of the page
+Quote Post
ericsson
post 30.03.2014, 02:04:41
Post #13





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


Czyli jeżeli zrozumiałem dobrze to:

w phpMyAdmin wybrałem swoją bazę, następnie tabelę uzytkownicy i mi się wyświetliło ileś tam wpisów... i nawet jak zaznaczyłem żeby sortowało ID od 1 do końca to wychodzi na to że każdy wiersz (użytkownik) ma swoje ID określone numerem fakt że nie każde id ma kompletne pozostałe dane czasem brakuje imienia lub nazwiska... tego jest trochę ale można by na piechotę poszukać czy np. się numer nie dubluje jakiś ?

Zagadka od Ciebie...

Skąd się bierze $tresc[0], a konkretniej tablica $tresc oraz $K_ID.

Tablica ? Bo tabeli '$tresc' nie ma w bazie zatem wnioskuję że nie tego szukamy zatem czego szukać?

Ten post edytował ericsson 30.03.2014, 02:06:46
Go to the top of the page
+Quote Post
alex19
post 30.03.2014, 02:10:48
Post #14





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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


Cytat(ericsson @ 30.03.2014, 02:04:41 ) *
Czyli jeżeli zrozumiałem dobrze to:

w phpMyAdmin wybrałem swoją bazę, następnie tabelę uzytkownicy i mi się wyświetliło ileś tam wpisów... i nawet jak zaznaczyłem żeby sortowało ID od 1 do końca to wychodzi na to że każdy wiersz (użytkownik) ma swoje ID określone numerem fakt że nie każde id ma kompletne pozostałe dane czasem brakuje imienia lub nazwiska..


I tak i nie. Udowodniłeś sobie właśnie że jest błąd w php i MySQL nie ma tu nic do rzeczy i wiesz już na pewno, że zmienna $this_k powinna mieć wartość z przedziału 1 do obcnie maksymalnej wartości w bazie.
Ale nie w bazie szukamy błędu w a skrypcie, więc zostaw phpmyadmina w spokoju i szukaj w kodzie.

Cytat(ericsson @ 30.03.2014, 02:04:41 ) *
Zagadka od Ciebie...

Skąd się bierze $tresc[0], a konkretniej tablica $tresc oraz $K_ID.

Tablica ? Bo tabeli '$tresc' nie ma w bazie zatem wnioskuję że nie tego szukamy zatem czego szukać?


Nie żadna tabela! Szukaj w skrypcie zmiennych $tresc i $K_ID. Trzeba ustalić skąd się mają brać ich wartości, bo z tego co podałeś to one są (w chwili obecnej) źródłem problemu i maja wartość NULL, a nie liczbową. Potem są tylko podstawiane do $this_k.
Go to the top of the page
+Quote Post
ericsson
post 30.03.2014, 15:12:26
Post #15





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


W związku z prowadzonymi pracami wykopaliskowymi znalazłem dość sporo wyników odnośnie zmiennej $tresc oraz zmiennej $K_ID ale jest tego tyle że w jednym poście się nie może zmieścić i muszę to rozbić na 2 posty:

Cześć 1

Plik export.php
  1. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  2. $kid[$i] = $tresc[0];
  3. $typ[$i] = $tresc[1];
  4. $pozostalo[$i] = $tresc[2];
  5. $data_wydania[$i] = $tresc[3];
  6. $imie[$i] = $tresc[4];
  7. $nazwisko[$i] = $tresc[5];
  8. $xywa[$i] = $tresc[6];
  9. $haslo[$i] = $tresc[7];
  10. }


Plik exporto.php
  1. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  2. $id[$i] = $tresc[0];
  3. $imie[$i] = $tresc[1];
  4. $nazwisko[$i] = $tresc[2];
  5. $xywa[$i] = $tresc[3];
  6. $kontakt[$i] = $tresc[4];
  7. $minuty[$i] = $tresc[5];
  8. }


Plik karnety.php

  1. {
  2. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  3.  
  4. $kid[$i] = $tresc[0];
  5. $typ[$i] = $tresc[1];
  6. $pozostalo[$i] = $tresc[2];
  7. $data_wydania[$i] = $tresc[3];
  8. $imie[$i] = $tresc[4];
  9. $nazwisko[$i] = $tresc[5];
  10. $xywa[$i] = $tresc[6];
  11. $haslo[$i] = $tresc[7];
  12. $cena[$i] = $tresc[8];
  13. }


i w tym samym pliku

  1. {
  2. $tresc = mysql_fetch_array($rresult, MYSQL_NUM);
  3.  
  4. $uid[$i] = $tresc[0];
  5. $uimie[$i] = $tresc[1];
  6. $unazwisko[$i] = $tresc[2];
  7. $uxywa[$i] = $tresc[3];
  8. }


Kolejny plik nazywa się karty.php i prócz powtarzających się zmiennych $tresc mam coś jeszcze...

  1. $tresc = mysql_fetch_array($rresult, MYSQL_NUM);
  2.  
  3.  
  4. $id[$i] = $tresc[0];
  5. $imie[$i] = $tresc[1] . " " . $tresc[2];
  6. $nazwisko[$i] = $tresc[2];
  7. $iop[$i] = $tresc[3];
  8. $modg[$i] = $tresc[4];
  9. $aktywnosc[$i] = $tresc[5];
  10. $lokalizacja[$i] = $tresc[6];
  11. $data_wydania[$i] = $tresc[ 7 ];
  12.  
  13. $query = "SELECT count(*) FROM karty_uzycie "
  14. . " WHERE karta_id = " . $tresc[0]


  1. {
  2. $tresc = mysql_fetch_array($rresult, MYSQL_NUM);
  3.  
  4. $uid[$i] = $tresc[0];
  5. $uimie[$i] = $tresc[1];
  6. $unazwisko[$i] = $tresc[2];
  7. $uxywa[$i] = $tresc[3];
  8. }


Znalazłem coś jeszcze w tym pliku co rzuciło mi się w oczy choć nie wiem czy to to nie ma coś wspólnego bo miałem szukać $K_ID
a mam fragment kodu który wygląda tak:

  1. {
  2. $KID = (int) $_GET['kid'];
  3.  
  4. # nie ma już kasowania kart - jest dezaktywacja
  5.  
  6. $query = "UPDATE karty_klienta SET is_aktywna = 0 WHERE id = " . $KID;
  7. mysql_query( $query, $db );
  8.  
  9.  
  10. } else if ( $_GET['act' ] == 'act' )
  11. {
  12.  
  13. ############## ACTIVATE
  14.  
  15. $KID = (int) $_GET['kid'];
  16. $query = "UPDATE karty_klienta SET is_aktywna = 1 WHERE id = " . $KID;
  17. mysql_query( $query, $db );
  18.  
  19.  
  20. }


Zamiast zmiennej $K_ID mam $KID questionmark.gif questionmark.gif questionmark.gif Czy duże i małe litery też mogą mieć wpływ czy są traktowane jednakowo?


Ciąg dalszy...


Plik klient.php

  1. {
  2. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  3.  
  4. $id[$i] = $tresc[0];
  5. $imie[$i] = $tresc[1];
  6. $nazwisko[$i] = $tresc[2];
  7. $xywa[$i] = $tresc[3];
  8. }


Plik konkurs.php pierwszy raz $k_id
  1. $k_id = array();
  2. $k_nazwa = array();
  3. $k_dp = array();
  4. $k_dk = array();
  5.  
  6.  
  7. for ($i= 0; $i < $ilosc; $i++)
  8. {
  9. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  10.  
  11. $k_id[$i] = $tresc[0];
  12. $k_nazwa[$i] = $tresc[1];
  13. $k_dp[$i] = $tresc[2];
  14. $k_dk[$i] = $tresc[3];
  15. }
  16.  
  17. $smarty->assign('k_id', $k_id);



Plik minuty.php
  1. {
  2. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  3.  
  4. $id[$i] = $tresc[0];
  5. $imie[$i] = $tresc[1];
  6. $nazwisko[$i] = $tresc[2];
  7. $xywa[$i] = $tresc[3];
  8. }


Plik opalanie.php zawiera i $tresc oraz $K_ID i $k_id

  1. $k_id = array();
  2. $k_nazwa = array();
  3. $k_dp = array();
  4. $k_dk = array();
  5.  
  6. for ($i= 0; $i < $ilosc; $i++)
  7. {
  8. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  9.  
  10. $k_id[$i] = $tresc[0];
  11. $this_k = $tresc[0];
  12. $k_val[$i] = $tresc[1] . " (".$tresc[2]." - ".$tresc[3].")";
  13. }


  1. $K_ID = (int) $_GET['konkurs'];
  2. if ($K_ID != 0) $this_k = $K_ID;


Plik osoby.php
  1. $k_id = array();
  2. $k_nazwa = array();
  3. $k_dp = array();
  4. $k_dk = array();
  5.  
  6. for ($i= 0; $i < $ilosc; $i++)
  7. {
  8. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  9.  
  10. $k_id[$i] = $tresc[0];
  11. $this_k = $tresc[0];
  12. $k_val[$i] = $tresc[1] . " (".$tresc[2]." - ".$tresc[3].")";
  13. }
  14.  
  15. $smarty->assign('k_id', $k_id);
  16. $smarty->assign('k_val', $k_val);
  17.  
  18.  
  19. $K_ID = (int) $_GET['konkurs'];
  20. if ($K_ID != 0) $this_k = $K_ID;


i kawałek dalej znów
  1. {
  2. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  3.  
  4. $id[$i] = $tresc[0];
  5. $imie[$i] = $tresc[1];
  6. $nazwisko[$i] = $tresc[2];
  7. $xywa[$i] = $tresc[3];
  8. $kontakt[$i] = $tresc[4];
  9. $minuty[$i] = $tresc[5];
  10. }


W przedostatnim pliku usluga-op.php zmienna $tresc się pojawia wiele razy wiecej niż w poprzednich plikach

  1. while( $tresc = mysql_fetch_assoc( $result ) )
  2. {
  3. #### - tu się decyduje czy używamy kolumny numer czy nie
  4. array_push( $karty_klienta_id, $tresc["id"] );
  5. array_push( $karty_klienta_numery, $tresc["id"] );
  6. };
  7. mysql_free_result( $result );
  8. $smarty->assign( 'karty_klienta_id', $karty_klienta_id );
  9. $smarty->assign( 'karty_klienta_numery', $karty_klienta_numery ); #<
  10.  
  11. $query = "SELECT id FROM karnety WHERE uzycie < pozostalo AND wlasciciel = " . $klient_id;
  12. $result = mysql_query( $query, $db );
  13. $karnety_id = array();
  14. while( $tresc = mysql_fetch_assoc( $result ) )
  15. {
  16. array_push( $karnety_id, $tresc["id"] );
  17. };


  1. while( $tresc = mysql_fetch_row( $result ) )
  2. {
  3. array_push( $kabiny_id, $tresc[0] );
  4. array_push( $kabiny_nazwa, $tresc[1] );
  5. };


  1. while( $tresc = mysql_fetch_assoc( $result ) )
  2. {
  3. array_push( $klienci_id, $tresc["id"] );
  4. array_push( $klienci_dane, $tresc["imie"] . " " . $tresc["nazwisko"]
  5. . " " . $tresc["kontakt"] );
  6. if ( $tresc["id"] == $klient_id )
  7. { $klient_dane = $tresc["imie"] . " " . $tresc["nazwisko"]
  8. . " " . $tresc["kontakt"]; }
  9. };


  1. while( $tresc = mysql_fetch_assoc( $result ) )
  2. {
  3. array_push( $kosmetyki_id, $tresc["id"] );
  4. array_push( $kosmetyki_nazwy, $tresc["nazwa"] );
  5. array_push( $kosmetyki_ceny, $tresc["cena"] );
  6. };



Ostatni plik usluga-rez.php

  1. while( $tresc = mysql_fetch_assoc( $result ) )
  2. {
  3. #### - tu się decyduje czy używamy kolumny numer czy nie
  4. array_push( $karty_klienta_id, $tresc["id"] );
  5. array_push( $karty_klienta_numery, $tresc["id"] );
  6. };
  7. mysql_free_result( $result );
  8. $smarty->assign( 'karty_klienta_id', $karty_klienta_id );
  9. $smarty->assign( 'karty_klienta_numery', $karty_klienta_numery ); #<
  10.  
  11. $query = "SELECT id FROM karnety WHERE uzycie < pozostalo AND wlasciciel = " . $klient_id;
  12. $result = mysql_query( $query, $db );
  13. $karnety_id = array();
  14. while( $tresc = mysql_fetch_assoc( $result ) )
  15. {
  16. array_push( $karnety_id, $tresc["id"] );


  1. while( $tresc = mysql_fetch_row( $result ) )
  2. {
  3. array_push( $kabiny_id, $tresc[0] );
  4. array_push( $kabiny_nazwa, $tresc[1] );
  5. };


  1. while( $tresc = mysql_fetch_assoc( $result ) )
  2. {
  3. array_push( $klienci_id, $tresc["id"] );
  4. array_push( $klienci_dane, $tresc["imie"] . " " . $tresc["nazwisko"]
  5. . " " . $tresc["kontakt"] );
  6. if ( $tresc["id"] == $klient_id )
  7. { $klient_dane = $tresc["imie"] . " " . $tresc["nazwisko"]
  8. . " " . $tresc["kontakt"]; }
  9. };



  1. while( $tresc = mysql_fetch_assoc( $result ) )
  2. {
  3. array_push( $kosmetyki_id, $tresc["id"] );
  4. array_push( $kosmetyki_nazwy, $tresc["nazwa"] );
  5. array_push( $kosmetyki_ceny, $tresc["cena"] );
  6. };

Go to the top of the page
+Quote Post
alex19
post 30.03.2014, 15:23:07
Post #16





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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


No dobra. Nawklejałeś tu kawałków kodu z miliona plików. A to nic nie daje.

Skupmy się na jednym pliku, tym o którym była mowa od początku, tam gdzie się wali zapytanie.

Z tego co wkleiłeś jasno wynika że zmienna treść to wynik wcześniejszego zapytania do SQLa i w niej powinny być wyniki z bazy.
Zacznijmy od sprawdzenia zapytania oraz tego czy nie ma błędu (masz napisane wcześniej jak to zrobić). Kolejnym krokiem będzie sprawdzenie zawartości tablicy $tresc pod kątem tego czy nie jest z jakiegoś powodu pusta lub czy wyniki w niej nie są w innej kolejności niż oczekujemy.
  1. var_dump($tresc);
Go to the top of the page
+Quote Post
ericsson
post 30.03.2014, 16:04:25
Post #17





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


szlag by trafił tyle się naszukałem no ale trudno sad.gif tak to jest jak się człowiek uczy smile.gif Powiem Ci że ciut mi rosjaśniło się kilka rzeczy ale to tylko takie drobnostki smile.gif

Zatem walczymy z pierwszym plikiem w którym się wysypało zapytanie..

Był to plik
osoby.php który w lini 104 wysadzał błąd : mysql_num_rows(): supplied argument is not a valid MySQL result resource in ....
  1. 102) $result = mysql_query( "select uzytkownicy.id, imie, nazwisko, xywa, kontakt , sum(czas) as MINUTY from konkursy, uzytkownicy left outer join opalanie on (uzytkownicy.id=user AND data >= konkursy.poczatek 103) AND data <= konkursy.koniec) WHERE konkursy.id=$this_k group by uzytkownicy.id $search ".$ORDER[$ORD] ,$db);
  2. 104) $ilosc = mysql_num_rows($result);


Zgodnie z postem usera 'vonski' z dziś z 00:56 ...
Czyli sprawdzam zapytanie szukając przed linią 104 frazy: mysql_query i po niej dodaję echo mysql_error(); questionmark.gif

Jeżeli o to chodzi to to już zrobiłem i otrzymałem wynik:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group by uzytkownicy.id ORDER BY nazwisko ASC, imie ASC' at line 1

Uprzedzając następnego posta 'sprawdzenie zawartości tablicy '$tresc' zatem w pliku osoby.php znalazłem miejsce w którym pierwszy raz wystepuje zmienna $tresc i dodałem ten ' var_dump($tresc); ' i wynikiem jest komunikat NULL

Ten post edytował ericsson 30.03.2014, 16:13:15
Go to the top of the page
+Quote Post
trueblue
post 30.03.2014, 16:22:26
Post #18





Grupa: Zarejestrowani
Postów: 6 766
Pomógł: 1823
Dołączył: 11.03.2014

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


Pytanie jakie padło wcześniej, a co masz w $this_k?


--------------------
Go to the top of the page
+Quote Post
alex19
post 30.03.2014, 16:35:39
Post #19





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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


Cytat(ericsson @ 30.03.2014, 16:04:25 ) *
Uprzedzając następnego posta 'sprawdzenie zawartości tablicy '$tresc' zatem w pliku osoby.php znalazłem miejsce w którym pierwszy raz wystepuje zmienna $tresc i dodałem ten ' var_dump($tresc); ' i wynikiem jest komunikat NULL

OK. Jak wygląda zapytanie do bazy oraz czy nie ma błędu?

Cytat
Pytanie jakie padło wcześniej, a co masz w $this_k?


Już pisał wcześniej, że jest NULL.
Go to the top of the page
+Quote Post
ericsson
post 30.03.2014, 16:42:41
Post #20





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2014

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


  1. $result = mysql_query( "SELECT id, nazwa, poczatek, koniec FROM konkursy order by poczatek DESC" ,$db);
  2.  
  3. $ilosc = mysql_num_rows($result);
  4.  
  5. $k_id = array();
  6. $k_nazwa = array();
  7. $k_dp = array();
  8. $k_dk = array();
  9.  
  10. for ($i= 0; $i < $ilosc; $i++)
  11. {
  12. $tresc = mysql_fetch_array($result, MYSQL_NUM);
  13. var_dump($tresc);
  14. $k_id[$i] = $tresc[0];
  15. $this_k = $tresc[0];
  16. $k_val[$i] = $tresc[1] . " (".$tresc[2]." - ".$tresc[3].")";
  17. }


Chyba chodzi Ci o to ?

Panowie pełen szacunek dla Waszej cierpliwości i wyrozumiałości normalnie czuję się jak głupia blondynka której ktoś tłumaczy wymianę rozrządu w silniku V12 biggrin.gif oraz z regulacją wszystkich 48 zaworów biggrin.gif

Ten post edytował ericsson 30.03.2014, 16:46:08
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 3.06.2024 - 12:40