Php 我试图从MySQL查询生成一个HTML表。以下是我试图从MySQL查询生成的表的格式:
这是我的php脚本Php 我试图从MySQL查询生成一个HTML表。以下是我试图从MySQL查询生成的表的格式:,php,html,mysql,Php,Html,Mysql,这是我的php脚本 |------------------ ------------------- -------------------| | Name 1 | Name 2 | Name 3 | |------------------| ------------------|-------------------| | IMAGE1 | IMAGE1 | IMAGE2 | IMAGE2 | IMAGE3 | IMAGE3
|------------------ ------------------- -------------------|
| Name 1 | Name 2 | Name 3 |
|------------------| ------------------|-------------------|
| IMAGE1 | IMAGE1 | IMAGE2 | IMAGE2 | IMAGE3 | IMAGE3 |
|----------------- | ------------------|-------------------|
| Name 4 | Name 5 | Name 6 |
|------------------| ------------------|-------------------|
| IMAGE4 | IMAGE4 | IMAGE5 | IMAGE5 | IMAGE6 | IMAGE6 |
|----------------- | ------------------|-------------------|
上面是我想从php中得到的表格,你能帮助我理解我在代码上犯了什么错误,并为我指出正确的方向吗?或者请根据上表更正我的代码。首先,您必须将查询转换为数组
<?php
include_once("abc.php");
$query=mysql_query("select * from dbts LIMIT 6");
echo'<table>';
$i=0;
while($sam=mysql_fetch_array($query))
{
$image = $sam['image'];
$name= $sam['name'];
if($i==0)
{
echo '<tr>';
}
echo '<td width=180 border=1 COLSPAN=2>'; print"$name"; echo '</td>';
if($i==2)
{
echo '</tr>';
$i=-1;
}
$i++;
if($i==0)
{
echo '<tr>';
}
echo '<td width=90>'; print"<img src=$image width=90 height=100/>"; echo '</td>';
echo '<td width=90>'; print"<img src=$image width=90 height=100/>"; echo '</td>';
if($i==2)
{
echo '</tr>';
$i=-1;
}
$i++;
}
echo '</table>';
?>
然后
echo';
$i=0;
对于($i=0;$i类似
echo'<table>';
$i=0;
for($i = 0; $i <= count($db); $i+=3){
echo '<tr>';
for($j = $i; $j < $i + 3; $j++)
if(isset($db[$j]))
echo '<td width="180" border="1" COLSPAN="2">' . $db[$j]['name'] . '</td>';
echo '</tr>';
echo '<tr>';
for($j = $i; $j < $i + 3; $j++){
if(isset($db[$j])){
echo '<td width="90">' . $db[$j]['image'] . '</td>';
echo '<td width="90">' . $db[$j]['image'] . '</td>';
}
}
echo '</tr>';
echo $i;
}
echo '</table>';
错误:请添加更多错误检查,并按照其他人的建议查看PDO。请。它们不再被维护,而是被维护。请了解,并使用。您的代码有什么问题?结果如何不正确?我们不知道问题是什么。您的问题是您的$i==?
语句不太正确rcRT,你使用的是相同的<代码> $i/COD>内行和外行。因为你的SQL正在返回名称和IMAGE1和IMAGE2,那么你可能想立刻画出整个方块,为此你可能想在它自己的<代码> <代码>中同时考虑一个小表打印,然后每个<代码> $i % 3=0 < /CODE >添加开始/结束< COD >e>
标签改为更大的
@DaveGoten你能编辑我的代码吗?我真的很感谢你。
echo'<table>';
$i=0;
for($i = 0; $i <= count($db); $i+=3){
echo '<tr>';
for($j = $i; $j < $i + 3; $j++)
if(isset($db[$j]))
echo '<td width="180" border="1" COLSPAN="2">' . $db[$j]['name'] . '</td>';
echo '</tr>';
echo '<tr>';
for($j = $i; $j < $i + 3; $j++){
if(isset($db[$j])){
echo '<td width="90">' . $db[$j]['image'] . '</td>';
echo '<td width="90">' . $db[$j]['image'] . '</td>';
}
}
echo '</tr>';
echo $i;
}
echo '</table>';
<?php
include_once("abc.php");
$query=mysql_query("select * from dbts LIMIT 6");
$i = 0;
echo '<table><tr>';
while ($sam=mysql_fetch_array($query)) {
if ($i > 0 && $i % 3 == 0) {
// Theres a better way to do this, but its not coming to me right now...
echo '</tr><tr>';
}
echo "
<td>
<table>
<tr>
<td colspan=\"2\">{$sam['name']}</td>
</tr>
<tr>
<td>{$sam['image']}</td>
<td>{$sam['image']}</td>
</tr>
</table>
</td>";
$i++;
}
echo '</tr></table>';
?>