【问题标题】:use php to show mysql data使用php显示mysql数据
【发布时间】:2010-09-20 00:04:20
【问题描述】:

我想知道最好的方法是使用 php 获取数据库中所有行的列表,并在单击一行时显示更详细的信息,例如相关图像等。

我应该使用框架来执行此操作吗?有没有这方面的好例子?

编辑:

我需要更简单的说明,因为我不是程序员,而且才刚刚起步。可以推荐任何链接或示例吗?

【问题讨论】:

  • 因为我没有任何可以共享的代码(我必须删除太多才能使用它),请查看 PHP 的 mysqli 类、HTML 表格代码、JavaScript 和 CSS。

标签: php mysql


【解决方案1】:

我使用表格和 JavaScript 来做到这一点。

SQL 数据库中的数据本质上是表格的。所以我只是选择数据并创建一个表。然后,为了向下钻取(当我需要时),我提供了一个 JavaScript“更多”功能并使用 CSS 隐藏/显示附加数据。

【讨论】:

    【解决方案2】:

    我倾向于使用两个单独的页面。一个列表,它链接到显示详细记录的那个。列出的那个在链接上传递一个 ID 参数(即 show.php?id=145),至于 show.php 页面将从$_GET['id'] 获取该参数。

    这是解决问题的最简单方法。

    【讨论】:

    • 但是,根据所涉及的查询,这可能比只执行一次查询来获取所有内容并根据用户需要显示它更耗时。但这取决于数据集、索引、查询等。
    【解决方案3】:

    您可以从PHP manual 开始。现在组织得比较好。但是现在我的讽刺已经不碍事了……

    使用数据库的最佳方法之一(目前,您的选择是 MySQL,但这种情况可能会改变)是将代码从与它的直接交互中抽象出来。

    ADODB 这样的工具非常值得了解,它使“获取数据库中所有行的列表”的任务变得相当简单。

    这样做的主要优点是,如果您发现需要将应用程序迁移到运行不同数据库的服务器上,它使您不必重写大量代码。

    更好的方法是(恕我直言)看看像Zend's 这样的框架(好吧,他们毕竟做 php),它的 DB 抽象称为 Zend_Db。现在这对您来说可能有点矫枉过正,因为从您的其他问题看来,您对 PHP/MySQL 开发还很陌生。

    也不错:Smarty(用于从逻辑中抽象出您的演示文稿)

    【讨论】:

      【解决方案4】:

      如果您不是程序员,但想使用 php 显示您的 mysql 表中的内容,也许phpMyAdmin 就是您要查找的内容?

      【讨论】:

        【解决方案5】:

        如果您正在构建一个简单的数据库驱动应用程序,并且您刚刚开始学习 PHP,那么我推荐的方法是使用为您生成这些应用程序的框架。看看 QCodo (http://www.qcodo.com),尤其是这个教程视频:http://www.qcodo.com/view.php/demo_1_live

        【讨论】:

          【解决方案6】:

          与其他人的建议相反,我不会推荐框架或抽象级别。它将使您无法理解 php 的工作原理,并要求您同时学习 php 和框架结构/流程。抽象层在商业环境中是一种很好的做法,但从您的问题的氛围来看,您不会期望移动服务器或迁移您的数据库。

          我建议使用 php 和 mysql 以程序方式(而不是面向对象)工作,直到您了解发生了什么以及该语言如何工作。

          回答您的实际问题:

          需要连接数据库:mysql_connect()

          您需要选择要使用的数据库:mysql_select_db()

          您需要定义查询:msyql_query()

          你需要使用while循环来获取数据:

          $query=mysql_query("select * from table_name");
              while($row=mysql_fetch_assoc($query)){
                   extract($row);
                   echo $name of field 1.": ".$name of field 2;
              }
          

          要使每一行输出成为更多信息的链接,请重写 echo 语句,如下所示:

           echo "<a href=\"http://addresstomoreinfo.php?image_id=".$image_id.\">".$name 
                of field 1.": ".$name of field 2."</a>";
          

          “字段名称”变量代表您的 db 表的列名称,我已经完成了字段名称、冒号和第二个字段名称的布局。信息的显示方式取决于您。

          问号前面是在addresstomoreinfo.php 页面中定义的变量的名称,该页面将由$var=$_GET['image_id']; 标识

          其他 php, html, css 元素也参与到了完成这个任务中。一个很好的开始信息来源是http://www.w3schools.com/ 我也通过上面链接的 php 手册来生死

          【讨论】:

            【解决方案7】:

            我想你真的不知道你在问什么! :-)

            有了合适的框架、数据库和对象抽象层,这很简单(我已经做过好几次了)。但是从头开始编写它们不是微不足道的,并且对于从基础学习 PHP 没有帮助。除非你用其他语言做到这一点。

            OTOH,只要您愿意反复重新设计代码(即使您从未真正这样做过)以开发合适的抽象,直接执行所有操作仍然是一个很好的练习(如@kevtrout has described)。国际海事组织,有太多的 PHP 被踢了很久,已经超出了这样一个简单的结构。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多