Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在HTML中创建表以在MySQL中显示查询结果_Php_Mysql - Fatal编程技术网

Php 在HTML中创建表以在MySQL中显示查询结果

Php 在HTML中创建表以在MySQL中显示查询结果,php,mysql,Php,Mysql,我想创建一个PHP页面,以表的形式显示MySQL数据库中的查询结果。我花了相当多的时间在不同的论坛上,最终得到了某种让我满意的东西,但这对我的网页设计和布局有很大影响。由于我是通过测试失败策略编写代码的,这远不是简单的,我确信可以缩短和简化代码,从而使其更符合我的网页格式。有谁能看一看,并就如何解决这类问题提出一些普遍感兴趣的建议 <div id="main"> <?php require_once('../mysqli_connect.php'); $resp

我想创建一个PHP页面,以表的形式显示MySQL数据库中的查询结果。我花了相当多的时间在不同的论坛上,最终得到了某种让我满意的东西,但这对我的网页设计和布局有很大影响。由于我是通过测试失败策略编写代码的,这远不是简单的,我确信可以缩短和简化代码,从而使其更符合我的网页格式。有谁能看一看,并就如何解决这类问题提出一些普遍感兴趣的建议

  <div id="main">
  <?php
  require_once('../mysqli_connect.php');
  $response = $db->query("SELECT * FROM metabolite");
  echo '<table align="center" cellspacing="2" cellpadding="5" border = "1">
  <tr><td align="center"><b>Metabolites</b></td>
  <td align="center"><b>KEGG Id</b></td>
  <td align="center"><b>Synonyms</b></td></tr>';
  while ($data = $response->fetch())
  {
  ?>
  <tr><td align="left">
  <?php echo $data['Metabolite_name']; ?></td>
  <td align="left">
  KEGG: <?php echo $data['Synonyms']; ?></td>
  <td align="left">
  <?php echo $data['Synonyms']; ?></td>
  </tr>
  <?php
  }
  $response->closeCursor();
  ?>
  </div>

凯格:
我提前感谢你的努力和帮助

汤姆。

如果($response->num\u rows>0){
而($data=$response->fetch_assoc()){
echo“$data[“代谢物名称”];
}
}
否则{
回显“0结果”;
}

我们无法用您给我们的代码改进您网页的设计和布局。我能做的就是写“更好”的可读代码

<?php

function tableCell($content)
{
  echo '<td align="left">'.$content.'</td>';
}

// database access 
require_once('../mysqli_connect.php');
// get all records from the metabolite table
$response = $db->query("SELECT * FROM metabolite");
// start main division
echo '<div id="main">';
// start the table
echo '<table align="center" cellspacing="2" cellpadding="5" border = "1">';
// walk through all the metabolite records
while ($data = $response->fetch()) 
{
  // start a row
  echo '<tr>';
    // create the cells
    tableCell($data['Metabolite_name']);
    tableCell('KEGG: '.$data['Synonyms']);
    tableCell($data['Synonyms']);
  // finish a row
  echo '</tr>';
}
// close the table
echo '</table>';
// close main division
echo '</div>';
// close query
$response->closeCursor();

问题出在哪里?你想美化你的代码吗?你有没有研究过CSS来控制网页的设计和布局?看:你刚才投票否决了我的答案吗?保罗·斯皮格尔?@Kobbe没有。但我可能应该。看起来有人有一段时间没上床了。嗨。我看到你在另一篇文章中提到使用CSS标准化外观,我做到了,这就是我如何知道样式是正确的,因为我在另一个页面上没有问题,该页面没有引用任何数据库,但更像一些纯文本。我相信,在我编写的代码中,我多次打开和关闭php,这可能会干扰HTML页面中的CSS布局。按照你的建议,你只能打开一次。我假设我必须在最后一行之后添加一个额外的?>。今晚我要试一试。非常感谢。最后一件事,如果我理解正确的话,在PHP中,每当我想写一些东西,以便它作为一个普通的HTML命令读取(例如,创建一个表,添加一行,写一些文本,…),我只需要写echo“”,它在PHP之外读取。好吗。您可以在一个文件中多次打开和关闭PHP,这应该不是问题。我不喜欢,但那只是我的意见。2.不,如果您没有放入任何HTML,那么在结束PHP代码后,您不必使用
?>
结束。看:(我自己都不明白)。3.是的,
echo
和其他一些函数会生成输出,如果使用http协议(=Web服务器),浏览器会将输出解释为html。确定。非常感谢所有这些细节。我尝试了一下,从代码的开头到$data(在函数中),我收到了一些错误消息,稍后将对其进行定义。无论如何,这无助于改进格式。我可能在定义划分时做错了什么。我将从头开始。无论如何,非常感谢你的帮助和时间。是的,愚蠢的错误。我没有运行代码,所以我没有发现它。我将更改代码以更正此问题。不,这无助于格式化。我希望您从中得到了一些东西:源代码的良好样式非常重要!
<?php

function tableCell($content)
{
  echo '<td align="left">'.$content.'</td>';
}

// database access 
require_once('../mysqli_connect.php');
// get all records from the metabolite table
$response = $db->query("SELECT * FROM metabolite");
// start main division
echo '<div id="main">';
// start the table
echo '<table align="center" cellspacing="2" cellpadding="5" border = "1">';
// walk through all the metabolite records
while ($data = $response->fetch()) 
{
  // start a row
  echo '<tr>';
    // create the cells
    tableCell($data['Metabolite_name']);
    tableCell('KEGG: '.$data['Synonyms']);
    tableCell($data['Synonyms']);
  // finish a row
  echo '</tr>';
}
// close the table
echo '</table>';
// close main division
echo '</div>';
// close query
$response->closeCursor();