Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery][PHP], problem z przekazaniem wszystkich zmiennych
amar91
post 30.12.2008, 17:01:10
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.11.2008

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


Witam!
Od kilku dni próbuję rozwiązać pewien problem ale mi się nie udaje, więc postanowiłem poprosić tutaj o pomoc.
Do rzeczy, piszę skrypt który za pomocą jQuery i PHP odczytuje konkretną wiadomość ale bez przeładowania strony.
Skrypt w jQuery odczytuje znacznik "alt" w divie i zapisuje do zmiennej "id" następnie przekazuje do skryptu php który z bazy danych odczytuje wiadomość o danym id i dane powracają do skryptu jQuery.
Cały problem polega na tym, że gdy mam wyświetloną listę dajny na to 5 wiadomości jQuery odczytuje tylko znacznik "alt" z pierwszej wiadomości i klikajac na obojetnie którą wiadomość wyświetla się tylko pierwsza.

Tu daje kody:
1. to jest kod jQuery
CODE
$(document).ready(function(){
$("#bar2 div").click(function () {
var id = $("div#pole_list").attr("alt");
$.get("receive_variables.php", {func:"letter", id: id},

function(returned_data)
{
$("#pokaz").html(returned_data);
});
});
});


2. plik receive_variables.php(zbedne ale podam)
CODE
if($_GET['func'] == "letter") {

$wynik3 = mysql_query ("SELECT * FROM `letters` WHERE id='".$_GET['id']."' ;") or
die ("blad w pytaniu");

while ($rekord3 = mysql_fetch_assoc ($wynik3)) {
$id3 = $rekord3['id'];
$od_kogo3 = $rekord3['od_kogo'];
$tresc3 = $rekord3['tresc'];
$data3 = $rekord3['data'];
$temat3 = $rekord3['temat'];
$status3 = $rekord3['status'];


print ''.$od_kogo3.'';
print '';
print ("".$temat3."");
print $tresc3;

}
mysql_query("UPDATE `letters` SET status=1 WHERE id='".$_GET['id']."' ;") or die ("cos nie tyklo");




Mam nadzieje, że dobrze to opisałem i znajdzie się jakieś rozwiązanie.
Pozdrawiam!
Go to the top of the page
+Quote Post
erix
post 30.12.2008, 17:07:01
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kod
var id = $("div#pole_list").attr("alt");

Pokaż drzewko DOM, które znaczniki/identyfikatory się gdzie znajdują.

A podejrzewam, że masz nazwane kilka pól #pole_list. To błędny zapis, gdyż ID musi być unikalne w całym dokumencie.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
amar91
post 30.12.2008, 17:54:12
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.11.2008

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


Wygląda to mniej więcej tak.
div #pole_list powtarza się kilka razy, z w zależności od ilości wiadomości.

<div style="display: block;" id="bar2" class="menu"><p>
<div id="pole_list" alt="56"><div class="pole_tekstowe_list1">1</div>
<div class="pole_tekstowe_list2">jakis temat</div>
<div class="pole_tekstowe_list3">2008-12-30 12:12</div></div>
</p></div>
Go to the top of the page
+Quote Post
erix
post 30.12.2008, 18:04:51
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
div #pole_list powtarza się kilka razy

Jednak dobrze mi się wydawało.

Wbij sobie do głowy, gdyż o tym już wspomniałem: http://www.w3.org/TR/CSS21/selector.html#id-selectors

Cytat
The ID attribute of a document language allows authors to assign an identifier to one element instance in the document tree.

Atrybut ID języka dokumentu pozwala autorom przypisać identyfikator dla JEDNEGO ELEMENTU w drzewie dokumentu. Czyli nie wolno robić czegoś takiego:
Kod
<div id="asd"></div><div id="asd"></div>


Od czegoś takiego są klasy.

Odrób pracę domową, potem wróc.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bartg
post 30.12.2008, 19:21:28
Post #5





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

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


  1. <?php
  2. $(document).ready(function(){
  3. $("#bar2 div").click(function () {
  4. $("div#pole_list").each(function () {
  5. $.get("receive_variables.php", {func:"letter", id: this.id},
  6.  
  7. function(returned_data)
  8. {
  9. $("#pokaz").html(returned_data);
  10. });
  11.  
  12. });
  13. });
  14. });
  15. ?>

Tylko zamiast id daj clas


--------------------
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 11:43