【问题标题】:How to echo specific mysql data in specific places using php?如何使用php在特定位置回显特定的mysql数据?
【发布时间】:2014-01-26 01:23:23
【问题描述】:

如果“SELECT”语句用于从数据库中选择数据,那么我们如何使用 php 将特定行回显到页面上的特定位置?

为了更好地解释这一点 - 我试图从一个表中选择 * 全部,但使用 php 将多行回显到 html 页面上的特定位置。

所以,假设我的整个标记和 css 在页面上有 20 个缩略图,每个缩略图都有数据和每个缩略图唯一的图像......我是否必须复制以下 20 次?

我认为最好的方法是使用这个语句(这可能是完全错误的)

SELECT * FROM name_of_table WHERE ID = 4 >>> 即我希望在哪里回显特定数据......

那么,如果我有 20 个缩略图,我会这样做 20 次吗?

    <?php 
 // Connects to your Database 
 mysql_connect("localhost", "username", "password") or die(mysql_error()); 
 mysql_select_db("Database_Name") or die(mysql_error()); 
 $data = mysql_query("SELECT * FROM name_of_table WHERE ID = 4;") 
 or die(mysql_error()); 
 Print "<table border cellpadding=3>"; 
 while($info = mysql_fetch_array( $data )) 
 { 
 Print "<tr>"; 
 Print "<th>Name:</th> <td>".$info['name'] . "</td> "; 
 Print "<th>Product:</th> <td>".$info['product_name'] . " </td></tr>"; 
 } 
 Print "</table>"; 
 ?> 

然后,冲洗并重复,但我每次都为每个缩略图更改以下语句(每个缩略图都有来自 MySQL 每一行的唯一数据)

SELECT * FROM name_of_table WHERE ID = 4;

最好的方法是什么?

谢谢!

【问题讨论】:

  • 分离模型。将所有数据读入一个数组——也就是说,将 SQL 放在一个函数后面,以便只返回相关数据的数组。然后为每个数组项发出适当的 HTML 输出,例如在循环中。在这里使用IN 可能是合适的(指定相关的ID),如果没有其他连接会这样做 - 尽管如果图像是相关容器的一部分,通常会使用另一个连接或选择,例如画廊或产品列表。所以不,你什么都做一次

标签: mysql


【解决方案1】:

简单示例..首先获取所需ID的数据:s。为数据请求创建函数。

<?php 
     // Connects to your Database 
     mysql_connect("localhost", "username", "password") or die(mysql_error()); 
     mysql_select_db("Database_Name") or die(mysql_error()); 
     $data = mysql_query("SELECT * FROM name_of_table WHERE ID IN (2,3,4,5,6);") 
     or die(mysql_error()); 

     // This holds all data rows
     $data_array = array(); 

     while($info = mysql_fetch_array( $data )) 
       $data_array[] = $data;

     // Function for rendering data to html 
     function getItemHtml($id) {

       $html = "";

       foreach($data_array as $row) {
          if ($row['ID'] == $id) {
            $html = "<td>" . $row['title'] . "</td>";
            // etc.. create item html here
            break;
          }
       }

       return $html;
     }

     // To create one item just call this with item id.

     echo getItemHtml(4); 

?> 

【讨论】:

  • 感谢您的回答 - 快速提问 - 为什么 $html = "" 为空?
  • 这只是初始化代码.. 就像如果找不到传递 id 的行函数返回空字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多