使用ajax从三个不同的表中删除数据

时间:2014-04-11 11:46:58

标签: php jquery ajax yii

我在Yii实施了一个项目。我想使用ajax函数从表中删除数据。

在我的控制器中我写了这个:

public function actionDelete1(){
    if (isset($_POST['x1']) && isset($_POST['r_id'])) {
        $hid=$_POST['x1'];
        $rid=$_POST['r_id'];

        echo $_POST['x1'].'recipe_id'.$_POST['r_id'];

        $query="delete from ingredients  where ingredienttype_id='$hid'";
        $query1=Yii::app()->db->CreateCommand($query)->execute();

        $this->redirect(array('recipe/update','id'=>$rid));
    }

}

在我看来的部分:

<script>
function removeRow1(x,y){    
    alert("Are sure want to delete");

    $.ajax({
        url: '<?php echo Yii::app()->createAbsoluteUrl("ingredients/delete1"); ?>',
        type: 'POST',
        data: 'x1='+x+'&r_id='+y,
        success: function(res)
        {
            //alert(res);
            ////$("#truth").html(res);
        },
        error:function(){
            alert("Failed request data from ajax page");
        }
    });    
}
</script> 

我用一行显示这三个表数据:

<td id="data">
    <?php 
        echo $i++; 
    ?>
</td>
<td id="data">
    <?php  
        $type=Ingredienttype::model()->find("id=$type_id");
        echo $type['ingredient_type'];  
    ?>
</td>
<td id="data">
    <?php 
        $type1=Ingredient::model()->find("ingredient_id=$ingredient_id"); 
        //echo $ingredient_id;
        echo $type1['ingredientname']; 
    ?>
</td>
<td id="data">
    <?php 
        echo $quantity; 
    ?>
</td>
<td id="data">
    <?php 
        $mes_type=Measuringtype::model()->find("id=$measuringtype");
        echo  $mes_type['measuringname']; 
    ?>
</td>

<input type="button" id="<?php echo $type_id; ?>" name="doesntMatter" class="REMOVETHIS btn btn-inverse btn-xs" 
                value="Del" onclick="removeRow1(this.id,<?php echo $model->recipe_id ?>)"/></td>

它不起作用。请建议我如何使用ajax删除ID。

1 个答案:

答案 0 :(得分:1)

首先你有

$query="delete from ingredients  where ingredienttype_id='$hid'";

尚未定义$hid

您会使用$hid还是$rid

其次,使用ajax发送params,数据应该是一个对象,我不知道它是否适用于字符串。所以可以肯定的是,尝试使用如下对象

  $.ajax({
  url: '<?php echo Yii::app()->createAbsoluteUrl("ingredients/delete1"); ?>',
  type: 'POST',
  data: {'x1':x,'r_id':y},
  success: function(res)
  {
    //----