Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Wyświetlanie danych z jednej tabeli
zwieracz
post
Post #1





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

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


Witam
Mam tabelę w bazie mysql w której są następujące kolumny: id, cytat, autor, zrodlo, tag;
dane w kolumnach: autor, zrodlo, tag; mogą się powtarzać.
Chciałbym pokazać listę autorów na daną literę wraz ze źródłami mniej więcej w ten sposób:

autor1
- zrodlo1, zrodlo2, zrodlo3
autor2
- zrodlo, zrodlo4
autor3
- zr........

na razie zrobiłem coś takiego:

  1. <?php
  2. $q = mysql_query("SELECT DISTINCT autor, FROM xxx
  3. WHERE autor LIKE '".mysql_real_escape_string($_GET['letter'])."%' ORDER BY autor ASC");
  4. while ($x = mysql_fetch_assoc($q))
  5. {
  6. extract($x);
  7. echo $autor;
  8. }
  9. ?>


Co pokazuje mi listę autorów na daną literę przekazywaną przez GET i jest ok. Ale jak dołączyć do każdego autora jego źródła?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Proszę o wskazówki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
golaod
post
Post #2





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Słuchaj to jak już się tak bawisz w słuchanie wyżej wypowiadających się panów to ja polecam na każdą kolumnę zrobić osobne zapytania...
  1. <?php
  2. $select = "SELECT * FROM xxx WHERE autor LIKE '".mysql_escape_string(trim(substr($_GET['letter'],0,1)))."%' "; //w końcu jak litera to litera i zabezpieczyć to też trzeba, po drugie jak coś na końcu możesz dodać LIMIT param1,param2  i się pobawić w podstrony
  3. // teraz podczas wywalania na ekran:
  4. $tmp_autor = '';
  5. $selectid = mysql_query($select) or die(mysql_error());
  6. while($wynik = mysql_fetch_array($selectid,MYSQL_ASSOC))
  7. {
  8.  if($tmp_autor!= $wynik['autor'])
  9.  {
  10.    #i tu tworzysz oddzielenie dla nowego autora ktorego wypisujesz tylko raz
  11.  }
  12.  #a tu wyswietlasz reszte rzeczy
  13. }
  14. ?>

Tym sposobem zapytanie jedno.
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: 3.10.2025 - 10:45