Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie z bazy.
Forum PHP.pl > Forum > Przedszkole
-olek-
Witam pobieram z bazy pare rekordow, i obok kazdego pobranego reokordu jest submit. Chcialbym zebym przy zapytaniu do bazy, czyli where id bylo rownego temu id, obok ktorego nacisnalem submit. Jest to mozliwe?
kondziu9516
Nie do końca jasno rozumiem problem...
Ale poszukaj coś w moich tematach...
Tam miałem pobieranie z bazy i usuwanie itp...
untorched
Nie określiłeś jaka to baza danych, właściwie nic nie nakreśliłeś, więc mogę Ci odpowiedzieć, że można. A jak to będzie wyglądać? W przypadku MySQL:
  1. <?php
  2.  
  3. $conn = mysql_connect();
  4.  
  5. $q = mysql_query();
  6.  
  7. while($row = mysql_fetch_assoc($q))
  8. {
  9. echo '<form method="GET" action="plik.php"><input type="hidden" name="id" value="'.$row['id'].'">'.$row['tekst'].' <input type="submit" name="submit" value="submit"></form><br>';
  10. }


W pliku plik.php wartość id klikniętego rekordu otrzymasz w zmiennej $_GET['id']
-olek-
Pobieram z bazy mysql wyniki tak jak napisałeś.

TEKST1 [Submit name="submit"]
TEKST2 [Submit name="submit"]
TEKST3 [Submit name="submit"]
TEKST4 [Submit name="submit"]

I teraz sprawdzam czy został wciśniety submit. No i chciałbym pobrać ID przy którym został naciśniety submit. Czy porzy tekście1, czy przy tekście4.

untorched
Patrz..
  1. <?php
  2.  
  3. $id = (isset($_GET['id']) ? $_GET['id'] : FALSE);
  4. if($id !== FALSE)
  5. {
  6. echo 'Wcisnąłeś submita przy rekordzie <b>'.$id.'</b>. Magia prawda?<hr>';
  7. }
  8.  
  9. $conn = mysql_connect();
  10.  
  11. $q = mysql_query();
  12.  
  13. while($row = mysql_fetch_assoc($q))
  14. {
  15. echo '<form method="GET"><input type="hidden" name="id" value="'.$row['id'].'">'.$row['tekst'].' <input type="submit" name="submit" value="submit"></form><br>';
  16. }


Magia, prawda?
IceManSpy
Nie czaruj tak, bo jeszcze Ci trochę brakuje wink.gif
Po co robić pole hidden, skoro GETem wysyłasz?

Nie łatwiej zrobić dla każdego rekordu zwykły link na takiej zasadzie: <a href="usun_rekord?id=<?php echo $row['id']; ?>">Usuń rekord</a>, a potem w usun_rekord.php odebrać zmienną GET i zrobić rekordem co się chce (przy okazji sprawdzając, czy dany rekord istnieje w bazie, czy ID jest liczbąitd)?
untorched
Oj, z tą magią to taki żarcik wink.gif Co do pole hidden, to w zamyśle było użycie metody POST, lecz z pośpiechu wcześniej wpisałem GET, a później nie chciałem już mieszać, bo pewnie nawet nie zauważyłby zmiany. Ale dlaczego hidden? Bo jakbyś zauważył on chciał wykorzystać submity, a użycie hidden chyba jest najprostsze przy użyciu także submita.

Nawiązując do twojego "ułatwienia"... Dla mnie jest to tylko bezsensowne tworzenie dodatkowych plików. Stworzyć kilka funkcji w jednym pliku, odebrać GET'em akcję i wywołać odpowiednią funkcję i już. Po co udziwniać w miliony plików? Później widziałem przypadki skryptów, gdzie w jednym folderze było bardzo dużo, właściwie niepotrzebnych plików.. No cóż, jednym to ułatwi życie, innym nie..
IceManSpy
Ok, możesz trzymać wszystko w jednym pliku - dodawanie, edycję, usuwanie, podgląd i inne. A potem takie coś wychodzi:
Temat: MySQLPHP Edytowanie rekordu w bazie ze strony
Niech jeden plik odpowiada za jedną rzecz.

Równie dobrze może wskazać na ten sam plik w linku, w którym jest spis, podając parametr GETem. Nie musi bawić się wtedy w formularz i submity.
-olek-
Działa, zrozumiałek istote buttona hidden. A że GET nie szkodzi, używam POST, więc tylko ten button hidden wkleiłem
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.