Jump to content
php.lv forumi
  • 0

Pēc katra jauna pievienotā komentāra, iepriekšējos jāapdeito pievienoš


senters

Question

Pēc katra jauna pievienotā komentāra, iepriekšējiem komentāriem jāapdeito pievienošanas datums/laiks (date_created).

 

Centos vizualizēt shēmu, kādu lietoju pie komentāru pievienošanas konkrētam notikumam - http://screencast.com/t/RaGMdYlo

Viss strādā +/- ok, bet ja lietotājs pievieno komentāru, komentāra pievienošnas datums/laiks rādas "pirms 0 sekundēm" (jeb tā brīža datums/laiks), to AJAX failā iegūst no date_created 2011-12-05 xx:xx apstrādājot ar funkciju.

Uzreiz pievienojot nākamo komentāru, abiem rādas laiks pirms 0 sekundēm. Nav īsti skaidrs kā apdeitot iepriekšējiem komentāriem date_created vērtību.

Iepriekš biju jquery konfigā lietojis window location reload, ar ko pēc ajax datu atgriešanas norefrešoju lapu. Bet tas nav smuki, jo notiek lapas pārlāde.

Edited by senters
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Nu algoritms varētu būt sekojošs: liec visiem komentāriem pievienošanas lauku kādā elementā, span vai div. Tad pievienojot komentāru vienkārši pa ciklu izej visiem tiem laukiem un ar ajaksu saņem jaunus datus, noteikti, padomājot, var visus laikus dabūt vienā pieprasījumā un tad pa ciklu tikai salikt visiem komentāriem. Kā Tu atradīsi atbilstošos span, div, vai vēl kādus elementus, atkarīgs no struktūras, te varētu tikt izmantots geElementByTagName, ja šis tags tiek izmantots tikai komentāru laikiem, var to noteikt pēc lauka klases utt. Cik saprotu tiek izmantots jquery, tad atbilstoši getElementByTagName vietā izmanto jquery funkcijas, cik zinu ar jquery pēc klases elementus arī sameklēt var.

Edited by Maris-S
Link to comment
Share on other sites

  • 0

Šāda doma bija. Piešķirt <div'am> id="comment_created", kur pēc tam likt iekšā no JSON masīva saņemtos pievienošanas datumus.

 

$post ... {

$("#comment_created").html(data.<vērtība>);

}

 

Līdz šim ar json esmu atgriezis aptuveni šādu masīvu: (comment => komentara teksts , user => janis berzins , all_comment_count => 10)

Kā atgriezt visu komentāru datumus un tālāk tos smuki padot <divā> #comment_created?

 

Izskatās, ka būs jāatgriež json 2-dimensiju masīvs: http://stackoverflow.com/questions/2487841/jquery-parse-json-multidimensional-array

Edited by senters
Link to comment
Share on other sites

  • 0

Provēšu šo variantu (aptuveni piemetu):

 

 

ajax pusē
------------------------------------------------
sql = mysql("select * from user where id = $_SESSION['uid']");
$user = mysql_fetch_assoc($sql);
$user_name = $user['name'];
$user_surname = $user['surname'];

$comment_user = $user_name." ".$user;

sql = mysql_query("select * from comment where event_id = $e");
$comment = mysql_fetch_assoc($sql);
$comment_text = $comment['comment'];
$comment_created = $comment['date_created'];



echo json_encode(array("komentars" => array("komantars_teksts" => $comment_text, "komentars_pievienots" => $comment_created, "komentars_lietotajs" => $comment_user)));



rezultātu lapā:
------------------------------------------------
$.each(json.komentars, function(i, object) {
   $.each(object, function(property, value) {
       alert(property + "=" + value);
   });
});

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...