如何将 html 风格化表与 php 和 sql 连接起来
Posted
技术标签:
【中文标题】如何将 html 风格化表与 php 和 sql 连接起来【英文标题】:How to concatenate html stylized table with php and sql 【发布时间】:2019-01-06 23:37:39 【问题描述】:所以,我有这段代码可以返回一个简单的表,其中包含正确的 db 值:
<?php
echo "<table border='1'>
<tr>
<th>Código</th>
<th>Nome</th>
<th>Indicou</th>
</tr>";
while($coluna_bd_tabela = mysqli_fetch_array($sql_indicador_resul))
echo "<tr>";
echo "<td>" . $coluna_bd_tabela['usu_codigo'] . "</td>";
echo "<td>" . $coluna_bd_tabela['usu_nome'] . "</td>";
echo "<td>" . $coluna_bd_tabela['usu_indicador_codigo'] . "</td>";
echo "</tr>";
echo "</table>";
?>
这是一个程式化的表格,没有查询工作:
<table class="table table-striped projects">
<thead>
<tr>
<th style="width: 1%">#</th>
<th style="width: 20%">Nome</th>
<th>Membros Recentes</th>
<th>Project Progress</th>
<th>Status</th>
<th style="width: 20%">#Edit</th>
</tr>
</thead>
<tbody>
<tr>
<td>echo $coluna_bd_tabela['usu_codigo']</td>
<td>
<a> echo $coluna_bd_tabela['usu_nome']</a>
<br />
<small>echo $coluna_bd_tabela['usu_indicou']</small>
</td>
<td>
<ul class="list-inline">
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
</ul>
</td>
<td class="project_progress">
<div class="progress progress_sm">
<div class="progress-bar bg-green" role="progressbar" data-transitiongoal="57"></div>
</div>
<small>57% Complete</small>
</td>
<td>
<button type="button" class="btn btn-success btn-xs">Success</button>
</td>
<td>
<a href="#" class="btn btn-primary btn-xs"><i class="fa fa-folder"></i> View </a>
<a href="#" class="btn btn-info btn-xs"><i class="fa fa-pencil"></i> Edit </a>
<a href="#" class="btn btn-danger btn-xs"><i class="fa fa-trash-o"></i> Delete </a>
</td>
</tr>
</tbody>
我想显示带有查询值的程式化表格,但这正在摧毁我。数据库连接很好,这些是包含连接上的查询,它们也可以正常工作,如简单表所示:
$sql_indicador = "SELECT * FROM esc_usuarios WHERE usu_indicador_codigo = '" . $_SESSION['codigo'] . "'";
$sql_indicador_resul = mysqli_query($conexao, $sql_indicador);
【问题讨论】:
^ 那也是。我实际上很困惑您所说的实际上是按您的喜好工作,而哪个不起作用。您可能只需要那些打开/关闭 php 标记...然后用while
包裹在您的 tbody
中。
如果我错了,请忽略我,但不能使用某些浏览器插件更改 $_SESSION 变量吗?在这种情况下,我建议您转义您在 MySQL 查询中使用的会话变量。
是的,我知道,但它只会显示许多用户中的一个,我想生成数据库中存在的尽可能多的用户
【参考方案1】:
提供完整的解决方案:
<table class="table table-striped projects">
<thead>
<tr>
<th style="width: 1%">#</th>
<th style="width: 20%">Nome</th>
<th>Membros Recentes</th>
<th>Project Progress</th>
<th>Status</th>
<th style="width: 20%">#Edit</th>
</tr>
</thead>
<?php while($coluna_bd_tabela = mysqli_fetch_array($sql_indicador_resul)) ?>
<tbody>
<tr>
<td><?php echo $coluna_bd_tabela['usu_codigo']; ?></td>
<td>
<a><?php echo $coluna_bd_tabela['usu_nome']; ?></a>
<br />
<small><?php echo $coluna_bd_tabela['usu_indicou']; ?></small>
</td>
<td>
<ul class="list-inline">
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
</ul>
</td>
<td class="project_progress">
<div class="progress progress_sm">
<div class="progress-bar bg-green" role="progressbar" data-transitiongoal="57"></div>
</div>
<small>57% Complete</small>
</td>
<td>
<button type="button" class="btn btn-success btn-xs">Success</button>
</td>
<td>
<a href="#" class="btn btn-primary btn-xs"><i class="fa fa-folder"></i> View </a>
<a href="#" class="btn btn-info btn-xs"><i class="fa fa-pencil"></i> Edit </a>
<a href="#" class="btn btn-danger btn-xs"><i class="fa fa-trash-o"></i> Delete </a>
</td>
</tr>
</tbody>
<?php ?>
</table>
您忘记在 echo 语句周围使用 <?php
和 ?>
开始和结束标记。此外,您错过了每个语句末尾的;
。我还将表格的开头和结尾从 PHP 的 echo
中移出,因为我相信这样看起来更清晰。
【讨论】:
已进行编辑。就个人而言,我建议也将<tbody>
移出它。如果它始终只是数据库中的一行,我建议完全摆脱 whileloop 并简单地使用$coluna_bd_tabela = mysqli_fetch_array($sql_indicador_result);
。
您可能会争辩说<tbody>
应该在while 之外......但在html 规范中,在单个<table>
中包含多个<tbody>
是完全可以的。所以不管怎样都行。甚至可以添加一个独特的 id="block_x"
到那些更容易 javascript 操作。
感谢您的建议,我删除了
@confetti 完成了这项工作,我做了一些更改,并且效果很好,太棒了!
以上是关于如何将 html 风格化表与 php 和 sql 连接起来的主要内容,如果未能解决你的问题,请参考以下文章
如何将两个表与 SQL Server 中第二个表中引用同一列的两列连接起来