Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zapytanie sql
meehow18
post 16.08.2010, 10:09:48
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 10.01.2010

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


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. ?>


Ten post edytował meehow18 16.08.2010, 10:10:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
askone
post 16.08.2010, 10:16:19
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


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


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
Go to the top of the page
+Quote Post
zelu
post 16.08.2010, 10:16:56
Post #3





Grupa: Zarejestrowani
Postów: 229
Pomógł: 34
Dołączył: 7.12.2008
Skąd: Poznań

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


  1. JOIN
Go to the top of the page
+Quote Post
ErniX
post 16.08.2010, 10:16:57
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.04.2009

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


  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. ?>


--------------------
Boże Narodzenie - Tapety na pulpit
Zmierzch / Twilight - Tapety na pulpit
Tapety Na Pulpit
Go to the top of the page
+Quote Post
zelu
post 16.08.2010, 10:18:54
Post #5





Grupa: Zarejestrowani
Postów: 229
Pomógł: 34
Dołączył: 7.12.2008
Skąd: Poznań

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


@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

Ten post edytował zelu 16.08.2010, 10:26:22
Go to the top of the page
+Quote Post
everth
post 16.08.2010, 10:21:45
Post #6





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Tutaj, od slajdu 49 do bodajże 59


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
meehow18
post 16.08.2010, 19:05:52
Post #7





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 10.01.2010

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


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
Go to the top of the page
+Quote Post
askone
post 17.08.2010, 05:50:56
Post #8





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


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


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
Go to the top of the page
+Quote Post
meehow18
post 17.08.2010, 08:22:06
Post #9





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 10.01.2010

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


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. ?>


Ten post edytował meehow18 17.08.2010, 08:23:31
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:47