在我的数据库中,我创建了一个名为iso的表(2列 - ISO证书的名称和代码),并且通过下面的代码,我试图将所有证书的名称打印为提交类型按钮(可单击)。但我无法传递哪个按钮传递给下一个文件。请帮忙。谢谢!
<?php
$con=mysqli_connect("localhost","root","","dyna");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM iso");
?>
<form method="post" action="http://localhost/junk.php/">
<?php while($row = mysqli_fetch_array($result))
{ ?>
<input type="submit" name="<?php $row['Code'] ?>" class="login login-submit" value="<?php echo $row['Value'] ?>" >
<?php } ?>
<?php mysqli_close($con); ?>
</form>
答案 0 :(得分:2)
使用名为<button>
的{{1}}元素将证书代码作为值传递,但将名称证书显示为按钮名称:
cert
然后在<button name="cert" value="<?php echo $row['Code']; ?>" type="submit"><?php echo $row['Value']; ?></button>
中,使用POST参数junk.php
根据证书代码确定按下了哪个按钮:
cert
答案 1 :(得分:0)
如果你想要值和代码意味着。使用分隔符将code
与值联系起来。
<input type="submit" name="certificate" class="login login-submit" value="<?php echo $row['Value'].'_'.$row['Code'] ?>" >
$ss = explode('_',$_POST['certificate']);
echo $ss[0]; //value
echo $ss[1]; //code
答案 2 :(得分:-1)
首先,您可以使用<?= $var ?>
或<?= "test" ?>
进行打印,以避免使用<?php echo...
。
因此,如果我理解了您的问题,则无法将$row
值正确打印到<input>
标记。
您可以调试接收查询的内容,以便在var_dump($row);
部分的任何部分执行while
。因此,如果您正确接收数组,您将看到它具有哪些键。
还有一件事,请将您的mysqli_fetch_array
替换为mysqli_fetch_assoc
,因为第一个分配列名称但是它会将数字键添加到$row
阵列也是。
为了更好地理解,请阅读mysqli_fetch_array和mysqli_fetch_assoc。