Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][MySQL][PHP] Przekazywanie zmiennej do pliku
Terrorizer
post
Post #1





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


Cześć,

Wciąż usiłuję stworzyć coś w rodzaju przycisku Like na stronie.
Sporo czytałem o ajaxie i generalnie mam wizję jak to zrobić, o ile nie zrozumiałem czegoś źle.

Posiadam pętlę wyświetlającą zdjęcia z bazy i wygląda ona tak:
  1. $allphotos = mysql_query("SELECT * FROM photos");
  2. while ($numphotos = mysql_fetch_assoc($allphotos)){
  3. echo "<div class='thisphotobox'><div class='photouser'>" . "Dodał:<a href=' " . $numphotos['user'] . "' class='proflink'> ".$numphotos['user']."</a></div>";
  4. echo "<div class='photodate'>" . $numphotos['date'] . "</div>";
  5. echo '<img src="'.$numphotos['link'].'" alt="photo" class="photolink" align="middle">';
  6. echo '<div class="guziktak"><img src="gfx/guzik tak.png" alt="guzik" onclick="ajaxvotelike()"></div>';
  7. echo '<div class="guziknie"><img src="gfx/guzik nie.png" alt="guzik" onclick="ajaxvotedislike()"></div></div><br>';

Jak pewnie zauważyliście dodałem do guzików przeznaczonych do głosowania funkcję onclick, która odwołuje się do funkcji ajaxowej która wygląda tak:
  1. <script>
  2. function ajaxvotelike(){
  3. xmlhttp.open("GET","ajaxlike.php",true);
  4. xmlhttp.send();
  5. }
  6. </script>
  7. <script>
  8. function ajaxvotedislike(){
  9. xmlhttp.open("GET","ajaxdislike.php",true);
  10. xmlhttp.send();
  11. }
  12. </script>

Teraz stworzyłem pliki nazwane ajaxlike i ajaxdislike na serwerze, w których chciałbym umieścić skrypt php zapisujący polubienie do bazy.
O ile moje zrozumienie ajaxa w ogóle jest logiczne i poprawne....
Chciałbym was zapytać, w jaki sposób w jednym z tych plików ajaxlike i ajaxdislike odnieść się do konkretnego zdjęcia?
Na głównej stronie, gdzie istnieje pętla i funkcje stworzyłem zmienną w której zawarte jest ID fotki, czy mogę jakoś przesłać wartość zmiennej do pliku ze skryptem php?

Ten post edytował Terrorizer 8.09.2014, 19:17:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Terrorizer
post
Post #2





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


Hmm dalej to nie działa... Klikam na przycisk i nic się nie dzieje
Przycisk wygląda tak:
  1. echo '<div class="guziktak"><img src="gfx/guzik tak.png" alt="guzik" onclick="ajaxvotelike($photoid)"></div>';

funkcja tak:
  1. function ajaxvotelike($photoid) {
  2. xmlhttp.open("GET", "ajaxvotelike.php?id=" + $photoid, true);
  3. xmlhttp.send();
  4. }

a skrypt ajaxvotelike.php działa poprawnie, ponieważ wklepując ręcznie do przeglądarki np. ajaxvotelike.php?id=10 dodają się lajki

EDIT:
Zmienna photoid istnieje wewnątrz pętli while, która wyświetla mi zdjęcia z bazy danych. Natomiast funkcja jest w skrypcie ajaxowym w headzie strony
Czytając o zasięgu zmiennych wpadłem na pomysł ,że może być to zmienna lokalna, która nie sięga do skryptu java script.
Muszę jeszcze poczytać jak sobie z tym poradzić ale myślę ,że to dobry trop.
Próbowałem dopisać przed zmienną słowo "global" jednak to niczego nie zmienia

EDIT2:
Hmmm... Przecież zmienne w javascript oznacza się jako Var a nie $
Natomiast debugger chromowy pokazuje mi unexpected token var. Ja już nie wiem co zrobić (IMG:style_emoticons/default/haha.gif)

Ten post edytował Terrorizer 9.09.2014, 03:14:39
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.10.2025 - 01:19