我正在创建一个表来存储基于虚拟公司及其股票价值的信息。我的目标是使表格看起来正确,同时还能根据用户要购买的股票将用户重定向到单独的页面。
我目前正在使用以下代码:
PHP:
<table width = "50%" align = "center" <tr><th>Company</th><th>Price</th>
<?php
while ($row = mysqli_fetch_assoc($result))
{
$companyName = $row['companyName'];
$price = number_format($row['price'], 2);
echo "<tr><td align = 'left'>" . $companyName . "</td><td align = 'right'>" . $price . "
<form method = 'get' action = 'testing.php'><button type = 'submit' name = 'varname' value = '" . $companyName . "'>Hey</button></form>
</td></tr>";
(我目前有个名为“嘿”的按钮,但这些按钮实际上应该是“购买”。)
这将全部重定向到测试页面,此时,根据用户按下的按钮,将显示某个公司名称。下面的代码可以做到这一点,但我的一个小问题是用户界面。这是页面上的主表:
与删除表中的标记时的外观相比:
如您所见,与第二张图片相比,第一张图片中有大量空白,我知道这是基于标签的。但是,没有表单标签,我的程序不会执行应做的事情。
我研究了其他各种帖子,说我应该将标签放在桌子外面。但是,尝试此操作时,我注意到由于在while循环中显示该表,因此无法正常工作。
我的问题是:是否可以解决此问题(即将标签放置在其他位置),还是需要解决这个问题,即显示用户选择的公司的方式完全不同。
答案 0 :(得分:2)
第一个主要问题是PHP的第一行:
<table width = "50%" align = "center" <tr><th>Company</th><th>Price</th>
应该是这样,并使您的百分比符合您的特定需求。
<table width = "50%" align = "center">
<tr>
<th width="60%">Company</th>
<th width="40%">Price</th>
</tr>
默认情况下,按钮为内联块,因此除非单元格宽度不够宽,否则它们应与文本对齐。
答案 1 :(得分:1)
<form>
html标记也确实会创建很多空白。通过将其保留在循环中,您可以多次创建此标签。所以:
1)从循环中排除<form method = 'get' action = 'testing.php'>
(以及相应的<\form>
)。这将纠正您的代码逻辑并可能解决您的设计问题。
如果您希望减少表空间,则可以将cellspacing=0 cellpadding=0
聚合为<table>
标记内的其他属性->请注意,打开的 table 标记在关闭之前并未关闭th和td!