我需要通过php创建一个表来自我的mysql服务器的数据。我设法建立了一个连接,我可以创建一个表,但我的问题是它为每一行创建了一个表,而我想要一个统一的表。这是我的代码:
$sql = 'SELECT navn, institution, klip FROM parkeringsdata';
mysqli_select_db($conn , 'parkeringsdb');
$retval = mysqli_query( $conn , $sql );
echo "<br><br><br>";
if(! $retval ) {
die('Could not get data: ' . mysqli_error());
}
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) {
echo "<table class='content info'>
<tr>
<td>Navn</td>
<td>Institution</td>
<td>Klip</td>
<td>Rediger</td>
<td>Slet</td>
</tr>
<tr>
<td>".$row["navn"]."</td>
<td>".$row["institution"]."</td>
<td>".$row["klip"]."</td>
<td><button type='button'>Rediger</button></td>
<td><button type='button'>Slet</button></td>
</tr></table><br>";
}
echo "Fetched data successfully\n";
mysqli_close($conn);
编辑:感谢所有快速回复,现在它已经解决了,我看到我把它变成了一个新手的错误。这是学校的任务,我们在这里绞尽脑汁:))
答案 0 :(得分:1)
你想要从for循环中提取“”,“”和你的表头定义,所以它只会被执行一次。
而且:以这种方式创建表格很容易,但会导致容易出错的问题。很难维护代码。
可以一步一步地学习它。
但很可能你迟早要切换到模板引擎(在客户端或服务器端,以及你的应用程序选择)。
答案 1 :(得分:0)
$table = "<table class='content info'>";
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) {
$table .= "
<tr>
<td>Navn</td>
<td>Institution</td>
<td>Klip</td>
<td>Rediger</td>
<td>Slet</td>
</tr>
<tr>
<td>".$row["navn"]."</td>
<td>".$row["institution"]."</td>
<td>".$row["klip"]."</td>
<td><button type='button'>Rediger</button></td>
<td><button type='button'>Slet</button></td>
</tr>";
}
$table .= "</table><br>";
在foreach循环中有表开始和结束标记。
答案 2 :(得分:0)
while循环外的回声表
$sql = 'SELECT navn, institution, klip FROM parkeringsdata';
mysqli_select_db($conn , 'parkeringsdb');
$retval = mysqli_query( $conn , $sql );
echo "<br><br><br>";
if(! $retval ) {
die('Could not get data: ' . mysqli_error());
}
echo "<table class='content info'>";
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) {
echo "<tr>
<td>Navn</td>
<td>Institution</td>
<td>Klip</td>
<td>Rediger</td>
<td>Slet</td>
</tr>
<tr>
<td>".$row["navn"]."</td>
<td>".$row["institution"]."</td>
<td>".$row["klip"]."</td>
<td><button type='button'>Rediger</button></td>
<td><button type='button'>Slet</button></td>
</tr>";
}
echo "</table><br>";
echo "Fetched data successfully\n";
mysqli_close($conn);