Ben bir php komut dosyası ajax bir veritabanında saklanır bazı içerik göndermek için çalışıyorum. Ben jQuery framework kullanıyorum. Ben bilgi göndermek için bir sayfadaki bir bağlantıyı kullanmak istiyorum. Ben sorun bilgi gönderebilir ve alabilir işlevi yazma yaşıyorum, ben denedim her şey asimptotik olduğunu.
EDIT The idea is that the user will click the link, and a coulumn called "show_online" (a tiny int) in a table called "listings" will update to either 1 or 0 (**a basic binary toggle!) On success, specific link that was clicked will be updated (if it sent a 1 before, it will be set as 0).
EDIT Bir sayfada bu bağlantıların 20-30 olacak. Ben benzersiz bir kimliği ('Onlinestatus') ile her içeren div belirledik. Doğrusu her örneği için ayrı bir js işlevi olmazdı.
Herhangi bir yardım çok takdir edilmektedir. Gerekli kod aşağıda.
<script type="text/javascript">
function doAjaxPostOnline( shouldPost, bizID ){
load("ajaxPostOnline.php?b='+bizID+'&p='+shouldPost", jsonData, callbackFunction);
function callbackFunction(responseText, textStatus, XMLHttpRequest)
{
// if you need more functionality than just replacing the contents, do it here
}
}
}
</script>
<!-- the link that submits the info -->:
<div id='onlineStatus<?php echo $b_id ?>'>
<a href='#' onclick="doAjaxPostOnline( 0, <?php echo $b_id ?> ); return false;" >Post Online</a>
</div>
ajaxPostOnline.php
<!-- ajaxPostOnline.php ... the page that the form posts to -->
<?php
$id = mysql_real_escape_string($_GET['b']);
$show = mysql_real_escape_string($_GET['p']);
if( $id && ctype_digit($id) && ($show == 1 || $show == 0) ) {
mysql_query( "UPDATE listing SET show_online = $show
WHERE id = $id LIMIT 1" );
}
if($result) {
if($show == '0'){
$return = "<a class='onlineStatus' href='#' onchange='doAjaxPostOnline( 1, <?php echo $b_id ?> ); return false;' >Post Online</a>";
}
if($show == '1'){
$return = "<a class='onlineStatus' href='#' onchange='doAjaxPostOnline( 0, $b_id ); return false;' >Post Online</a>";
}
print json_encode(array("id" => $id, "return" => $return));
}
?>