od pewnego czasu borykam się z dość trudnym dla mnie problemem, na którego rozwiązanie nie mam już pomysłów.
Co chcę zrobić?
Otóż chcę pobrać z bazy danych "tytuły", wyświetlić je na stronie i po podwójnym kliknięciu (tutaj operowanie na jQuery) tekst zamieniany jest w input textbox z tą wartością, co chcę zmienić. Co dalej? Dalej zmieniam "tytułu" i chcę ją "nadpisać" w bazie danych. To wszystko mam.
Co mi nie działa?
Dobra, wszystko pobrałem, w jQuery pokazuje się textbox z zawartością, ale przy próbie nadpisania w bazie danych nadpisuje tylko ostatni rekord. Gdziekolwiek bym tego tytułu nie zmienił - to zamienia on ostatni rekord.
Co mam?
W
<input name='id' type='hidden' value='" + id +"' />
Oczywiście wcześniej zadeklarowałem zmienną:
var id = "{$id}";
Cały kod jQuery:
$(function () { $(".title").dblclick(function (e) { e.stopPropagation(); var currentEle = $(this); var value = $(this).html(); var id = "{$id}"; console.log("Wartość zmiennej id to:" + id); }); });
<JS> Konsola przeglądarki wyrzuca "Wartość zmiennej id to: [tutaj jest liczba wszystkich rekordów".
<PHP> Przypisanie zmiennej $id (w PHP działa bez zarzutów):
$id = $row['id'];
I w zmiennej do wyświetlania rekordów z bazy danych oczywiście mam diva z klasą "title".
Teraz PHP.
Z zapytania do bazy danych (jest ono prawidłowe, to jest pewne) chcę pobrać ID (zaznaczam, że przy numeracji po ID, np.:
- Przyklad 1
- Przyklad 2
wszystko działa)
Natomiast, gdy chcę to zrobić to, o czym wcześniej pisałem to input z ID ma value non stop liczbę wszystkich rekordów.
Potem.
Zapytanie, które nadpisze mi tytuł dla wybranego ID:
UPDATE el_article SET `title` = '" . $_POST['newTitle'] . "' WHERE `id` = '" . $_POST['id'] . "';
Wcześniej sprawdzając czy istnieje 'submit':
----------------------------------------------------
Opisałem problem, mam nadzieję, że dość szczegółowo.
1) Uprzejmie prosiłbym o jakieś nakierowanie, coś może źle robię.
2) Czy jest możliwość, aby zamiast Double Clicka odbywało się to metodą "przytrzymania" przycisku myszy na elemencie.
Pozdrawiam, Mateusz.
Ma ktoś może pomysł? Podbijam wątek.