Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/mysql]Wyświetlanie poszczególnych rekordów z bazy
wert1
post 4.04.2007, 07:53:27
Post #1





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 22.03.2007
Skąd: localhost

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


Witam,
(podaję źródło mojej stronki)
  1. <?php 
  2. // Ta strona wyświetla adresy URL zapisane w bazie danych.
  3.  
  4. // Ustawienie tytułu strony i dołączenie nagłówka HTML.
  5. $page_title = 'Przeglądanie adresów URL';
  6. include ('./includes/header.html');
  7.  
  8. require_once ('../mysql_connect.php'); // Nawiązanie połączenia z bazą danych.
  9.  
  10. // Tworzenie formularza pozwalającego wybrać kategorię adresów URL
  11. echo '<div align="center">
  12. <form method="get" action="view_urls.php">
  13. <select name="type">
  14. <option value="NULL">Wybierz kategorię:</option>
  15. ';
  16.  
  17. // Pobieranie i wyświetlanie dostępnych kategorii.
  18. $query = 'SELECT * FROM url_categories ORDER BY category ASC';
  19. $result = mysql_query ($query);
  20. while ($row = mysql_fetch_array ($result, MYSQL_NUM)) {
  21. echo "<option value="$row[0]">$row[1]</option>
  22. ";
  23. }
  24.  
  25. // Zakończenie formularza.
  26. echo '</select>
  27. <input type="submit" name="submit" value="Przejdź">
  28. </form>
  29. </div>
  30. ';
  31.  
  32. // Pobieranie adresów URL należących do określonej kategorii (jeśli ją wybrano).
  33. // Sprawdzanie, czy typ jest liczbą całkowitą.
  34. if (isset($_GET['type'])) {
  35. $type = (int) $_GET['type'];
  36. } else {
  37. $type = 0;
  38. }
  39.  
  40. if ($type > 0) {
  41.  
  42. // Pobieranie nazwy bieżącego typu.
  43. $query = "SELECT category FROM url_categories WHERE url_category_id=$type";
  44. $result = mysql_query ($query);
  45. list ($category) = mysql_fetch_array ($result, MYSQL_NUM);
  46.  
  47. echo "<hr /><div align="center"><b>Łącza z kategorii: $category</b><br />
  48. <small>(Wszystkie łącza zostaną otwarte w oddzielnych oknach. Niedawno dodane łącza
     są wyświetlane jako pierwsze).</small></div>n"
    ;
  49.  
  50. $first = TRUE; // Inicjalizacja zmiennej.
  51.  
  52. // Wysyłanie zapytania do bazy danych.
  53. $query = "SELECT u.url_id, url, title, description FROM urls AS u, url_associations A
    S ua WHERE u.url_id = ua.url_id AND ua.url_category_id=$type AND ua.approved = 'Y' ORDER BY date_submitted DESC"
    ;
  54. $result = mysql_query ($query);
  55.  
  56. // Wyświetlanie wszystkich adresów URL.
  57. while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
  58.  
  59. // Jeśli jest to pierwszy rekord, trzeba utworzyć nagłówek tabeli.
  60. if ($first) {
  61. echo '<table border="0" width="100%" cellspacing="3" cellpadding="3" align="center">
  62. <tr>
  63. <td align="right" width="40%"><font size="+1">Łącze</font></td>
  64. <td align="left" width="50%"><font size="+1">Opis</font></td>
  65. <td align="center" width="10%"> </td>
  66. </tr>';
  67. $first = FALSE; // Pierwszy rekord został zwrócony.
  68. } // Koniec instrukcji IF $first.
  69.  
  70. // Wyświetlanie rekordów.
  71. echo " <tr>
  72. <td align="right"><a href="http://{$row['url']}" target="_new">{$row['title']}</a></td>
  73. <td align="left">{$row['description']}</td>
  74. <td align="center"><a href="edit_url.php?uid={$row['url_id']}">edytuj</a></td>
  75. </tr>n";
  76.  
  77. } // Koniec pętli while.
  78.  
  79. // Jeśli żadne rekordy nie zostały wyświetlone...
  80. if ($first) {
  81. echo '<div align="center">Obecnie nie ma żadnych łączy należących do tej kategorii.</div>';
  82. } else {
  83. echo '</table>'; // Zamykanie tabeli.
  84. }
  85.  
  86. } // Koniec instrukcji warunkowej $_GET['type'].
  87.  
  88. mysql_close(); // Zamknięcie połączenia z bazą danych.
  89. include ('./includes/footer.html');
  90. ?>

To jest strona do wyświetlania rekordów z bazy.

Moje pytanie polega na tym:
Jak zrobić żeby wyświetlał się tylko jedna opcja z tej kategori a nie wszystkie questionmark.gif?
Z góry dziękuje za pomoc
Wiktor Meissner


--------------------
"Homo sum, humani nihil a me alienum puto."
"Necessitas ultimum et maximum telum est."
"Ventem seminabunt et turbinem metent."
"Gallia est omnis divisa in partes tres..."
Go to the top of the page
+Quote Post
JaRoPHP
post 4.04.2007, 10:02:15
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Cytat(wert1 @ 4.04.2007, 06:53:27 ) *
Jak zrobić żeby wyświetlał się tylko jedna opcja z tej kategori a nie wszystkie questionmark.gif?
Z tej, czyli której smile.gif.
Wystarczy w odpowiednim zapytaniu SQL (wybierającym opcje z 'tej' kategorii) dodać klauzulę LIMIT:
Cytat
The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments, which must both be non-negative integer constants (except when using prepared statements).

With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return. The offset of the initial row is 0 (not 1):
  1. SELECT * FROM tbl LIMIT 5, 10; # Retrieve rows 6-15

With one argument, the value specifies the number of rows to return from the beginning of the result set:
  1. SELECT * FROM tbl LIMIT 5; # Retrieve first 5 rows
In other words, LIMIT row_count is equivalent to LIMIT 0, row_count.


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
wert1
post 4.04.2007, 12:50:35
Post #3





Grupa: Zarejestrowani
Postów: 175
Pomógł: 2
Dołączył: 22.03.2007
Skąd: localhost

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


w tabeli mam pole url_id i każdy wpis ma inną wartość w tym polu
jak wpisać w php żeby wyświetlało tylko np. 1 (url_id) a nie wszystkie?questionmark.gif?


--------------------
"Homo sum, humani nihil a me alienum puto."
"Necessitas ultimum et maximum telum est."
"Ventem seminabunt et turbinem metent."
"Gallia est omnis divisa in partes tres..."
Go to the top of the page
+Quote Post
uli
post 4.04.2007, 13:57:17
Post #4





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


  1. SELECT * FROM tbl WHERE url_id=1


tbl - odpowiednia tabela


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.07.2025 - 08:03