javascript条件不适用于sql

javascript条件不适用于sql,javascript,php,mysql,sql,Javascript,Php,Mysql,Sql,如果条件在其他情况下也有效 <script type="text/javascript"> var r=confirm("Do you want to Delete ?"); //alert(r);if (r==true){ alert("You pressed OK!"); document.write("<?php $conn = Yii::app()->db; ?>"); document.write("<?php $sql1 = "DELETE FRO

如果条件在其他情况下也有效

<script type="text/javascript">
var r=confirm("Do you want to Delete ?");
//alert(r);if (r==true){ alert("You pressed OK!"); document.write("<?php $conn = Yii::app()->db; ?>"); document.write("<?php $sql1 = "DELETE FROM `table_name` WHERE c_id=$c_id"; ?>");
 document.write("<?php echo $sql1; ?>"); document.write("<?php $command=$conn->createCommand($sql1); ?>"); document.write("<?php $command->execute(); ?>");                             
}else { alert("You pressed Cancel!");history.go(-1); }
</script>

var r=确认(“是否要删除?”);
//警报(r);如果(r==true){alert(“您按下了OK!”);document.write(“”);document.write(“”);
document.write(“”);document.write(“”);document.write(“”);
}else{alert(“您按了取消!”);history.go(-1);}

PHP是一种服务器端语言。您正在从客户端JavaScript生成PHP代码。浏览器只会将其呈现为(无效)HTML。

检查PHP命令:

$command=$conn->createCommand($sql1);  // This return "echo" command?

$command->execute(); // And this?
试试这个:

document.write("<?=$sql1?>"); 
document.write("<?=($command=$conn->createCommand($sql1) ? 'SQL created with success!' : 'SQL fail')?>"); 
document.write("<?=($command->execute()?'SQL executed with success!' : 'SQL command fail')?>");
document.write(“”);
文件。填写(“”);
文件。填写(“”);

PHP用于服务器端功能。javascript允许客户端的页面以更简单的方式与服务器交互。完成您要做的事情的更好方法是通过javascript发布到php,并让php函数处理数据和事务

这是非常糟糕的代码实践。我不想谈细节问题,但真的很糟糕

下面大致是它应该/可能的样子:

JQuery(比javascript简单得多)::


这不是一个完美的例子,但它将有助于代码可读性和更好的代码实践。如@user574632所述。php和javascript不能像那样很好地工作。很多时候,我们使用php获取动作的url,但是“工作”应该由php在控制器动作中完成。

您需要了解每种语言何时执行(服务器上先执行php,客户端中先执行javascript),javascript和php不是这样工作的。此外,您还注释掉了if语句。
$(document).on('click',$('#someUniqueButtonID'),function(){
    var r = confirm('are you sure?');
    if(r){
        $.post(<?php echo #URL_for_controller/function ?>,#DATA_TO_SEND,function(status){
            alert('your Query was' + status);
            //What you want to do after                  
        });
    }
})
function Delete($id) {
    $sql1 = "DELETE FROM `table_name` WHERE c_id=$id";
    $command = Yii::app()->db->createCommand($sql1)->execute();
    echo "Successful";
}