Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Kilka rekordów w jednym wyniku.
Radek 7C4
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 21.06.2013

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


Witam!
Mam pewien problem ze stworzeniem zapytania:

Dane z tabel wyciągam aktualnie w ten sposób:

  1. $q = dbquery("SELECT * FROM fusion_komputery
  2. inner join `fusion_users`
  3. on `fusion_komputery`.k_user=`fusion_users`.user_id
  4. inner join `fusion_komputeryrodzaje`
  5. on `fusion_komputery`.k_rodzaj=`fusion_komputeryrodzaje`.soft_id order by user_nazwisko");
  6.  
  7. while ($qu=@dbarray($q)){
  8.  
  9. $up= "$qu[user_imie] $qu[user_nazwisko] $qu[user_id] $i.$qu[soft_nazwa]";
  10. $pu= strtr($up, 'ĘÓĄŚŁŻŹĆŃęóąśłżźćń', 'EOASLZZCNeoaslzzcn');
  11. ";
  12.  
  13. (...)
  14. }


Wyniki końcowe tzn. $pu są wysyłane do generatora kodów QR.

Problem jest taki, że w przypadku gdy np. użytkownik ma przypisane 3 urządzenia skrypt wyświetla mi trzy oddzielne kody QR dla każdego z nich:

Imię nazwisko
Nazwa sprzętu1
Kod QR1

Imię nazwisko
Nazwa sprzętu3
Kod QR2

Imię nazwisko
Nazwa sprzętu3
Kod QR3

Jak zmodyfikować zapytanie aby zamiast 3-4 odzielnych wyników powstał jeden?:

Imie nazwisko
- sprzet1
- sprzet2
- sprzet3
Kod QR

Ten post edytował Radek 7C4 21.06.2013, 16:42:10
Go to the top of the page
+Quote Post
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Możesz np w zapytaniu SQL grupować (GROUP BY) po id usera.
Go to the top of the page
+Quote Post
Radek 7C4
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 21.06.2013

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


Jak na samym końcu wrzucę
  1. group by fusion_users`.user_id
zamiast aktualnego order by to zostaje mi jeden element zamiast kilku.
Go to the top of the page
+Quote Post
Damonsson
post
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Chwalisz się, że jest tak jak chcesz, czy co? Bo nie rozumiem.
Go to the top of the page
+Quote Post
Radek 7C4
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 21.06.2013

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


Nie no na prawdę... czym miałbym się chwalić? Tym, że nie wiem jak rozwiązać taki błahy problem ;>

Teraz napiszę p o w o l i, żeby każdy zrozumiał. Użytkownik ma przypisane po jego id. 3 różne rekordy w tabeli sprzęt . Przy zastosowaniu powyższego skryptu + order by wyświetli mi się każdy wpis, ale oddzielnie:

Jan Kowalski
stacja robocza

Jan Kowalski
monitor Iiyama

Jan Kowalski
urzadzenie wielofunkcyjne

Co daje mi 3 różne kody QR. Gdy zamienię order by na group by pojawi mi sie tylko

Jan Kowalski
stacja robocza
(a gdzie reszta?...)

a chcę:

Jan Kowalski
stacja robocza
monitor
urzadzenie wielofunkcyjne
== jedenkod QR z tymi danymi.

Ten post edytował Radek 7C4 22.06.2013, 17:42:44
Go to the top of the page
+Quote Post
c1chy
post
Post #6





Grupa: Zarejestrowani
Postów: 72
Pomógł: 16
Dołączył: 21.06.2013

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


Możesz użyć GROUP_CONCAT a później explode w PHP.
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 - 19:35