php - 显示数据库中的一行并移至下一列

标签 php html mysql sql

在我的数据库表(id、book、cover、date、bookname .....)中,我使用这种方法来显示每列的行内容并且它工作正常。

<?php    
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);

if(! $conn ) {
    die('Could not connect: ' . mysql_error());
}
$sql = "SELECT  * FROM books  ";
mysql_select_db('x');
$retval = mysql_query( $sql, $conn );

if(! $retval ) {
    die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_NUM)) { ?>

    <table>
    <tr>
    <td width="40%"><?php echo $row[0];?></td>
    <td width="40%"><?php echo $row[1];?></td>
    <td width="20%"><?php echo $row[2];?></td>
    </tr>
    </table>
<?
}  

mysql_free_result($retval);
mysql_close($conn);

但这次我想在每一行中显示(如:$row[0])和 在下一个也是 $row[0] 但对于下一列。示例:

<table>
    <tr>
          <td width="40%"><?php echo $row[0];?></td>    //column1
          <td width="40%"><?php echo $row[0];?></td>    //column2
          <td width="20%"><?php echo $row[0];?></td>    //column3
    </tr>
</table>

我不知道我是否应该修改此代码或使用新代码。感谢您的帮助。

最佳答案

如果您只需要显示一条记录,那么您可以先将值存储在数组中,然后再在浏览器中显示。

<?php

$email = array();
while($row = mysql_fetch_array($retval, MYSQL_NUM)) { 
    $email[]=$row[0];
}
echo "<table>";
foreach ($email as $key => $value) {
    echo "<tr>";
    echo "<td>$value</td>";
    echo "</tr>";
}
echo "</table>";
?>

关于php - 显示数据库中的一行并移至下一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36794788/

相关文章:

php - 如何使用 PHP 正则表达式用任意字符串替换空格和逗号以及空格和逗号的组合?

php - 在 Zend Framework 的 Controller 中使用 View 助手

javascript - 多个相同宽度的线多尺寸 HTML 文本?

php - 错误 2003 (HY000) : Can't connect to MySQL server on 'localhost' (10061 "Unknown error")

php - 将图像和视频上传到服务器

php - MySQL数据库选择运动员数据需要位置

php - json 到 mysql 停止工作

html - 如果我在左侧有一个可点击的 Logo ,我仍然可以使用粘性(固定)水平导航栏吗?

javascript - 如何根据按钮单击更改页面样式

javascript - 我没有在 javascript 0000-00-00 00 :00:00 中获得准确的 mysql 默认时间格式