gpt4 book ai didi

php - 我如何通过 php 中的复选框更新 sql 记录?

转载 作者:行者123 更新时间:2023-11-29 00:12:34 25 4
gpt4 key购买 nike

我是 PHP 的新手,所以我遇到了一个问题,我在 MySQL 中得到了这些行

+---+--------------+
|ID | published |
+---+--------------+
| 1 | TRUE |
| 2 | FALSE |
| 3 | TRUE |
+---+--------------+

例如,我想更新身份证号码。 2 进入带有复选框的“TRUE”:

<?php 

$host="localhost";
$username="root";
$password="password"; // Mysql password
$db_name="test"; // Database name
$tbl_name="chek_box_test"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
?>

<?php

$id = $_GET['id'];
$select = mysql_query("SELECT * FROM $tbl_name WHERE id = $id");
while($row = mysql_fetch_array($select)){
?>
<form method="post" action="checkbox_test.php?id=<?php echo $id; ?>">
<input type="checkbox" name="publish" <?php
if($row['publish'] == TRUE){
echo "checked='checked'";
}
?>
/>
<input type='hidden' name='id' value="<?php echo $row['id']; ?>" />
<input type="submit" name="submit" value="Update"></form><?php } ?>

<?php
if(isset($_POST['submit'])){
echo $publish = ($_POST['publish'] == 1) ? TRUE : FALSE;
$id=$_POST['id'];
$query = mysql_query("UPDATE $tbl_name SET publish = '$publish' WHERE id =$id");
}
?>

我的问题是,如果我检查 PHP,它只会给我“FALSE”值。我希望如果我检查并单击提交,它会给我“真”或“假”。

请帮我做这件事。任何有用的建议将不胜感激。

最佳答案

您的输入字段的值丢失:

<input type="checkbox" name="publish" value="1" <?php
if($row['publish'] == 'yes'){
echo "checked='checked'";
}
?>
/>

要解决“ undefined index 发布”错误,您可以更改

echo $publish = ($_POST['publish'] == 1) ? TRUE : FALSE;

到:

$publish = FALSE;
if(isset($_POST['publish']) and $_POST['publish']==1) {
$publish = TRUE;
}

关于php - 我如何通过 php 中的复选框更新 sql 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24364433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com