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%)
-----


Rozumiem, że troszkę u Ciebie słabo z rozeznaniem w temacie. Nie wiem tylko czy zauważyłeś ale napisałem Ci jako takie rozwiązanie. Czyli jedno zapytanie i jak je wyświetlać. Skoro masz jednak problem, zrobię to jeszcze raz.

  1. <?php
  2. #swiadomie nie pisze polaczenia z baza i wybraniu bazy bo to chyba oczywiste prawda ?
  3. $select = "SELECT * FROM xxx WHERE LIKE '".mysql_escape_string(trim(substr($_GET['letter'],0,1)))."%' ORDER BY autor ASC"; #lub DESC jak kto woli
  4. $selectid = mysql_query($select) or die(__LINE__.mysql_error();
  5. $autor_aktualny = '';
  6. while($wiersz = mysql_fetch_array($selectid,MYSQL_ASSOC)
  7. {
  8.  if($wiersz['autor']!=$autor_aktualny)
  9. {
  10.    echo 'Autor: '.$autor_aktualny.' jego dziela:<br />';
  11.    echo $wiersz['dzielo'];
  12.    $autor_aktualny = $wiersz['autor'];
  13.  }
  14.  else
  15.    echo ','.$wiersz['dzielo'];
  16. }
  17. ?>

No chyba to juz wystarczajaca ilosc kodu prawda ? zmien tylko wiersz['dzielo'] na odpowiedni dla Twojej kolumny z dzielem.
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 - 09:56