|------------------ ------------------- -------------------|
| 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脚本
include_once("abc.php");
$query=mysql_query("select * from dbts LIMIT 6");
echo'
$i=0;
while($sam=mysql_fetch_array($query))
{
$image = $sam['image'];
$name= $sam['name'];
if($i==0)
{
echo '
';}
echo '
'; print"$name"; echo '';if($i==2)
{
echo '
';$i=-1;
}
$i++;
if($i==0)
{
echo '
';}
echo '
'; print"echo '
'; print"if($i==2)
{
echo '
';$i=-1;
}
$i++;
}
echo '
';?>
以上是我想从php获得的表格,你能帮助我理解我的代码错误,并指出我正确的方向吗?或者请根据我上面的表格更正我的代码.
解决方法:
首先,您必须将查询转换为数组
include_once("abc.php");
$query = mysql_query('select * from dbts LIMIT 6');
$db = array();
while($row = mysql_fetch_array($query))
$db[] = $row;
然后
echo'
$i=0;
for($i = 0; $i <= count($db); $i+=3){
echo '
';for($j = $i; $j < $i + 3; $j++)
if(isset($db[$j]))
echo '
' . $db[$j]['name'] . '';echo '
';echo '
';for($j = $i; $j < $i + 3; $j++){
if(isset($db[$j])){
echo '
' . $db[$j]['image'] . '';echo '
' . $db[$j]['image'] . '';}
}
echo '
';echo $i;
}
echo '
';我使用if(isset($db [$j]))来确保这段代码能够正常工作,但是如果你知道你的db中有6行你就不必使用它
标签:php,mysql,html
来源: https://codeday.me/bug/20190703/1361692.html