使表在PHP中彼此相邻

时间:2014-03-12 14:43:09

标签: php css html-table

我是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>

4 个答案:

答案 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的此问题。

相关问题