【问题标题】:Interfacing html, javascript, php and mysql连接 html、javascript、php 和 mysql
【发布时间】:2012-08-12 16:07:39
【问题描述】:

以下是我一直在研究的一个订单表格,用于了解 html、javascript、php 和 mysql 如何相互交互。

https://www.dropbox.com/s/7zpok07w1bygu60/Screen%20Shot%202012-08-12%20at%2010.28.41%20AM.png

此表的目标是让用户在数量字段中输入一个数字,并且在更改时,javascript 将自动更新该特定产品的总成本。关键是我希望从 mysql 数据库表中填充列表。

这是我正在使用的 html、javascript 和 php 代码。

HTML

<table>
<tr>
    <td>
        Product
    </td>
    <td>
        Description
    </td>
    <td>
        Quantity
    </td>
    <td>
        Price
    </td>
    <td>
        Total Cost
    </td>
</tr>

<?php include("pop_prodlist.php"); ?>
<tr>
    <td>Totals</td>
    <td></td>
    <td>TotalQuantity</td>
    <td></td>
    <td>TotalCost</td>
</tr>
</table>

PHP

    while($row = mysql_fetch_array($result))
{
    echo "<tr>";
    echo "<td>" . $row['P_Name'] . "</td>";
    echo "<td>" . $row['P_Description'] . "</td>";
    echo "<td>
    <input type='text' size='3' name='" . $row['P_Name'] . "_Quantity'
      onChange='calcCost()'/>
    </td>";
    echo "<td>" . $row['P_Cost'] . "</td>";
    echo "<td id='" . $row['P_Name'] . "_Cost'>0.00</td>";
    echo "</tr>";

}

Javascript calcCost() 函数

    function calcCost()
    {

      var theForm = document.forms['productform'];

    /*
    COMMENTED OUT FOR TIME BEING
    var pquan = theForm.elements[productname + '_Quantity'].value;
    var costperquan = '15.99';
    var ptotalcost = costperquan * pquan;
    */

     var divobj = document.getElementById('Basketball_Cost');
     divobj.innerHTML = "helloworld";

    }

我目前遇到的问题是,我无法弄清楚如何根据 mysql 查询确定的产品名称,从 php 脚本回显中将唯一参数放入 javascript 函数 calcCost 中。

另外,为了教育自己,我很好奇更好的解决方案会是什么/看起来像什么。我怀疑这是解决问题的最优雅的解决方案,我希望看到一些更好的解决方案。

【问题讨论】:

标签: php javascript mysql html


【解决方案1】:

Jay,您似乎了解 PHP、MySQL 和 JavaScript 如何协同工作 - 这很好。

就个人而言,我真的很推荐使用 jQuery(JavaScript 库)。它在整个网络上被广泛使用,非常常见,功能强大且易于理解和使用。虽然有人说用一个语言的库不好,但在你了解语言之前,jQuery 帮助我更好地理解了 JavaScript,因为它易于遵循的语法。

因此,要使用 jQuery,您只需在 html 文件中添加源脚本。为什么我推荐 jQuery?它还允许您非常轻松地使用 ajax(也从数据库加载内容,无需刷新页面)。

jQuery 还允许您将点击事件与 HTML 分开。基本上,您将 idclass 属性分配给 HTML 元素,这是您在 js 中的引用,因此不需要 onclick=""

至于您的 HTML:强烈建议不要使用表格布局。在 HTML5 和 CSS3 时代,表格有很好的替代品。

如果您需要更多帮助,请在评论中告诉我,我很乐意提供帮助...

【讨论】:

  • +1,但表格适用于表格数据(购物车/订单项列表肯定是表格数据)。
  • @DCoder: 哦,如果你这么说:) 但在你看来,桌子的优势是什么?或者有什么表格可以做而 div 或 HTML5 元素不能做的事情?
  • 从语义上讲,表格应该用于呈现网格中的数据/描述具有相同属性的多个对象。这正是我们在这里看到的。
  • 如果我使用 divs/elements 来解决这个问题,我上面的 php 脚本中的 while 循环会小很多,还是让 php 脚本用 javascript 调用编写大量 html 是很常见的?
  • @JayBeversdorf:嗯,DCoder 的说法是可以理解的。就我个人而言,我根本不使用表格,但这不是重点。但是,javascript 应该与您的 HTML 代码分开。 php 不应该打印你的 JavaScript 代码,但你应该把你的 JavaScript 放在外部的 .js 文件中并包含它们。这样,如果您在多个站点上使用它们,浏览器可以缓存它们。此外,它提高了可读性,从而减少了错误来源。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-15
  • 2016-06-10
  • 1970-01-01
  • 2012-10-07
  • 2011-12-18
  • 1970-01-01
  • 2019-09-23
相关资源
最近更新 更多