Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql][php] dynamiczna zmiana wartości pól formularza
b4rt3kk
post
Post #1





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Mam takie zapytanie do mysql, jednak nie to jest istotą mojego problemu, jednak zamieszczam cały fragment kodu. Oraz pętlę, która realizuje wczytywanie interesujących mnie danych z bazy i ich wypisanie, tu wszystko działa ładnie. Jednak chciałem do każdego newsa podpiąć komentarze, które rozpoznawane by były, tzn. które komentarze z bazy tyczą się którego newsa, po id newsa, który miał być pobierany z bazy przy każdym wykonaniu pętli, jak się jednak okazało, po wywołaniu każdego z linków wczytuje ten sam, czyli ostatni id. Jak zrobić, by grupa komentarzy podpięta do tego samego newsa miała nadane to samo idnews, a kolejna grupa komentarzy podpięta do kolejnego newsa miała już inne idnews.

W skrócie, klikam przycisk komentarzy od newsa1, to przekazywane jest id 1 (w celu dalszego zapisu w bazie), natomiast klikam komentarze pod news2, to otrzymuje id 2.
Kod
$zapytanie = "SELECT `topic`,`news`,`date`,`author`,`idnews` FROM `news`";
$idzapytania = mysql_query($zapytanie);
while ($wiersz = mysql_fetch_row($idzapytania))
{
$idnews=$wiersz[4];
echo "<form action=\"dodaj_komentarz.php\" method=\"POST\" name=\"dodaj_komentarz\">";
echo "<input type=\"hidden\" name=\"idnews\" value=\"$idnews\" />";
echo "<tr><td>";
echo $wiersz[0]."</td><td>".$wiersz[2]."</td></tr>";
echo "<tr><td colspan=\"2\">".$wiersz[1]."</td></tr>";
echo "<tr><td colspan=\"2\">".$wiersz[3]."</td></tr>";
echo "<tr><td colspan=\"2\"><a href=\"#\" onclick=\"dodaj_komentarz.submit()\">Komentarze ()</a></td></tr>";
echo "<form />";
}

Przepraszam, za 3 takie same tematy, myszke mam popsuta.

Ten post edytował b4rt3kk 2.04.2010, 11:01:43


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Do wywołania "panelu", w którym użytkownik będzie miał możliwość dodania komentarza nie musisz korzystać z formularza. Wystarczy przesłać id w adresie.
  1. $zapytanie = "SELECT `topic`,`news`,`date`,`author`,`idnews` FROM `news`";
  2. $idzapytania = mysql_query($zapytanie);
  3. while ($wiersz = mysql_fetch_row($idzapytania)) {
  4. $idnews=$wiersz[4];
  5. echo "<tr><td>";
  6. echo $wiersz[0]."</td><td>".$wiersz[2]."</td></tr>";
  7. echo "<tr><td colspan=\"2\">".$wiersz[1]."</td></tr>";
  8. echo "<tr><td colspan=\"2\">".$wiersz[3]."</td></tr>";
  9. echo "<tr><td colspan=\"2\"><a href=\"nazwa_pliku.php?id=" . $idnews . "\" >Komentarze ()</a></td></tr>";
  10. }
Przyjrzyj się linii 9. Wtedy dostęp do id masz z globalnej tablicy $_GET (dokładniej $_GET['id']) w pliku nazwa_pliku.php (ten plik powinien udostępniać nam formularz do dodawania komentarzy, w którym to używasz pola typu hidden z wartością (value) równą $_GET['id']).

A tak na przyszłość używaj (właściwego) BBCODE.
Go to the top of the page
+Quote Post
piotrooo89
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




proszę uzupełnić kod o odpowiedni bbcode. w przeciwnym razie temat zostanie zamknięty.


--------------------
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 Aktualny czas: 22.08.2025 - 07:55