Joomla 在不刷新的情况下从SQL中插入和删除


Joomla Insert and delete from SQL without refresh

有人可以帮助我吗?我尝试在不刷新页面的情况下发布 fomr,但表单只有在我尝试插入或删除时才正常工作。现在在一起。此示例有效,但是当我删除"//"时从 PHP 表单不会插入或删除到 SQL。有人可以帮助我吗?

仅当我从PHP关闭"如果"时才工作,例如

PHP
    function addToFav() {
     global $Itemid;
        $user =& JFactory::getUser();
        $db2 =& JFactory::getDBO();
        $mediaid = $_POST['addMediaId'];
        $delid = $_POST['delRow'];

当我从行中删除"//"时,这个地方出了点问题

//if(isset($_POST['submit2']) and $_POST['submit2'] == '1') {             
  $query = ' INSERT INTO `#__mediamall_favourite_media` (`id`, `userid`, `mediaid`) VALUES ("","'.$user->id.'","'.$mediaid.'")';
// }    
//elseif(isset($_POST['submit2']) and $_POST['submit2'] == '0') {     
//$query = ' DELETE FROM #__mediamall_favourite_media WHERE id = "'.$delid.'" '; 
//}  
if($query) {
   $db2->setQuery($query);
   $db2->query();
   mosRedirect('index.php?option=com_mediamall&task=viewdetails&id='.$mediaid.'&Itemid=' . $Itemid);
}
}

形式

<form action="index.php" method="post" id="myForm" onsubmit="return false">
<input type="hidden" name="option" value="com_mediamall" ></input>
<input type="hidden" name="task" value="addToFav" ></input>
<input type="hidden" name="addMediaId" value="<?php echo $media->id; ?>" ></input>
<input type="hidden" name="delRow" value="<?php echo $del->id; ?>" > </input>
<input type="submit" name="submit2" id="sub" value="<?php if($del->id) { echo '0'; } else { echo '1'; } ?>" ></input>
</form>

简讯

<script>

    $("#sub").click( function() {
      var url=$("#myForm").attr("action");
      $.post(url, $("#myForm :input").serializeArray(),function(){
          var val=$("#sub").val()== 1 ? 0 : 1;// toggle value of submit for insert or delete
        $("#sub").val(val);
      });  
    }); 

    </script>

你应该使用 ajax。http://api.jquery.com/jQuery.ajax/如果您不想刷新页面