【问题标题】:How can i write php and javascript mix我如何编写 php 和 javascript 混合
【发布时间】:2016-02-03 05:50:08
【问题描述】:

这是一个php页面

echo '<script>
            function myFunction() {

                if (confirm("Are you sure you want to delete Advertiser ID : '.$advr_id.', This advertiser has campaign also!") == true) 
                {'.
                    while ($row_camp = mysql_fetch_array($result))
                    {
                        $camp_id = $row_camp["camp_id"];
                    }

                .'}
                  else{};
            }
       </script>';

我在 while 之前和之后遇到错误。如何连接它们?

【问题讨论】:

  • 您做错了,您不能将服务器端脚本与客户端脚本功能混合使用。您可以查看此question 以获得最佳实践(通过将其存储到脚本中的某个数组然后使用它)。
  • 解析错误:语法错误,意外'while' (T_WHILE)
  • 不能:Java Script 运行在您计算机上的浏览器中,而 php 运行在 Web 服务器端。
  • 他将 PHP 变量分配给侧 javascript 中的值是什么意思。您甚至没有使用在 while 循环中为您的 javascript 分配的变量。
  • 你不能在循环中回显。

标签: javascript php


【解决方案1】:

我不明白为什么投反对票,这是学习 PHP JS 堆栈时的常见错误。

无论如何,我认为您需要了解 PHP(后端)和 Javascript(前端)如何交互。

长话短说,您的 if javascript 代码应该向您的后端服务器发送一个全新的请求(使用 ajax 或使用 html 的简单 http 请求,您知道,一个表单和一个提交按钮)并让您的 @987654324 @PHP代码做数据库删除。

更新

这是一个非常基本的例子

view.php

<script type="text/javascript">
    function myFunction() {
        var x;
        if (confirm("Are you sure you want to delete Advertiser ID : '<?php echo $advr_id; ?>.', This advertiser has campaign also!") == true) {
            window.location = '/delete.php?id=<?php echo $advr_id; ?>';
        } else {
            x = "You pressed Cancel!";
        }
    }
</script>

删除.php

<?php

$advr_id = $_GET['advr_id'];
// delete from database

【讨论】:

  • 可能他不是这个需要但需要` 简单地在 html 中打印一个 javascript 女巫将在客户端运行?
  • @Mitch 好吧,如果他真的需要向用户显示 $advr_id 作为确认,我不明白为什么不这样做
  • 做什么,是他的代码。可能是你好想显示x='some text' 但他还不知道
【解决方案2】:

可能是这种模式,可能是我错过了一些变量,但这就是想法 试试这个,因为我改了

PHP

 <?php
 ?>
   <script>
        function myFunction() {
            var x;
            if (confirm("Are you sure you want to delete Advertiser ID : <?php echo $advr_id; ?>, This advertiser has campaign also!") == true)  

  {
             <?php echo 'x="ok"; alert(x);';
        /* while ($row_camp = mysql_fetch_array($result))
                {
                    $camp_id = $row_camp["camp_id"]; //but may be echo something here is need?
                }*/ 
      ?>

            } else {
                x = "You pressed Cancel!"; alert(x);
            }
        }
    myFunction();
   </script>

【讨论】:

  • 我删除了while循环并在该php部分回显“Hello”它不起作用。
  • 我刚刚编辑,用 echo "Hello" 删除了 while 部分;检查它是否工作。
  • @M Talha Afzal 好吧,现在当您将网页和数据库编码设置为 utf-8 时,这里有什么不起作用?
猜你喜欢
  • 1970-01-01
  • 2011-01-05
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-03
相关资源
最近更新 更多