Php 对html表的mysql查询

Php 对html表的mysql查询,php,mysql,html,Php,Mysql,Html,我想在表中显示mysql查询的查询结果 有两个表,必须从第二个表中检索一些信息 我想从其他表中检索标题、借用者姓名和借用者姓氏 我试图检索标题,但没有成功, 然后我想从users表中检索借贷者名称和借贷者姓氏 您还可以提供一种将结果放入表格的新方法 这是密码 for($i=0;$i<999999999;$i++){ $sql="SELECT * FROM products WHERE product_id='$i' LIMIT 1"; //echo $sql; $moviename="SE

我想在表中显示mysql查询的查询结果

有两个表,必须从第二个表中检索一些信息

我想从其他表中检索标题、借用者姓名和借用者姓氏

我试图检索标题,但没有成功, 然后我想从users表中检索借贷者名称和借贷者姓氏

您还可以提供一种将结果放入表格的新方法

这是密码
for($i=0;$i<999999999;$i++){
$sql="SELECT * FROM products WHERE product_id='$i' LIMIT 1";
//echo $sql;
$moviename="SELECT dbid FROM products WHERE product_id='$i'";
$dbid=mysql_query($moviename);
$movname="SELECT title FROM titles WHERE dbid='$dbid' ";
$name=mysql_query($movname);
$title=mysql_fetch_array($name);

print "<table border=1>
<tr><th>Product_ID</th>
<th>dbid</th>
<th>Title</th>  
<th>Status</th> 
<th>Date</th> 
<th>Borrowe_id</th> 
<th>Borrower Name</th>
<th>Borrower Surname</th></tr>";
$result=mysql_query($sql);
if($result==NULL){
continue ;
}
while ($row = mysql_fetch_array($result)) 
{ 
  print "<tr><td>{$row[1]}</td> 
   <td>{$row[2]}</td> 
   <td>{$title[0]}</td> 
  <td>{$row[12]}</td>
  <td>{$row[13]}</td> 
  <td>{$row[14]}</td>
  <td>{$borrowername[0]}</td>  
  <td>{$borrowesurname[0]}</td></tr>"; 
}  
print "</table>"; 
}
?>
$i=0;$i的
首先,您应该调试代码

弹出的一个错误如下:

您应更改以下内容:

print "<tr><td>{$row[1]}</td> 
   <td>{$row[2]}</td> ..."
打印“{$row[1]}
{$row[2]}…”
致:

打印“{”。$row[1]”
{.“$row[2]”。}

第二,当你说“我没有成功”-请添加详细信息,你有错误吗?输出是什么?

首先,你应该调试你的代码

弹出的一个错误如下:

您应更改以下内容:

print "<tr><td>{$row[1]}</td> 
   <td>{$row[2]}</td> ..."
打印“{$row[1]}
{$row[2]}…”
致:

打印“{”。$row[1]”
{.“$row[2]”。}

第二,当你说“我不成功”-请添加详细信息,你有错误吗?输出是什么?

这里有一些事情你绝对不应该做

内部带有查询的超级疯狂循环 注:

通常你希望你的ID是唯一的。为什么你需要限制你的查询

查询可以简化为:

select
    * 
from
    products p
    left outer join titles t
        on p.dbid = t.dbid
注意:选择*是不好的做法,但我不知道您的结构是什么

不合逻辑的逻辑
$result
此时为
null
,因此您的while循环永远不会发生

因此,在消除该循环、简化查询并修改逻辑之后,我们可以:

$result_resource = mysql_query($sql);

echo"
    <table border=1>
        <tr>
            <th>Product_ID</th>
            <th>dbid</th>
            <th> Title</th>  
            <th>Status</th> 
            <th>Date</th> 
            <th>Borrowe_id</th> 
            <th>Borrower Name</th>
            <th>Borrower Surname</th>
        </tr>";

while ($row = mysql_fetch_array($result_resource))
{
    echo "
        <tr>
            <td>{$row['ProductID']}</td> 
            <td>{$row['dbid']}</td> 
            <td>{$row['Title']}</td> 
            <td>{$row['Status']}</td>
            <td>{$row['Date']}</td> 
            <td>{$row['Borrowe_id']}</td>
            <td>{$borrowername[0]}</td>  
            <td>{$borrowesurname[0]}</td>
        </tr>"; 
}

echo "</table>"; 
$result\u resource=mysql\u查询($sql);
回声“
产品标识
dbid
标题
地位
日期
借用身份证
借款人名称
借款人姓氏
";
而($row=mysql\u fetch\u数组($result\u resource))
{
回声“
{$row['ProductID']}
{$row['dbid']}
{$row['Title']}
{$row['Status']}
{$row['Date']}
{$row['borwee_id']}
{$borrowername[0]}
{$borrowesurname[0]}
"; 
}
回声“;
查看
$forrower…
。我感觉您也可以将您的借阅表加入到查询中,以将其引入


我还将研究模板。它肯定会将您的数据与显示分开,并使您的代码更易于阅读。

这里有一些您绝对不应该做的事情

内部带有查询的超级疯狂循环 注:

通常你希望你的ID是唯一的。为什么你需要限制你的查询

查询可以简化为:

select
    * 
from
    products p
    left outer join titles t
        on p.dbid = t.dbid
注意:选择*是不好的做法,但我不知道您的结构是什么

不合逻辑的逻辑
$result
此时为
null
,因此您的while循环永远不会发生

因此,在消除该循环、简化查询并修改逻辑之后,我们可以:

$result_resource = mysql_query($sql);

echo"
    <table border=1>
        <tr>
            <th>Product_ID</th>
            <th>dbid</th>
            <th> Title</th>  
            <th>Status</th> 
            <th>Date</th> 
            <th>Borrowe_id</th> 
            <th>Borrower Name</th>
            <th>Borrower Surname</th>
        </tr>";

while ($row = mysql_fetch_array($result_resource))
{
    echo "
        <tr>
            <td>{$row['ProductID']}</td> 
            <td>{$row['dbid']}</td> 
            <td>{$row['Title']}</td> 
            <td>{$row['Status']}</td>
            <td>{$row['Date']}</td> 
            <td>{$row['Borrowe_id']}</td>
            <td>{$borrowername[0]}</td>  
            <td>{$borrowesurname[0]}</td>
        </tr>"; 
}

echo "</table>"; 
$result\u resource=mysql\u查询($sql);
回声“
产品标识
dbid
标题
地位
日期
借用身份证
借款人名称
借款人姓氏
";
而($row=mysql\u fetch\u数组($result\u resource))
{
回声“
{$row['ProductID']}
{$row['dbid']}
{$row['Title']}
{$row['Status']}
{$row['Date']}
{$row['borwee_id']}
{$borrowername[0]}
{$borrowesurname[0]}
"; 
}
回声“;
查看
$forrower…
。我感觉您也可以将您的借阅表加入到查询中,以将其引入

我还将研究模板。它肯定会将您的数据与显示分开,并使您的代码更易于阅读。

(也许您的问题是“过于本地化”)

首先,我不建议这样做:

  for($i=0;$i<999999999;$i++)
$i=0;$i的

我知道sql查询不是最好的查询,但我认为这些建议可以帮助您。

(也许您的问题是“过于本地化”)

首先,我不建议这样做:

  for($i=0;$i<999999999;$i++)
$i=0;$i的


我知道sql查询不是最好的查询,但我认为这些建议可以帮助您。

这里有一个函数,可以将任何MySQL select语句转换为带有表标题的HTML表

function createTable_from_sql_select_query($query) {
    $sql_link = Connect_MySQLi_DB(); // Your Database Connection
    $sql_link->set_charset("utf8");
    $result = $sql_link->query($query);

    // Adding Missing Array Column Function for Old PHP Versions (<5.5)
    if (!function_exists('array_column')) {

        function array_column($array, $column) {
            $ret = array();
            foreach ($array as $row)
                $ret[] = $row[$column];
            return $ret;
        }

    }

    $headings = json_decode(json_encode($result->fetch_fields()), true);
    $headings = array_column($headings, 'name');

      $return = '<table>';
      $return .= '<thead><tr>';
      for ($x = 0; $x <= (count($headings) - 1); $x++) {
      $return .= '<th>' . ucwords(str_replace('_', ' ', (strtolower($headings[$x])))) . '</th>';
      }
      $return .= '</tr></thead><tbody>';
      while ($row = $result->fetch_object()) {
      $return .= '<tr>';
      for ($x = 0; $x <= (count($headings) - 1); $x++) {
      $return .= '<td>' . $row->$headings[$x] . '</td>';
      }
      $return .= '</tr>';
      }
      $return .= '</tbody></table>';

      return $return;
}
函数createTable\u from\u sql\u select\u query($query){
$sql\u link=Connect\u MySQLi\u DB();//您的数据库连接
$sql\u link->set\u字符集(“utf8”);
$result=$sql\u link->query($query);
//为旧PHP版本添加缺少的数组列函数(fetch_fields()),true);
$headers=array_列($headers,'name');
$return='';
$return.='';
对于($x=0;$x fetch_object()){
$return.='';
对于($x=0;$x$标题[$x]。';
}
$return.='';
}
$return.='';
return$return;
}

这里有一个函数,用于将任何MySQL select语句转换为带有表标题的HTML表

function createTable_from_sql_select_query($query) {
    $sql_link = Connect_MySQLi_DB(); // Your Database Connection
    $sql_link->set_charset("utf8");
    $result = $sql_link->query($query);

    // Adding Missing Array Column Function for Old PHP Versions (<5.5)
    if (!function_exists('array_column')) {

        function array_column($array, $column) {
            $ret = array();
            foreach ($array as $row)
                $ret[] = $row[$column];
            return $ret;
        }

    }

    $headings = json_decode(json_encode($result->fetch_fields()), true);
    $headings = array_column($headings, 'name');

      $return = '<table>';
      $return .= '<thead><tr>';
      for ($x = 0; $x <= (count($headings) - 1); $x++) {
      $return .= '<th>' . ucwords(str_replace('_', ' ', (strtolower($headings[$x])))) . '</th>';
      }
      $return .= '</tr></thead><tbody>';
      while ($row = $result->fetch_object()) {
      $return .= '<tr>';
      for ($x = 0; $x <= (count($headings) - 1); $x++) {
      $return .= '<td>' . $row->$headings[$x] . '</td>';
      }
      $return .= '</tr>';
      }
      $return .= '</tbody></table>';

      return $return;
}
函数createTable\u from\u sql\u select\u query($query){
$sql\u link=Connect\u MySQLi\u DB();//您的数据库连接
$sql\u link->set\u字符集(“utf8”);
$result=$sql\u link->query($query);
//为旧PHP版本添加缺少的数组列函数(fetch_fields()),true);
$headers=array_列($headers,'name');
$return='';
$return.='';
对于($x=0;$x fetch_object()){
$return.='';
对于($x=0;$x$标题[$x]。';
}
$return.=''
function createTable_from_sql_select_query($query) {
    $sql_link = Connect_MySQLi_DB(); // Your Database Connection
    $sql_link->set_charset("utf8");
    $result = $sql_link->query($query);

    // Adding Missing Array Column Function for Old PHP Versions (<5.5)
    if (!function_exists('array_column')) {

        function array_column($array, $column) {
            $ret = array();
            foreach ($array as $row)
                $ret[] = $row[$column];
            return $ret;
        }

    }

    $headings = json_decode(json_encode($result->fetch_fields()), true);
    $headings = array_column($headings, 'name');

      $return = '<table>';
      $return .= '<thead><tr>';
      for ($x = 0; $x <= (count($headings) - 1); $x++) {
      $return .= '<th>' . ucwords(str_replace('_', ' ', (strtolower($headings[$x])))) . '</th>';
      }
      $return .= '</tr></thead><tbody>';
      while ($row = $result->fetch_object()) {
      $return .= '<tr>';
      for ($x = 0; $x <= (count($headings) - 1); $x++) {
      $return .= '<td>' . $row->$headings[$x] . '</td>';
      }
      $return .= '</tr>';
      }
      $return .= '</tbody></table>';

      return $return;
}