Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie SQL
Forum PHP.pl > Forum > PHP
2rek
maly problemik -wynikajacy zapewne z niewiedzy na temat php i SQL ale potrzebuje tego skrypciku

wiec tak -mam dwie tabele:



-id_link
-naz_link
-adr_link
-opi_link
-naz_kat_link


oraz



kategoria_link
-id_kat_link
-naz_kat_link


chodzi mi o takie cos zeby wypisac wszystkie linki sortujac je w kategorie znaczy np.

kategoria 1
-link1
-link2

kategoria 2
-link1
-link2
-link3

-probowalem sobie z tym poradzic jednak nie uzyskalem nic dobrego Wink


  1. <?php
  2. [...]
  3.  $zapytanie2 = 'SELECT * FROM `kategoria_link` ORDER BY `naz_kat_link`';
  4. $wypis2 = mysql_query($zapytanie2);
  5. echo '<table class="wypis">';
  6. while ($wiersz = mysql_fetch_row($wypis2)) {
  7.  
  8. $kat =$wiersz[1];
  9. echo $kat;
  10.  
  11.  $zapytanie = 'SELECT * FROM `link` WHERE `naz_kat_link` = '$kat'';
  12. $wypis = mysql_query($zapytanie);
  13. echo '<table class="wypis">';
  14.  $nr=1;
  15.  while ($wiersz = mysql_fetch_row($wypis)) {
  16.  echo '<tr><td>'. $nr .'</td><td>'. $wiersz[4] .'</td><td>'. $wiersz[1] .'</td><td><a href="'. $wiersz[2] .'" target="_blank">'. $wiersz[2] .'</td><td>'. $wiersz[3] .'</td></tr>';
  17.  $nr++;
  18.  
  19. }
  20. ?>



...wydaje mi sie ze dosc mozno namieszalem -ale nie wiem jak sie odwolac do zmiennej $kat aby z tabeli link wypisac wszystkie wiersze w ktorych naz_kat_link jest taka sama jak $kat


...pomocy
zombie
1. Nie potrzebnie obciążasz bazę pętlą zapytań.
2. w tabeli link zamiast kolumny 'naz_kat_link' chyba powinna znalezc sie 'id_kat_link'
3. pokombinuj raczej z takim zapytaniem:

  1. SELECT link.naz_link, link.adr_link, link.opi_link, kategoria_link.naz_kat_link
  2. FROM kategoria_link, link
  3. ORDER BY kategoria_link.naz_kat_link ASC
kamikaze_
Cytat(2rek @ 1.08.2006, 17:00 ) *
  1. <?php
  2.  $zapytanie = 'SELECT * FROM `link` WHERE `naz_kat_link` = '$kat'';
  3. ?>

...wydaje mi sie ze dosc mozno namieszalem -ale nie wiem jak sie odwolac do zmiennej $kat aby z tabeli link wypisac wszystkie wiersze w ktorych naz_kat_link jest taka sama jak $kat
...pomocy

To zapytanie wyciąga dokładnie to czego oczekujesz, ale imho jest źle zapisane. Spróbuj tak:
  1. <?php
  2. $zapytanie = 'SELECT * FROM `link` WHERE `naz_kat_link` = '.$kat;
  3. ?>

Jeśli chcesz zapisywać bez łączenia stosuj apostrofy podwójne (").
2rek
Cytat(kamikaze_ @ 1.08.2006, 21:42 ) *
To zapytanie wyciąga dokładnie to czego oczekujesz, ale imho jest źle zapisane. Spróbuj tak:
  1. <?php
  2. $zapytanie = 'SELECT * FROM `link` WHERE `naz_kat_link` = '.$kat;
  3. ?>

Jeśli chcesz zapisywać bez łączenia stosuj apostrofy podwójne (").



probuj probuje i ... bez efektow

doszedlem do czegos takiego:
  1. <?php
  2. $zapytanie1 = 'SELECT * FROM `kategoria_link` ORDER BY `naz_kat_link`';
  3. $wypis1 = mysql_query($zapytanie1);
  4. $nr_kat=1;
  5.  
  6. echo '<table class="wypis">';
  7.  
  8. while ($wiersz = mysql_fetch_row($wypis1)) { 
  9. echo '<tr><td>'. $nr_kat .'</td><td>'. $wiersz[1] .'</td><td>...</td><td>...</td><td>...</td></tr>';
  10.  
  11.  
  12. $kat=$wiersz[1];
  13. $zapytanie2 = 'SELECT * FROM `link` WHERE `naz_kat_link` = '.$kat;
  14. $wypis2 = mysql_query($zapytanie2);
  15.  
  16. while ($wiersz2 = mysql_fetch_row($wypis2)) { 
  17. echo '<tr><td>..</td><td>'. $wiersz2[4] .'</td><td>'. $wiersz2[1] .'</td><td><a href="'. $wiersz2[2] .'" target="_blank">'. $wiersz2[2] .'</td><td>'. $wiersz2[3] .'</td></tr>';
  18.  
  19.  }
  20.  $nr_kat++;
  21. }
  22. echo '</table>';
  23. ?>


i dalej nie dziala
...co robie zle?


Cytat(zombie @ 1.08.2006, 21:29 ) *
1. Nie potrzebnie obciążasz bazę pętlą zapytań.
2. w tabeli link zamiast kolumny 'naz_kat_link' chyba powinna znalezc sie 'id_kat_link'
3. pokombinuj raczej z takim zapytaniem:

  1. SELECT link.naz_link, link.adr_link, link.opi_link, kategoria_link.naz_kat_link
  2. FROM kategoria_link, link
  3. ORDER BY kategoria_link.naz_kat_link ASC



petle wrzucilem po to aby najpierw z tabeli kategoria_link wyciagal pierwsza naz_kat_link a pozniej z tabeli link wszystkie linki ktore sa powiazane z ta kategoria.. wtedy to samo z druga naz_kat_link i tak az do ostatniej

dzieki poradzilem juz sobie z tym problemem -dzieki obu wskazowka
-znaczy naz_kat_link w tabeli LINK zmienilem na id_kat_link -za to dzieki zombie
-nastepnie zgodnie ze wskazowkami zmienilem moj skrypt -dzieki kamikaze_

smile.gif

niestety pojawil sie kolejny problem -jeszcze bardziej lamerski -ale o tym w temacie wyzej
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.