我试图搜索,但没有找到任何可以帮助我的东西,所以我创建了一个新线程。
我有几个列的MySQL数据库。每行是一个项目的单独数据集。 现在我设法显示它非常接近我想要的,但要有一个更好的视图我需要将它格式化为两列表,其中第一列是数据库列的标题作为其全名和第二列列包含响应值。
数据库格式:
| col1 | col2 | col3 | col4 |
| tex1 | tex2 | tex3 | tex4 |
| tex5 | tex6 | tex7 | tex8 |
http://oi61.tinypic.com/23gzmec.jpg
现在我看到输出为:
Col1全名x:tex1
Col2全名XXXxxxxxxxxx:tex2
Col3全名XXXxx:tex3
Col4全名:XXXxxxxxxxxxxxxxxxxx:tex4
Col1全名x:tex5
Col2全名XXXxxxxxxxxx:tex6
Col3全名XXXxx:tex7
Col4全名:XXXxxxxxxxxxxxxxxxxx:tex8
http://oi58.tinypic.com/2el8ksl.jpg
“x”-s给出具有不同长度的列名的视觉可比图像。但是我希望将它作为一个表格,其中“tex”值从相同的距离开始,该距离是最长的列名称标签长度或表格第一列的预设宽度。
在视觉上我希望它看起来更像这样:
Col1全名:| tex1
Col2全名:| TEX2
Col3全名:| tex3
Col4全名:| tex4
现在我的代码看起来像这样:
<?php
$servername = "mysqlsite";
$username = "admin";
$password = "password";
$dbname = "mydb";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT btitle, basin, busurl, bukurl, bimageurl, bauthor, bauthoremail, bauthorbio, bgenre, bsdesc, bldesc FROM book_info";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<strong>Title: </strong>" .$row["btitle"].
"<br><strong>ASIN: </strong>" .$row["basin"].
"<br><strong>US URL: </strong>" .$row["busurl"].
"<br><strong>UK URL: </strong>" .$row["bukurl"].
"<br><strong>Image: </strong>" .$row["bimageurl"].
"<br><strong>Author: </strong>" .$row["bauthor"].
"<br><strong>Author Bio: </strong>" .$row["bauthorbio"].
"<br><strong>Genre: </strong>" .$row["bgenre"].
"<br><strong>Short Description: </strong>" .$row["bsdesc"].
"<br><strong>Long Description: </strong>" .$row["bldesc"].
"<br><br><br><br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
我从w3schools获得了这个代码,并根据我的需要对其进行了修改,但当我尝试将其更改为显示为表格时,没有任何好处发生。
有人可以帮忙吗?
答案 0 :(得分:0)
您应该使用HTML <table>
标记。在你的情况下,它看起来像这样:
<table>
<tr><!-- This is a table row -->
<td> <!-- This is a column inside a row -->
ASIN:
</td>
<td>
YourValueOrWhatever
</td>
</tr>
<!-- Include the same markup for all rows here -->
</table>
答案 1 :(得分:0)
像这样......并相应地放置你的数据..
<table>
<tr>
<th> <!--your table headers -->
...
</th>
while($row = $result->fetch_assoc()) {
<tr>
echo '<td>'.$row["btitle"].'</td>';
echo '<td>'.$row["basin"].'</td>'; //your table data
echo '<td>'.$row["busurl"].'</td>';
...
</tr>
}
</table>
答案 2 :(得分:0)
如果您需要表格数据,那么为什么不构建表格?如果您不想看到它们,可以删除边框。这样,列单元格将调整为最长的标题,文本单元格将在此之后开始。
<table>
<tr>
<td>Col 1</td>
<td>tex1</td>
</tr>
<!-- Create other rows the same way -->
</table>
您可以将样式与样式属性保持一致,也可以创建类和/或ID并添加css样式表。
答案 3 :(得分:0)
感谢Moid Mohd我得到了它的工作,但它需要一些额外的修补才能没有错误。所以我发布了工作代码,以便将来遇到此问题的人也能看到解决方案。
echo "<table><tr><th>table headding</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td><strong>Title:</strong></td><td>" .$row["btitle"]."</td></tr>";
echo "<tr><td><strong>ASIN:</strong></td><td>" .$row["basin"]. "</td></tr>";
echo "<tr><td><strong>US URL:</strong></td><td>" .$row["busurl"]."</td></tr>" ;
echo "<tr><td><strong>UK URL:</strong></td><td>" .$row["bukurl"]."</td></tr>" ;
echo "<tr><td><strong>Image URL:</strong></td><td>" .$row["bimageurl"]."</td></tr>" ;
echo "<tr><td><strong>Author:</strong></td><td>" .$row["bauthor"]."</td></tr>" ;
echo "<tr><td><strong>Author Email:</strong></td><td>" .$row["bauthoremail"]."</td></tr>" ;
echo "<tr><td><strong>Author Bio:</strong></td><td>" .$row["bauthorbio"]."</td></tr>" ;
echo "<tr><td><strong>Genre:</strong></td><td>" .$row["bgenre"]."</td></tr>" ;
echo "<tr><td><strong>Short Description:</strong></td><td>" .$row["bsdesc"]."</td></tr>" ;
echo "<tr><td><strong>Long Description:</strong></td><td>" .$row["bldesc"]. "</td></tr>";
echo "<tr><td><br><br></td></tr>";
}
echo "</table>";