![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
Witam. Mam taki malutki skrypcik:
Ma to działać tak, że z tabeli users_company pobiera mi informacje o użytkownikach spełniających warunek Company_ID = '{$_GET['id']}'. Drugie zapytanie ma zliczać liczbę tras użytkowników spełniających warunek steamid = '{$result['steamid']}' Niestety pobiera tylko jednego użytkownika, który ma najmniejsze id (spełniającego w/w warunek). Proszę o pomoc. Ten post edytował Marcinekk 7.12.2016, 08:37:04 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
fetch array zwraca tablicę. Musisz po niej iterować tworząc np ciąg 1,2,3 który możesz użyć w zapytaniu WHERE steamid IN(twojaTablica)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1.
Nadpisywanie danych w tablicach superglobalnych to zły nawyk. 2. http://php.net/manual/en/function.mysql-connect.php : Cytat This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. 3. Pobiera Ci jednego użytkownika, bo nie odbierasz danych w pętli - zajrzyj do manuala 4. Nie potrzebujesz 2 zapytań, możesz zrobić jedno i wykorzystać JOIN. http://dev.mysql.com/doc/refman/5.7/en/join.html |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
Załóżmy, że robię w ten sposób:
Zacznie mi zliczać dla każdego użytkownika i wywalać osobno. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 17 Dołączył: 20.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy, że robię w ten sposób:
Zacznie mi zliczać dla każdego użytkownika i wywalać osobno. to zapytanie zawsze Ci zwróci 1 wynik, musisz po czymś pogrupować, np.:
to wyrzuci Ci ilości dla każdego statusu, wtedy dajesz
Analogicznie sobie wyciągnij co tam potrzebujesz |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
@up Nie działa to. Błąd zapytania wywala. Ogólnie status nie gra tam jakiejś większej roli, chodzi o to, żeby zliczał te zapytania, które mają status Finished i pasują do wszystkich użytkowników z danej firmy i wtedy ma wyświetlać wszystkie zliczone trasy. Nie dla każdego pojedynczo.
Zrobiłem tak:
To co jest jako komentarz też próbowałem, nic nie zmieniło. Ten post edytował Marcinekk 7.12.2016, 14:25:07 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Do IN() można podać wartości rozdzielone przecinkiem, a nie cala tabele - pisałem już, żebyś użył JOIN'a
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
Zrobiłem w taki sposób, nadal nic to nie dało. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Gdybyś wstawił JOIN'a w odpowiednie miejsce - czyli przed WHERE to może by coś dało...
Jeśli już się tak upierasz przy tym mysql_ to chociaż użyj http://php.net/manual/en/function.mysql-error.php do wyświetlania błędów |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
No to ja chyba tępy jestem..
Żadnych zmian.. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No to z łaski swojej może wyświetlisz sobie błąd i jeśli nic Ci on nie będzie mówił to może go wrzucisz tutaj? Sorry, nikt z fusów nie wywróży jakie masz struktury tabeli itd.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
A w jaki sposób mam podpiąć tą funkcję, skoro korzystam z funkcji db_connect() i nie mam w każdym skrypcie danych do połączenia?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
mysql_query() or die(mysql_error())
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
Column 'id' in field list is ambiguous.
Nie bardzo rozumiem dlaczego taki błąd jest. Dwuznaczne czyli co? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Obie tabele które łączysz mają kolumnę id. Musisz wskazać której dotyczy count
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
Dobra. Wszystko działa, dziękuje za pomoc.
Jeszcze mam mały problem. Jak pobrać id AKTUALNIE dodawanego rekordu? Próbowałem z tym $uid = mysql_insert_id(); ale nie bardzo się to spisuje. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Musi działać, pokaż skrypt, w którym tego używasz. Ofc mysql_insert_id() zwróci Ci id dopiero po wykonaniu inserta.
Ten post edytował kapslokk 8.12.2016, 10:35:05 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
Chodzi dokładnie o to, że mam powiedzmy:
Czyli po prostu w tym zapytaniu chce drugi raz pobrać id tego samego rekordu (który właśnie idzie do bazy w zapytaniu wyżej). Auto increment nie ma znaczenia, bo potrzebne byłoby 2 razy, a można tylko raz. |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No to musisz zrobić UPDATE, swoja droga, po co Ci 2x ta sama wartosc w rekordzie ?
Ten post edytował kapslokk 8.12.2016, 10:44:42 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 27.09.2013 Ostrzeżenie: (10%) ![]() ![]() |
Z lenistwa. Musiałbym przerabiać praktycznie wszystkie skrypty pod kolumne z auto increment, wcześniej nie było potrzebne, ale teraz jest i jakoś musze to zrobić.
Czyli robię tak:
No właśnie, WHERE co? (IMG:style_emoticons/default/co_jest.gif) Ten post edytował Marcinekk 8.12.2016, 10:49:21 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 06:38 |