Linki w dynamicznie stworzonej liście

0

Witam !

mam takie pytanko.
Tworzę powoli stronkę która korzysta z bazy MySQL. Baza dotyczy książek. Mniej więcej mam takie pola w tabeli książki (id, tytuł , opis, okładka, itd)
Na stronie głównej wyświetlam 3 ostatnio dodane książki w formie ogólnej (mała ikonka okładki, tytuł i krótki opis) i chciałbym żeby klikając na obrazek ich okładki wyświetlały mi się detale dotyczące książki. Ponieważ ta lista 3 ostatnio dodanych pozycji tworzona jest dynamicznie nie mogę stworzyć linków <img (mała ikonka okładki) >

i druga sprawa

podzieliłem książki na kategorie. Czasami wynikami zapytania jest 30 pozycji. Chciałbym żeby takie wyniki wyświetlały się na 6 stronach po 5 pozycji na stronie i zeby na dole strony pojawiały się przyciski lub cyferki do nawigowania wynikami (stronami)

proszę o radę jak można to zrobić

0
  1. a czemu nie możesz stworzyć linków?
  2. na początek proponuję google: php pagination
0

odnośnie pytania 1

bo nie ma pomysłu jak odwołać się do pola "id" książki z bazy w chwili kiedy wyniki zapytania są wyrzucane na stronę. Z chwilą zamknięcia połączenia z bazą (po "wyrzuceniu" wyników zapytania na stronę) ginie także tablica dzięki która pomogała mi w wypisaniu danych na stronę.

$results = mysql_query ('
				SELECT * 
				FROM ksiazki
				ORDER BY id
				');
	$num_rows = mysql_num_rows($results);
	while($wyn = mysql_fetch_assoc($results))
		{
			echo '<tr><td id="txt_kategoria">';
			echo 'Kategoria > '.$wyn['kategoria_glowna'].' > '.$wyn['kategoria_szczegolowa'].'<br>';
			echo $wyn['tytul'].'<br>';
			echo '</td></tr>';
			echo '<tr>
				<td>
				<table>
				<tr>
				<td style="height: 150px; width: 170px; color:#635344;border-bottom-color:red;" id="td_thumb">';
			echo '<img src="img/mov'.$wyn['sciezka'].$wyn['nazwa_pliku'].'.jpg" id="img_thumb" border="1">';
			echo '</td>
				<td width=480 id="txt_podstawowy">'.$wyn['opis'];
			echo '</td>
 

w czwartej linijce kodu od dołu wyświetlam obrazek na stronie i chciałbym żeby ten obrazek był linkiem do strony która w sposób szczegółowy będzie wyświetlała dane na temat danej pozycji książkowej. Ale w bazie ma ten rekord(odwołujący się do danej książki) wyszukiwać po polu "id"

Pytanie jest takie: jak i gdzie przy wyświetlaniu wyników zapytania zapisywać id kolejnych pozycji na liście ?
Mam jeden pomysł. żeby id zapisywać do tablicy i jeśli moje strony z wynikami będą wyświetlały 5 pozycji to stworzę 5 elementową tablicę i w każdym polu tablicy będę przechowywał id kolejnej pozycji w liście na stronie. ale później nie wiem jak wykorzystać tą tablicę w na innej stronie ?

przed chwilą próbowałem to zrobić przy użyciu tablicy ale jak wywołuję stronę z linku

<a href="index.php?gp=$i"></a>

gdzie i jest nazwą strony która ma być wywołana

pokazuje mi się błąd że zmienna nie jest widoczna

0

Nie wiem w czym problem. Może po prostu stwórz osobny plik php do wyświetlania szczegółowych danych o książce, a id pobieraj za pomocą $_GET z URL-a? Wtedy, przy wyświetleniu wyników na stronie głównej, dajesz np. takiego linka:

<a href="ksiazka.php?id=$wyn['id']"><img src="img/mov'.$wyn['sciezka'].$wyn['nazwa_pliku'].'.jpg" id="img_thumb" border="1"></a>

W pliku ksiazka.php dajesz zapytanie do bazy z klauzulą WHERE id=$_GET['id'] i wyświetlasz szczegółowe dane odnośnie danej książki.

0

tak jak radziłeś gienek
w pliku index.php dodałem kod

echo '<a href="szczegoly.php?id=$wyn['id']">link</a>';
 

a w pliku szczegoly.p wpisałem odpowiednie zapytanie ale już przy odpaleniu index.php wyrzuciło mi błąd

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\ścieżka dostępu\index.php on line 35 (czyli w tej w której znajduje się w/w kod PHP)
 
0

Jeżeli wyświetlasz w taki sposób, to musisz używać operatora konkatenacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1