Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Najlepszy wynik z dwóch tabel
maniek2512
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 5.03.2011

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


Witam ponownie, męczę się z tym cały dzień i nie mogę dojść jak to zrobić. Otóż pobieram sobie dane z bazy z 2 tabel. Potrzebuję aby z tych tabel wyświetlało mi tylko najlepsze wyniki (najkrótszy czas)

To co napisałem:

  1. <?php
  2. $trasa = $_GET['trasa'];
  3. $tryb = $_GET['tryb'];
  4. $shard = $_GET['shard'];
  5.  
  6.  
  7.  
  8. $sql_conn = mysql_connect('**********', '********_admin', '**********');
  9. mysql_select_db('nfswinfo_1');
  10.  
  11. $result = mysql_query("SELECT * FROM single$trasa");
  12.  
  13. while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
  14. printf ("ID: %s Nick: %s Marka: %s Model: %s Czas: %s", $row[0], $row["nick"], $row["marka"], $row["model"], $row["czas"]);
  15. }
  16.  
  17.  
  18.  
  19.  
  20. $result1 = mysql_query("SELECT * FROM multi$trasa");
  21.  
  22. while ($row = mysql_fetch_array($result1, MYSQL_BOTH)) {
  23. printf ("ID: %s Nick: %s Marka: %s Model: %s Czas: %s", $row[0], $row["nick"], $row["marka"], $row["model"], $row["czas"]);
  24. }
  25.  
  26.  
  27.  
  28. ?>



Wynikiem tego jest:

(single)
ID: 1 Nick: JOERG1966 Marka: MCLAREN Model: F1 Czas: 0:01:13.800
ID: 2 Nick: RYBECKI0902 Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:16.675
ID: 3 Nick: MANIEK2512PL Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:17.463

(multi)
ID: 1 Nick: JOERG1966 Marka: MCLAREN Model: F1 Czas: 0:01:09.435
ID: 2 Nick: DELECTAMENTI Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:12.861
ID: 3 Nick: MANIEK2512PL Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:19.817
ID: 4 Nick: BLACKSHADOW849 Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:21.805
ID: 5 Nick: RYBECKI0902 Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:23.075


Chciałym z tych 2 "tabel" stworzyć 1, która względem powyższych danych wyglądałaby tak:

1. Nick: JOERG1966 Marka: MCLAREN Model: F1 Czas: 0:01:09.435 Tryb: single
2. Nick: DELECTAMENTI Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:12.861 Tryb: multi
3. Nick: RYBECKI0902 Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:16.675 Tryb: single
4. Nick: MANIEK2512PL Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:17.463 Tryb: single
5. Nick: BLACKSHADOW849 Marka: PAGANI Model: ZONDA CINQUE Czas: 0:01:21.805 Tryb: multi


Mógłby mi ktoś podpowiedzieć, podać jakiś przykład jak to zrobić?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
maniek2512
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 5.03.2011

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


Niestety nie ogarniam jeszcze za bardzo php i mysql i nie poradzę sobie z tym, daltego też pytałem o jakieś przykłady. Większości nauczyłem się właśnie w ten sposób i często jak czegoś nie wiem korzystam z poprzednich rozwiązań. Czegoś takiego nigdy nie robiłem, a do tego ciężko znaleźć jaką kolwiek pomoc w necie na ten temat.

Zupełnie nie wiem jak z tych dwóch tablic wybrać tylko najlepszy czas dla danego gracza. Jeśli ktoś byłby tak uprzejmy i napisał rozwiązanie tego pytania (+ o ile byłaby taka możliwość z jakimś wytłumaczeniem co z czym się je, byłbym dozgonnie wdzięczny).

Będę sam próbował się jeszcze jakoś z tym uporać lecz po całym dniu prób ręce same opadają..


Jak narazie zrobiłem tyle:

  1. <table border="1" align="left" width="100%" >
  2. <!-- Table Header -->
  3. <thead>
  4.  
  5. <tr>
  6.  
  7. <th background='tlo.png'>Nick</th>
  8. <th background='tlo.png'>Czas</th>
  9. <th background='tlo.png'>Marka</th>
  10. <th background='tlo.png'>Model</th>
  11.  
  12. </tr>
  13.  
  14. </thead>
  15.  
  16. <!-- Tabel body-->
  17. <tbody>
  18.  
  19.  
  20.  
  21. <?php
  22. $trasa = $_GET['trasa'];
  23. $tryb = $_GET['tryb'];
  24. $shard = $_GET['shard'];
  25.  
  26.  
  27.  
  28. $sql_conn = mysql_connect('*******', '********_admin', '********');
  29. mysql_select_db('nfswinfo_1');
  30.  
  31. $result = mysql_query("SELECT nick, marka, model, czas FROM single$trasa UNION SELECT nick, marka, model, czas FROM multi$trasa ORDER BY `czas` ASC");
  32. $i=0;
  33. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  34. $data[$i]=$row;
  35. $i++;
  36.  
  37. $nick = '<td>' .$row["nick"]. '</td>';
  38. $marka = '<td>' .$row["marka"]. '</td>';
  39. $model = '<td>' .$row["model"]. '</td>';
  40. $czas = '<td>' .$row["czas"]. '</td>';
  41. echo "<tr align='center'>$nick $marka $model $czas</tr>";
  42. //printf ("Nick: %s Marka: %s Model: %s Czas: %s", $row["nick"], $row["marka"], $row["model"], $row["czas"]);
  43. }
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. // $result1 = mysql_query("SELECT * FROM multi$trasa");
  51.  
  52. //while ($row = mysql_fetch_array($result1, MYSQL_BOTH)) {
  53. // printf ("ID: %s Nick: %s Marka: %s Model: %s Czas: %s", $row[0], $row["nick"], $row["marka"], $row["model"], $row["czas"]);
  54. //}
  55.  
  56. //mysql_free_result($result1);
  57.  
  58.  
  59. ?>
  60.  
  61.  
  62. </tbody>
  63.  
  64.  
  65. </table>



Może można tu zastosować jakoś array_unique z tym, że trzeba było ją posortować i wtedy pokazywało by tylko wyniki, które pokazały się jako pierwsze? Tylko nie wiem, czy można ustawić w array_unique, która wartość ma być unikalna. Mógłby ktoś się wypowiedzieć na ten temat?

Ten post edytował maniek2512 25.01.2013, 21:24:19
Go to the top of the page
+Quote Post

Posty w temacie
- maniek2512   [MySQL][PHP]Najlepszy wynik z dwóch tabel   25.01.2013, 17:35:13
- - kristaps   np. UNION i po problemie. Tutaj jakiś kurs. Całość...   25.01.2013, 17:45:22
- - maniek2512   Dobra zmieniłem na coś takiego, teraz tylko jak na...   25.01.2013, 18:09:42
|- - kristaps   Cytat(maniek2512 @ 25.01.2013, 18:09...   25.01.2013, 18:18:21
- - maniek2512   Chodzi mi o to aby pobierało najkrótszy czas z tyc...   25.01.2013, 18:25:37
- - kristaps   Jeżeli chcesz informować z której tabeli pochodzi ...   25.01.2013, 18:40:43
- - maniek2512   Niestety nie ogarniam jeszcze za bardzo php i mysq...   25.01.2013, 19:13:59
- - kristaps   Możesz zacząć tak: [PHP] pobierz, plaintext $stmt...   25.01.2013, 21:39:01
|- - maniek2512   Cytat(kristaps @ 25.01.2013, 21:39:01...   25.01.2013, 21:53:57
- - kristaps   Teraz już rozumiem. 1. Nie rób tabeli, kolumny, ...   25.01.2013, 22:20:48
- - maniek2512   Nie wiem, chyba coś pochrzaniłem.. ;| Pokazuje mi ...   25.01.2013, 22:47:22
- - kristaps   Bo nie wrzuciłeś tego w żadną pętlę. Dlatego zapyt...   25.01.2013, 23:10:03
- - maniek2512   W bazie danych mam nazwy tras w nich mam rekordy, ...   25.01.2013, 23:30:47
- - kristaps   Dzieje się tak pewnie z powodu braku jakiekolwiek ...   26.01.2013, 03:55:28
- - maniek2512   Warning: mysql_fetch_array(): supplied argument is...   26.01.2013, 12:50:54
- - kristaps   Zmień $wynik = '<tr><td>Nick...   26.01.2013, 13:10:45
- - maniek2512   Po zmianie na [PHP] pobierz, plaintext $wynik .= '...   26.01.2013, 13:16:13
- - kristaps   [SQL] pobierz, plaintext $result3 = mysql_query...   26.01.2013, 13:22:01
|- - maniek2512   Cytat(kristaps @ 26.01.2013, 13:22:01...   26.01.2013, 13:24:13
- - kristaps   Problem pewnie polega na tym, że nie każdy rozgryw...   26.01.2013, 13:29:24
|- - maniek2512   Cytat(kristaps @ 26.01.2013, 13:29:24...   26.01.2013, 13:32:40
- - kristaps   Problemem pewnie może być też to, że jest wiele re...   26.01.2013, 13:38:50
|- - maniek2512   Cytat(kristaps @ 26.01.2013, 13:38:50...   26.01.2013, 13:43:54
- - kristaps   Możesz wkleić cały kod?   26.01.2013, 13:51:34
|- - maniek2512   Cytat(kristaps @ 26.01.2013, 13:51:34...   26.01.2013, 13:53:34
- - kristaps   Miałeś warunki w dolnej pętli z zapytaniem o trasy...   26.01.2013, 14:04:52
- - maniek2512   Nick: MANIEK2512PL Marka: PAGANI Czas 0:01:17.463 ...   26.01.2013, 14:09:17
- - kristaps   Zamień: [PHP] pobierz, plaintext $wynik = '';whi...   26.01.2013, 14:24:37
- - maniek2512   [PHP] pobierz, plaintext <?php  $trasa...   26.01.2013, 14:29:52
- - kristaps   Ok, podaje błędne wyniki dlatego, że w niektórych ...   26.01.2013, 15:23:46
|- - maniek2512   Cytat(kristaps @ 26.01.2013, 15:23:46...   26.01.2013, 15:41:25
- - kristaps   Zobacz to: [PHP] pobierz, plaintext <?php...   27.01.2013, 00:34:22
- - maniek2512   Dzięki wielkie o to mi właśnie chodziło, bardzo mi...   27.01.2013, 01:39:53


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: 25.12.2025 - 22:58