Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie - JOIN czy coś...
Rafiki23
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.07.2007

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


Witam,

Mam pewien problem... gdyż nie wiem jak mam połączyć zapytania SQL w jedno (obecnie baza mi się strasznie krzaczy z powodu bardzo wielu zapytań) myślałem o JOINie, ale nie mam pomysłu jak go użyć, a jak już jest, to niestety nie idzie...

A więc tak. Mam dwie tabele.

- wyniki
MeczID | SezonID | LigaID | MeczData | GospodarzID | GoscID | BramkiGospodarz | BramkiGosc

- bramki
ID | MeczID | LigaID | SezonID | Pilkarz | DruzynaID | Minuta

Teraz robiłem to tak :
Pobierałem wyniki z jakiegoś zakresu dat w danej lidze, później jak wyświetlałem wierszami wyniki, to robiłem zapytanie WHERE MeczID = '$mecz' AND DruzynaID = '$data[GospodarzID]' i wyświetlałem strzelców goli gospodarzy.
To samo robiłem dla gosci. Czyli do jednego meczu robiłem dodatkowo 2 zapytania... :/ A jak meczów było np na stronie 10, to robiłem 20 zapytań + zapytanie o wyniki.

Dlatego mam pytanie o pomoc... jak to zapytanie skonstruować i czy jest taka możliwość, żeby zrobić to w jednym zapytaniu i dopiero jakoś to w skrypcie poukładać ?

Z góry dziękuję za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Rafiki23 8.09.2008, 22:53:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Rafiki23
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.07.2007

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


Dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Dzisiaj to przetestuje, coś podobnego spróbuję zrobić no i zobaczymy czy zadziała, jak nie to pokombinuje dalej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Kombinowałem no i nie idzie... :/ Pokazuje mi się nadal tyle meczów ile mam strzelców. Może ktos znajdzie rozwiązanie? Wydaje mi się że wszystko jest ok...

  1. $get_matches1 = mysql_query("SELECT w.MeczID as id,
  2. w.SezonID as SezonID,
  3. w.LigaID as LigaID,
  4. w.MeczData as data,
  5. w.MeczGodzina as godzina,
  6. w.KolejkaMecz as kolejka,
  7. (SELECT d.DruzynaPelnaNazwa from druzyna d WHERE d.DruzynaID = w.GospodarzID) AS hometeam,
  8. (SELECT d.DruzynaPelnaNazwa from druzyna d WHERE d.DruzynaID = w.GoscID) AS awayteam,
  9. w.GospodarzID as team_a_ID,
  10. w.GoscID as team_b_ID,
  11. w.BramkiGospodarz as goals_home,
  12. w.BramkiGosc as goals_away,
  13. w.MeczUwagi as uwagi,
  14. b.MeczID as SMeczID,
  15. b.Pilkarz as Pilkarz,
  16. b.DruzynaID as SDruzynaID
  17. FROM mecze_$LigaID w
  18. LEFT JOIN gole b ON w.MeczID = b.MeczID
  19. AND w.LigaID = b.LigaID
  20. WHERE (
  21. w.MeczData
  22. BETWEEN '$minus2dni'
  23. AND '$plus3dni'
  24. )
  25. AND w.LigaID = '$LigaID'
  26. AND w.SezonID = '$SezonID' ORDER by w.MeczData ASC, w.MeczGodzina ASC",$lacz) or die(mysql_error());
  27.  
  28.  
  29. if(mysql_num_rows($get_matches1) <= 1)
  30.        {
  31.            echo "<table>";
  32.        }
  33.        else
  34.        {
  35.                              echo"<div align=\"center\">";?>
  36.              <center>
  37.            <br><table border="0" cellspacing="1" width="95%">
  38.            <?
  39.  
  40.            $i = 0;
  41.            $temp = '';
  42.            $ja = 0;
  43.            $tempja = '';
  44.  
  45.  
  46.            while($data = mysql_fetch_array($get_matches1))
  47.            {
  48.                if($i == 0)
  49.                {
  50.  
  51.  
  52.                  ?>
  53.              <tr>
  54.                <td width="100%" colspan="5"> <b><font size="2"><?php echo"$data[data]";?> 
  55.                  -  Kolejka nr <?php echo"$data[kolejka]";?></font></b></td>
  56.              </tr>
  57. <?php
  58.                }
  59.  
  60.                if($data['data'] != "$temp" && $i > 0)
  61.                {
  62. ?>
  63.              <tr>
  64.                <td width="100%" colspan="5"> <b><font size="2"><?php echo"$data[data]";?> 
  65.                  -  Kolejka nr <?php echo"$data[kolejka]";?></font></b></td>
  66.              </tr>
  67. <?php
  68.                }
  69.  
  70.  
  71.                if($ja == 0)
  72.                {
  73.  
  74.  
  75. ?>
  76. <tr>
  77.                  <td width="10%" align="center"><?php echo"$data[godzina]";?></td>
  78.                  <td width="37%"><b> <?php echo"$data[hometeam]";?></b></td>
  79.                  <td width="3%" align="center">-</td>
  80.                  <td width="37%"><b> <?php echo"$data[awayteam]";?></b></td>
  81.                  <td width="13%">
  82. <?php
  83.                if(!is_null($data['goals_home']))
  84.                    echo"<p align=\"center\"><b>$data[goals_home]: $data[goals_away]</b>";
  85. ?>
  86.                </td></tr>
  87.  
  88. <?php
  89.  
  90.  
  91.            if($data['uwagi']==''){}
  92.            else {
  93.  
  94. ?>
  95.              <tr>
  96.                <td width="100%" align="center" colspan="5">
  97.                <p align="left"> <i><font size="1"><?php echo"$data[uwagi]"; ?></font></i></td>
  98.              </tr>
  99. <?php
  100.                }}
  101.  
  102.                if($data['id'] == "$tempja" && $ja > 0)
  103.                {
  104. ?>
  105. <tr>
  106.                  <td width="10%" align="center"><?php echo"$data[godzina]";?></td>
  107.                  <td width="37%"><b> <?php echo"$data[hometeam]";?></b></td>
  108.                  <td width="3%" align="center">-</td>
  109.                  <td width="37%"><b> <?php echo"$data[awayteam]";?></b></td>
  110.                  <td width="13%">
  111. <?php
  112.                if(!is_null($data['goals_home']))
  113.                    echo"<p align=\"center\"><b>$data[goals_home]: $data[goals_away]</b>";
  114. ?>
  115.                </td></tr>
  116. <?php
  117.  
  118.  
  119.  
  120.            if($data['uwagi']==''){}
  121.            else {
  122.  
  123. ?>
  124.              <tr>
  125.                <td width="100%" align="center" colspan="5">
  126.                <p align="left"> <i><font size="1"><?php echo"$data[uwagi]"; ?></font></i></td>
  127.              </tr>
  128. <?php
  129.               }
  130.                $tempja = "$data[id]";
  131.  
  132.                $ja++;
  133.  
  134.                }
  135.  
  136.                $temp = "$data[data]";
  137.  
  138.                $i++;
  139.            }
  140.        }
  141.  
  142.        mysql_free_result($get_matches1);


Ten post edytował Rafiki23 10.09.2008, 13:52:59
Go to the top of the page
+Quote Post

Posty w temacie


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: 28.12.2025 - 02:50