Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Przesłanie ID po kliknięciu w link do tej samej strony
shemko
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 15.04.2012

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


Witam, mam problem. Jak przesłać numer ID po kliknięciu w dany wpis, który pojawia się w tym samym oknie przez skrypt JQuery "overlay" ?

kod z linkiem:
  1. <div class="foto" style="color:#000"><a data-overlay-trigger href="#!?id='.$wiersz['id'].'"><img src="zdjecia/'.$wiersz['photos'].'" style="margin-top:5px; margin-bottom:5px; width:250px"></a></div></div>';


Próba odebrania numeru ID z GET:
  1. $sql3 = 'SELECT * FROM `notes` WHERE id = '.$_GET['id'].'';


Wyskakuje komunikat : "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u698940803/public_html/index.php on line 173"

Może można jakoś zrobić że po kliknięciu w dany wpis jego numer ID będzie dodawany do jakiejś zmiennej?

Ten post edytował shemko 19.01.2015, 16:48:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
patry6123
post
Post #2





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 4.12.2014

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


Jaki Ci wyświetla link? Bo href="#!?id=coś_tam' wygląda dość dziwnie. Raczej bym to zrobił href="?id=coś_tam".
Go to the top of the page
+Quote Post
shemko
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 15.04.2012

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


Ten link:

  1. <a data-overlay-trigger href="#!?id='.$wiersz['id'].'">


Wczytuje skrypt JQuery z "overlay" który wyświetla zawartość divów poniżej. w małym okienku a resztę strony przyciemnia:

  1. <div class="overlay">
  2. <div class="modal">
  3.  
  4. zawartość
  5.  
  6. </div>
  7. </div>


Może kwestia użycia innego skryptu z overlay? W najgorszym wypadku mogę zrobić wpis w odzielnej stronie .php i wysyłać ID za pomocą post i get.

Pozmieniałem trochę <a href="#!"> i mniej więcej wiem na czym polega problem. Jeśli usunę # to jest problem z wyświetlaniem okienka overlay (pojawia się i od razu znika). Za to wtedy ID jest przesyłane dopiero za drugim kliknięciem (pierwsze wpisuje ID do adresu, drugie zostaje wczytane do funkcji GET). Chciałem aby wpisy wyświetlały się tak jak zdjęcia na facebooku, instagramie itd. bez robienia kolejnej podstrony do przeglądania wpisów.
Go to the top of the page
+Quote Post
patry6123
post
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 4.12.2014

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


Jak to działa? Bo przecież w JS-ie nie odwołasz się do bazy więc musisz mieć jakiegoś $posta i skrypt który to zwraca. Opisz jak to dokładnie robisz bo ja nie kumam.
Go to the top of the page
+Quote Post
shemko
post
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 15.04.2012

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


Działa to na zasadzie że ściągnąłem gotowy skrypt JQuery to wyświetlania okienka overlay. Skrypt wywołuje okienko i przyciemnia stronę kiedy kliknie się link: <a data-overlay-trigger href="#!">. Zawartość okienka jest określona między dwoma divami które znajdują się na tej stronie (zawartość divów uwidacznia się dopiero po kliknięciu. Inaczej są niewidoczne na stronie mimo, że się na niej znajdują).

Do tego skryptu chciałem wykorzystać z wcześniejszego projektu metodę przekazywania ID za pomocą adresu przeglądarki komendą post i get. Niestety chyba z racji, że zawartość wyświetlanego okna znajduję się na tej samej stronie co link to całość nie działa. Może da radę przekazać do okienka overlay jakoś inaczej informacje o ID?



Go to the top of the page
+Quote Post
rad11
post
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


  1. <div class="foto" style="color:#000"><a data-clicked="false" data-id="'.$wiersz['id'].'" data-overlay-trigger href="#!?id='.$wiersz['id'].'"><img src="zdjecia/'.$wiersz['photos'].'" style="margin-top:5px; margin-bottom:5px; width:250px"></a></div></div>';

  1.  
  2. $('.foto a').on('click', function(){
  3.  
  4. $(this).attr('data-clicked', 'true');
  5. $('.foto').children().attr('data-clicked', 'false');
  6.  
  7. });
  8.  


W okienku gdzie masz otiwerasz modal dobierz sie w taki sposob:
  1.  
  2.  
  3. var id = $('.foto').find('a[data-clicked="true"]').attr('data-id');
  4. console.log(id);
  5.  
  6.  
  7.  


Powinno dzialac.

Ten post edytował rad11 20.01.2015, 11:43:38
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 15:11