我是PHP的新手并试图使表格彼此相邻而不是出现在第一个表格下面。我试图使用“table style =”float:left“”但显然在PHP中不起作用,任何人都知道如何做到这一点?
试图用你的帮助解决它,但没有任何反应,也许我误解了一些事情,我对此并不是很了解。
<html>
<head>
<title>Produktsida</title>
<style type=”text/css”>
table {
display: inline-block
width: 500px;
}
</style>
</head>
<body>
<?php
require_once 'dbconfig.php';
$result = mysqli_query($con,"SELECT * FROM produkt JOIN bild ON bild.idBild = produkt.idProdukt JOIN ingrediens ON ingrediens.idIngrediens = produkt.idProdukt");
?>
<table border='1'>
<?php
while($row = mysqli_fetch_array($result))
{
$imgData = base64_encode($row['Bild']);
?>
<tr>
<td>
<img src="data:image/jpeg;base64,<?php echo $imgData ?>" /> </td>
</tr>
<tr>
<td>
<?php echo $row['Produkt_Namn'] ?>
</td>
</tr>
<?php } ?>
</table>
<?php
mysqli_close($con);
?>
</body>
答案 0 :(得分:0)
PHP与此无关。浏览器(执行渲染)只能看到PHP的输出(以及您引用的任何静态文件)。
table style="float: left"
应该可以正常工作,只需看你的报价。您不能在由"
个字符分隔的PHP字符串文字中使用未转义的"
。
使用'
或转义引号字符。
答案 1 :(得分:0)
PHP不是客户端语言,它是服务器端语言。您在PHP中创建的任何输出都将呈现为HTML。
默认情况下,我认为表格是块级别的项目,这意味着它们不允许在它们旁边显示内容。
您可以做的是将表格包装在DIV元素中。
<强> CSS 强>
div.table-holder1 { width:50%; float:left; }
div.table-holder2 { width:50%; float:right; }
<强> PHP 强>
print '<div class="table-holder1"><table>...</table></div>';
print '<div class="table-holder2"><table>...</table></div>';
答案 2 :(得分:0)
除非你给你的桌子上课,否则我会这样做:
<table class="myTableClass">
....
</table>
.myTableClass{width:40%; float:left; margin-right:5%}
oghtta修复它
答案 3 :(得分:0)
与问题
没有直接关系我的第一个提示是重新格式化代码而不echo
每一行代码:
<?php
$result = mysqli_query($con,"SELECT * FROM produkt JOIN bild ON bild.idBild = produkt.idProdukt JOIN ingrediens ON ingrediens.idIngrediens = produkt.idProdukt");
?>
<table border='1'>
<?php
while($row = mysqli_fetch_array($result)) { /* Begin looping the rows */
$imgData = base64_encode($row['Bild']);
?>
<tr>
<td>
<img src="data:image/jpeg;base64,<?php echo $imgData ?>" />
</td>
</tr>
<tr>
<td>
<?php echo $row['Produkt_Namn'] ?>
</td>
</tr>
<?php } /* End looping the rows */ ?>
</table>
<?php
mysqli_close($con);
?>
答案
你必须用css设置你的表格样式。默认情况下,表是一个块级元素,它会自动在元素后面添加换行符。
css有两种主要的显示属性:
//The default for the tables, divs etc. Most elements use display: block.
display: block
//The default for span, img and some others
display: inline
正如您所知,span
元素不会在元素后面添加换行符,因此如果不是因为一个问题,您可以使用它:它们没有任何实际尺寸,所以你不能为它们设置宽度或高度。例如。
为了解决这个问题,现代浏览器实现了display: inline-block
,它结合了跨度的无换行符和div的维度。根据{{3}},它接近93%的浏览器支持,因此它几乎可以使用了。
如果您想使用display: inline-block
,可以使用此css代码段:
table {
display: inline-block
width: 500px;
}
如果您想了解有关内联块的更多信息,请参阅有关caniuse的此问题。