【问题标题】:Javascript, PHP and MySQL relationsJavascript、PHP 和 MySQL 的关系
【发布时间】:2014-09-29 02:24:48
【问题描述】:

我目前正在做一个小项目,我只是意识到我认为它会起作用的方式实际上不会起作用,因为 JavaScript 变量不能那么容易地发送到 PHP。

我有一个充满成员的数据库,每个成员都有一个从 0 到 x 的 id(让我们说 x = 10),我想使用 JavaScript for 循环来迭代并轻松创建所有内容。

基本上,最终产品应该如下(除非它说id = 0,每个条目都会有所不同)

<tr>
    <td><?php echo mysql_fetch_assoc(mysql_query("SELECT name FROM squad WHERE id = 0"))['name'] ?></td>
    <td><?php switch(mysql_fetch_assoc(mysql_query("SELECT rank FROM squad WHERE id = 0"))['rank']){case 3:echo 'Lieutenant';break;case 2:echo 'Soldier';break;default:echo 'Private';} ?></td>
    <td><?php echo number_format(mysql_fetch_assoc(mysql_query("SELECT power FROM squad WHERE id = 0"))['power']); ?></td>
    <td><input type="number" name="gained0" value="<?php echo mysql_fetch_assoc(mysql_query("SELECT power FROM squad WHERE id = 0"))['power']; ?>"></td>
    <td><input type="number" name="rank0" value="<?php echo mysql_fetch_assoc(mysql_query("SELECT rank FROM squad WHERE id = 0"))['rank'] ?>"></td>
</tr>

显然我无法在 PHP 中输​​入 JavaScript 变量,那么我如何能够循环并为所有条目创建上述变量?

【问题讨论】:

  • 您完全混淆了客户端和服务器端代码。我建议完全放弃 javascript 一段时间,尝试在 php 中做所有事情,一旦你对服务器端的工作方式有了更好的了解,再回到 javascript。

标签: javascript php mysql iteration


【解决方案1】:

我的上帝,这是一个糟糕的方法,看看 AJAX http://en.wikipedia.org/wiki/Ajax_%28programming%29 它是如何使用的......您将需要通过简单的 get 请求来实现某种 API。

使用 AJAX 基本上您可以从 javascript 调用 URL-s 并获取从页面返回的数据,例如文本、html、json 等。

在这里,您可以找到关于 AJAX 工作原理的精彩说明How does AJAX work? 通读它,您还可以在 youtube 上找到免费教程,并且在您有了想法后重新考虑您的代码。

【讨论】:

    【解决方案2】:

    如果你想使用 javascript,我认为你应该使用 AJAX (google it)。最佳实践是仅使用 PHP 并了解服务器端和客户端之间的区别。 祝你好运!

    【讨论】:

      【解决方案3】:

      只用 PHP 就可以完成它。我不得不考虑的开关,但据我所知它确实有效。

      <?php
          for ($i=0; $i<=10; $i++) {
              $r = "";
              switch(mysql_fetch_assoc(mysql_query("SELECT rank FROM squad WHERE id = $i"))["rank"]){case 3:$r="Lieutenant";break;case 2:$r="Soldier";break;default:$r="Private";}
              echo "<tr>" .
                  "<td>" . mysql_fetch_assoc(mysql_query("SELECT name FROM squad WHERE id = $i"))["name"] . "</td>" .
                  "<td>$r</td>" .
                  "<td>" . number_format(mysql_fetch_assoc(mysql_query("SELECT power FROM squad WHERE id = $i"))["power"]) . "</td>" .
                  "<td><input type=\"number\" name=\"gained$i\" value=\"" . mysql_fetch_assoc(mysql_query("SELECT power FROM squad WHERE id = $i"))["power"] . "\"></td>" .
                  "<td><input type=\"number\" name=\"rank$i\" value=\"" . mysql_fetch_assoc(mysql_query("SELECT rank FROM squad WHERE id = $i"))["rank"] . "\"></td>" .
              "</tr>";
          }
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-21
        • 2015-05-09
        • 2017-06-28
        相关资源
        最近更新 更多