Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie rekordów jako linków
Forum PHP.pl > Forum > Przedszkole
GLoo3
Witam.
Jako, że od niedawna uczę się MYSQL i PHP zwracam się do Was z pewną prośbą.

Pobrałem z pewnej strony skrypt wyświetlający eventy na osi czasu. Następnie dodałem do niego możliwość dodawania eventów oraz usuwania eventów przez strone. Próbowałem też dodać możliwość aktualizacji eventów. Prawie wszystko się udało, ponieważ gdy wchodzę w zakładkę aktualizacja to wyświetla mi się w pasku adresu adres: http://www.przyklad.pl/update.php jednak, aby edytować event muszę wejść na stronę z jego id. Czyli, aby edytować event o id 1 muszę wejść na taką stronę http://www.przyklad.pl/update.php?id=1. Chciałbym prosić was o pomoc w napisaniu skryptu, który będzie wyświetlał każdy rekord z bazy jako link update.php?id=(id eventu).
Tak wygląda napisany przeze mnie skrypt wyświetlania rekordów.

  1. <?
  2. include("dbinfo.inc.php");
  3.  
  4. mysql_connect($db_host,$user,$password);
  5. @mysql_select_db($database) or die("Nie znaleziono bazy danych");
  6. $query="SELECT * FROM timeline ";
  7. $result=mysql_query($query);
  8.  
  9. $num=mysql_numrows($result);
  10.  
  11.  
  12. echo "<b><center>timeline</center></b><br><br>";
  13.  
  14. $i=0;
  15. while ($i < $num) {
  16.  
  17. $id=mysql_result($result,$i,"id");
  18. $title=mysql_result($result,$i,"title");
  19. $date_event=mysql_result($result,$i,"date_event");
  20.  
  21.  
  22. echo "Id:<option><b>$id</b>&nbsp;&nbsp;&nbsp;Title: $title&nbsp;&nbsp;&nbsp;Event_date: $date_event<br>";
  23.  
  24. $i++;
  25. }
  26.  
  27. ?>


Proszę o pomoc. Z góry dziękuję.
pedro84
Kodu gotowego ode mnie nie dostaniesz, ale poczytaj o pętli while.
Wiktor P.
To o co pytasz nie jest trudne do zrobienia.

Najpierw pobierasz rekordy z bazy.
Nie widzę w twoim kodzie pętli while, tak jak to pisze pedro84.
Jedna rzecz - mysql_query nie zwraca rekordów.
Zwraca true/false dla zapytań UPDATE, DELETE, DROP (i kilku innych)
lub zasób/false dla zapytań SELECT, DESCRIBE, EXPLAIN (i kilku innych).
Muszisz więc pobrać zasób poprzez mysql_query(), a potem go odczytać.
Oto przykład:
  1. $a = "SELECT kolumna FROM tabela";
  2. $b = mysql_query($a);
  3. echo(int)$b; // Lepiej być pewnym, czy zapytanie jest poprawne. Wynik = 1 to dobrze, wynik = 0 to oczywiście złe zapytanie sql które się nie wykona.
  4.  
  5. while($rekord = mysql_fetch_array($b)) // Teraz dopiero czytamy rekordy z bazy
  6. {
  7. echo $rekord['kolumna'];
  8. echo '<a href=" '.$rekord['kolumna'].' ">link</a>'; // a tu tworzysz sobie link
  9. }


To wszystko.
Oprócz funkcji mysql_fetch_array() stosuje się też często mysql_fetch_row() i mysql_fetch_assoc(),
ale to już masz fajnie opisane w manualu
http://php.net.pl/manual/pl/index.php



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.