我知道有人已经回答了这个问题,但由于某种原因,他们给定的语法并不适用于我。我试图从数据库中获取一个单选按钮值,并将其显示在单选按钮中。我看过很多关于这方面的教程和红线,但它仍然不起作用。,你们能再检查一下我的代码出了什么问题吗?谢谢,
这就是我如何获取value的方法。
<label>2-3 meters
<input type="radio" name="meter" value="2-3 Meters"
<?php
if($ssh== "2-3 Meters"){
echo "checked"; }
?>>
</label>
<label>1-2 meters
<input type="radio" name="meter" value="1-2 Meters"
<?php
if($ssh== "1-2 Meters"){
echo "checked"; }
?>>
</label>
<label>< 1 meter
<input type="radio" name="meter" value="< 1 Meter"
<?php
if($ssh== "< 1 Meter"){
echo "checked"; }
?>>
</label>这是我的PHP
<?php
$con=mysqli_connect("localhost", "root", "", "db");
$edit=$_GET['id'];
$select="SELECT * FROM table WHERE id='$edit'";
$run=mysqli_query($con,$select);
$row=mysqli_fetch_array($run);
$id = "";
$ssh = "";
if(isset($_GET['ssh'])){
$ssh = $_GET['ssh'];
}
?>发布于 2019-02-21 00:42:36
您的$_GET['ssh']正在通过URL,并且它正在被编码,例如:
当您使用1-2 Meters在PHP上检索它时,给定的值PHP (?ssh=1-2米)将看起来像1-2%20Meters (?ssh=1-2%20米)。注意,%20字符对空格进行整数处理,这是因为空格不是有效的URL字符。请参阅:What's valid and what's not in a URI query?
因此,在将它赋值给$ssh变量之前,您应该对其进行解码。
if(isset($_GET['ssh'])){
$ssh = urldecode($_GET['ssh']);
}要从数据库中获取值并循环单选按钮,应该是:
<?php
while($row=mysqli_fetch_array($run)){
?>
<label><?php echo $row['title']; //whatever row name is on your database ?>
<input type="radio" name="meter" value="<?php echo $row['title']; ?>"
<?php
if($ssh == $row['title']){
echo "checked"; }
?>>
</label>
<?php } ?>见docs:http://php.net/manual/en/mysqli-result.fetch-array.php
https://stackoverflow.com/questions/54797265
复制相似问题