Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] zapytanie
Forum PHP.pl > Forum > Przedszkole
kanji
Witam mam takie zapytanie:
  1. $zapytanie="SELECT *
  2. FROM dane, jpegi WHERE dane.id = $id and jpegi.nierID = dane.id";
  3. $wynik=mysql_query($zapytanie) OR die (mysql_error());
  4. while($wiersz=mysql_fetch_array($wynik))

SQL_ERROR nie wyświetla żadnego błędu i niby wszystko działa tylko nie wyświetla mi danych przykładowae dane jak je czytam
  1. <?php
  2. <p align=&#092;"center\"><font face=\"Verdana\" size=\"3\" color=\"#D8DAD6\"><b>\".$wiersz['dane.rnier'].\"-\".$wiersz['dane.of'].\"</b></font></p> <p align=\"center\"><IMG src =\" \".$wiersz['jpegi.url'].\" \"></td>
  3. ?>


Czy to jest źle czy może robiętylko błąd w wypisywaniu ICH?
nospor
masz coś takiego:$wiersz['dane.rnier'] powinno być $wiersz['rnier'] już bez nazwy tabeli. Indexami są tylko nazwy pól
kanji
Dobrze to poszło tylko teraz pojawił się taki problem że mi 2 lub więcej razy wyświetla to samo mimo że powinien mi wyświetlić jedną tabelkę nie 2, dzieje się to tak dlatego że tam jest weher jpeg.nieruID = dane.ID a to mi jest potrzebne tylko do tego ile zdjęć mam wyświetlić w tabeli a nie ile table zrobic jak można to zrobić?
nospor
Nie wiem czy dobrze zrozumialem. Powtarzają ci się identyczne rekordy? jak tak to daj distinct:
  1. SELECT DISTINCT .....
kanji
Tak powtoarzają się identyczne, a mają sie powtarzać tylko zdjęcia które mają nierID taki sam jak ID z tabeli danych. Ten select distinc mam dodać w zapytaniu?
nospor
no tak:
  1. <?php
  2.  
  3. $zapytanie=&#092;"SELECT distinct * 
  4. FROM dane,
  5. jpegi WHERE dane.id = $id and jpegi.nierID = dane.id&#092;";
  6.  
  7. ?>
kanji
Niestety dalej jest to samo sad.gif On powtarza to tyle razy ile jest nierID = dane.id, jak będzie raz to pokaże raz, jak dwa to dwa i tak dalej
nospor
Cytat
do tego ile zdjęć mam wyświetlić w tabeli a nie ile table zrobic
A ty w pętli tabelę generujesz? Pokaż cały kod.

masz mieć tyle zdjęc ile jest w tabeli jpegi i które zawierają dane z dane?
kanji
To działa tak mam baze nieru a wniej tabele dane i jpegi.
W tabeli dane mam ID które jest unikalne i zawsze zwiększa sie o 1 jeden i się nie powtórzy, do tabeli jpegi mam 3 pola jID, url, nierID. I chodzi o to że jak chce wświetlić rekord dajmy na to 56 to weżmie pobierze mi z jpegi.nierID i odda mi linka na fotki żeby zostały pokazane, a on mi pokazyje za kązdym razem jedną fotkę i na nowo powtarza rekord a o to kod:
  1. <?
  2. $id=$_GET[&#092;"id\"];
  3. if($id > 0){
  4. include(&#092;"sql.php\");
  5. $zapytanie=&#092;"SELECT distinct * FROM dane, jpegi WHERE dane.id = $id and jpegi.nierID = d
    a
  6. e.id\";
  7. $wynik=mysql_query($zapytanie) or die (mysql_error());
  8. while($wiersz=mysql_fetch_array($wynik))
  9. {
  10. echo\"<table border=\"1\" width=\"100%\" bordercolor=\"#466391\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#4B73AA\">
  11. <tr>
  12. <td width=\"100%\">
  13. <p align=\"center\"><font face=\"Verdana\" size=\"3\" color=\"#D8DAD6\"><b>\".$wiersz['rnier'].\"-\".$wiersz['of'].\"</b></font></p>
  14. </td>
  15. </tr>
  16. <tr>
  17. <td width=\"100%\" bgcolor=\"#FFFFFF\">
  18. <table border=\"0\" width=\"100%\" cellpadding=\"2\">
  19. <tr>
  20. <td width=\"100%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#FFFFFF\" colspan=\"2\">
  21. <p align=\"center\"><IMG src =\"scrypt/\".$wiersz['url'].\" \"></td>
  22. </tr>
  23.  
  24. <tr>
  25. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#88909C\">Oferta
  26. nr:</td>
  27. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#4B73AA\">\".$wiersz['id'].\"</td>
  28. </tr>
  29. <tr>
  30. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#88909C\">Cena:</td>
  31. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#4B73AA\">\".$wiersz['cena'].\"</td>
  32. </tr>
  33. <tr>
  34. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#88909C\">Miasto:</td>
  35. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#4B73AA\">\".$wiersz['powiat'].\"</td>
  36. </tr>
  37. <tr>
  38. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#88909C\">Dzielnica:</td>
  39. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#4B73AA\">\".$wiersz['lok'].\"</td>
  40. </tr>
  41. <tr>
  42. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#88909C\">Powierzchnia:</td>
  43. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#4B73AA\">\".$wiersz['pow'].\"</td>
  44. </tr>
  45. <tr>
  46. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#88909C\">Opis:</td>
  47. <td width=\"50%\" style=\"font-family: Verdana; font-size: 10pt; color: #D8DAD6; word-spacing: 1; margin: 1\" bgcolor=\"#4B73AA\">\".$wiersz['opis'].\"</td>
  48. </tr>
  49.  
  50. </table>
  51. </td>
  52. </tr>
  53. </table>\";}}
  54. ?>
nospor
najwyraźniej do danego rekordu z dane masz przypisane kilka rekordów z jpegi (czyli masz kilka rysunków).
1) Albo najpierw pobierz dane, a potem rysunki dla tych danych
2) Albo daj tabelkę przed pętlą, zainicjuj $zm = 0; rób w pętli na końcu $zm++;
jeśłi if ($zm == 0) wyswietl dane else nie wyswietlaj danych. Rysunki wal dla każdej wartości $zm;

Aczkolwiek pierwszy sposób jest nardziej czytelniejszy
kanji
Hehe łatwo powiedzieć snitch.gif No tak tak myślałem też nad sposobem pierwszym tylko nie wiem jak zrobić by mi się fotki pokazywałym w tym dokładnie miejscu co mam wyżej w php
nospor
no jak to jak:
  1. <?php
  2.  
  3. $zapytanie=&#092;"SELECT * FROM dane WHERE dane.id = $id\";
  4. $wynik=mysql_query($zapytanie) or die (mysql_error());
  5. while($wiersz=mysql_fetch_array($wynik))
  6. {
  7. //tu se dane wyswieetl
  8. } 
  9. $zapytanie=&#092;"SELECT * FROM jpegi WHERE jpegi.nierID = $id\";
  10. $wynik=mysql_query($zapytanie) or die (mysql_error());
  11. while($wiersz=mysql_fetch_array($wynik))
  12. {
  13. //tu se obrazki wyswitel
  14. //  echo \"<img src='....' />;
  15.  }
  16.  
  17. ?>
kanji
Hehe tak to wiem smile.gif tylko widzisz w tym codzie co dałem wyżej jest pokazane w którym miejscu ma mi wczytać obrazki smile.gif Tak to też wiem tylko że niestety nie będę ich mieć tej tabeli co chcę mieć smile.gif
nospor
Prponuję ci więc najpier popbrać dane, potem pobrać zdjęcia do tablicy i :
  1. <?php
  2.  
  3. //tu se pobierzesz dane i zdjęcia
  4.  
  5. //tu se wyswietlaj dane
  6.  
  7. //a tu zdjęcia w petli
  8. foreach ($zdjecia as $zdjecie)
  9. {
  10. //zdjecia
  11. }
  12.  
  13. // a tu reszta danych
  14.  
  15. ?>
kanji
Dobra dzieki snitch.gif a teraz takie jedno jeszcze pytanko, a jaśli chce wyświetlić tylko jeden obrazek ? To co musze zrobić? Czy dać w petle czy tylko wystarczy dać
  1. $wiersz=mysql_fetch_array($wynik);
  2. //wy wyświetlić;

Mam rację że to wyświetli tylko jeden obrazek jak napotka na nierID =$id?
nospor
tak, to pobierze aktualny rekord.

pętla sluzy do przelecenia po wszystkich
aczkolwiek jesli będzie ci potrzebny tylko jeden rekord to daj se nakoncu zapytnia limit 1, że by niepotrzebnie nie pobierać wszystkich rekordów
kanji
Thx.. teraz będzie zabawa z miniaturkami snitch.gif hehe snitch.gif Idę pocztyać na ten temat snitch.gif Mam nadzieje że coś wyjdzie smile.gif
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.