Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapytanie sql
Forum PHP.pl > Forum > Przedszkole
meehow18
Witam, zastanawiam się jakie napisać zapytanie by uzyskać efekt który chce

Struktura tabel

`sklep`
ID | cred | img | nazwa

`item`
id | idPrzedmiotu | nazwaPola

ID z tabeli sklep = idPrzedmiotu z tabeli item

chodzi mi o wyświetlenie w tabeli nazwaPola
mój skrypt php

  1. <?php
  2. $result = mysql_query("SELECT * , (Nowe zapytania ... ) FROM sklep") or die('BŁĄD:'.mysql_error());
  3.  
  4. if(mysql_num_rows($result) > 0) {
  5.  
  6.  
  7.  
  8. echo "<table cellpadding=\"2\" border=1>";
  9. while($r = mysql_fetch_array($result)) {
  10. echo "<tr>";
  11. echo "<td>".$r['nazwa']."</td>";
  12. echo "<td>".$r['img']."</td>";
  13. echo "<td>".$r['nazwaPola']."</td>";
  14. echo "<td>"."<b>Cena:</b>".$r['cred']."</td>";
  15. echo "<td>
  16. <a href=\"index.php?a=buy&id={$r['id']}\">KUP</a>
  17.  
  18. </td>";
  19. echo "</tr>";
  20. print_r($r);
  21. }
  22. echo "</table>";
  23. }
  24. else {
  25. echo '<b>Nie ma żadnych przedmiotów</b>';
  26. }
  27.  
  28. ?>
askone
Hej

Nie do końca rozumiem jaki efekt chcesz uzyskać, ale to powinno działać winksmiley.jpg

  1. SELECT sklep.*, item.nazwaPola
  2. FROM sklep
  3. INNER JOIN item ON item.idProduktu = sklep.id


Pozdrawiam
zelu
  1. JOIN
ErniX
  1. <?php
  2.  
  3. $result = mysql_query("SELECT * , (Nowe zapytania ... ) FROM sklep") or die('BŁĄD:'.mysql_error());
  4.  
  5. if(mysql_num_rows($result) > 0)
  6. {
  7. echo "<table cellpadding=\"2\" border=1>";
  8.  
  9. while($r = mysql_fetch_array($result))
  10. {
  11. $q = mysql_query("SELECT * FROM `item` WHERE idPrzedmiotu='".$r['ID']."' LIMIT 1");
  12. $row = mysql_fetch_array($q);
  13.  
  14. echo "<tr>";
  15. echo "<td>".$r['nazwa']."</td>";
  16. echo "<td>".$r['img']."</td>";
  17. echo "<td>".$row['nazwaPola']."</td>";
  18. echo "<td>"."<b>Cena:</b>".$r['cred']."</td>";
  19. echo "<td>
  20. <a href=\"index.php?a=buy&id={$r['id']}\">KUP</a>
  21.  
  22. </td>";
  23. echo "</tr>";
  24. print_r($r);
  25. }
  26.  
  27. echo "</table>";
  28. }
  29. else
  30. {
  31. echo '<b>Nie ma żadnych przedmiotów</b>';
  32. }
  33.  
  34. ?>
zelu
@ErniX
Proszę Cię, nie rób koledze wody z mózgu! Po co wywołujesz mysql_query w każdym przebiegu pętli? A co jeżeli będzie chciał pobrać 100 elementów? Puścisz do bazy 101 zapytań? Tym bardziej, że można to zrobić jednym łatwym JOINem


Pozdro
everth
Tutaj, od slajdu 49 do bodajże 59
meehow18
Cytat(askone @ 16.08.2010, 11:16:19 ) *
Hej

Nie do końca rozumiem jaki efekt chcesz uzyskać, ale to powinno działać winksmiley.jpg

  1. SELECT sklep.*, item.nazwaPola
  2. FROM sklep
  3. INNER JOIN item ON item.idProduktu = sklep.id


Pozdrawiam


Wszystko jest okey, tylko zapomniałem jeszcze o jednym aspekcie, ze nazwaPola to cyfra
Dopiero w tabeli `opcje`
nazwaPola = ID i w tej tabeli potrzebuje nazwa_opcji
askone
A więc:

  1. SELECT sklep.*, item.nazwaPola, opcje.nazwa_opcji
  2. FROM sklep
  3. INNER JOIN item ON item.idProduktu = sklep.id
  4. INNER JOIN opcje ON opcje.id = item.nazwaPola


Pozdrawiam
meehow18
OK jest naprawde gites
tylko robi mi coś takiego

przedmiot 1 | obrazek1 | Opcja1 | Cena1 |
przedmiot 1 | obrazek1 | Opcja2 | Cena1 |

przedmiot 2 | obrazek2 | Opcja1 | Cena2 |
przedmiot 2 | obrazek2 | Opcja2 | Cena2 |

Ja chce zeby w jednym wierszu przy przedmiocie pokazywało wszystkie dodane opcje nie w kazdym nowym wierszu.

  1. <?php
  2. $result = mysql_query("SELECT sklep.*, item.nazwaPola, opcje.nazwa_opcji
  3. FROM sklep
  4. INNER JOIN item ON item.idPrzedmiotu = sklep.id
  5. INNER JOIN opcje ON opcje.id = item.nazwaPola
  6. ") or die('BŁĄD:'.mysql_error());
  7.  
  8. if(mysql_num_rows($result) > 0) {
  9.  
  10.  
  11.  
  12. echo "<table cellpadding=\"2\" border=1>";
  13. while($r = mysql_fetch_array($result)) {
  14. echo "<tr>";
  15. echo "<td>".$r['nazwa']."</td>";
  16. echo "<td>".$r['img']."</td>";
  17. echo "<td>".$r['nazwa_opcji']."</td>";
  18.  
  19. echo "<td>"."<b>Cena:</b>".$r['cred']."</td>";
  20. echo "<td> ";
  21. ?>
  22. <a href="<?php echo $_SERVER['PHP_SELF'];?>?akcja=kup&id=<?php echo $r['idPrzedmiotu']; ?>">KUP</a>
  23.  
  24. </td>
  25. <?php
  26. echo "</tr>";
  27. print_r($r);
  28. }
  29. echo "</table>";
  30. }
  31. else {
  32. echo '<b>Nie ma żadnych przedmiotów</b>';
  33. }
  34.  
  35. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.