作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在从mysql数组检索数据时遇到问题,我想做的是,当用户下次为现有ID打开相同的表单时,他应该看到哪个选项被选中,哪个选项没有被选中,所以,如果他提交表单而不更改任何内容(在复选框上),它将再次相同。
代码如下:
$media_array = $_POST['nesto1'];
foreach ($media_array as $one_media) {
$source .= $one_media.", ";
}
$nesto1 = substr($source, 0, -2);
<label><input type="checkbox" name="nesto1[]" value="NewData" /> NewData </label>
<label><input type="checkbox" name="nesto1[]" value="NewData2" /> NewData2 </label>
<label><input type="checkbox" name="nesto1[]" value="NewData3" /> NewData3 </label>
这是我检索数据的方法:
$result = mysql_query("SELECT * FROM `article` WHERE id=".intval($_GET["id"])." ORDER BY id ASC");
$row = mysql_fetch_array($result);
如果我的 mysql 行中的值为:NewData、NewData3,我应该如何在下次打开时检查复选框选项,例如 NeData 和 NewData3。
我尝试过 in_array,但没有成功,这是我尝试过的:
<label><input type="checkbox" name="nesto1[]" value="NewData"<?php echo in_array("NewData",$nesto1)?" checked="checked"":""; ?> />NewData</label>
<label><input type="checkbox" name="nesto1[]" value="NewData2"<?php echo in_array("NewData2",$nesto1)?" checked="checked"":""; ?> />NewData2</label>
<label><input type="checkbox" name="nesto1[]" value="NewData3"<?php echo in_array("NewData3",$nesto1)?" checked="checked"":""; ?> />NewData3</label>
提前致谢。
新代码(我更改了值,数组和语法错误现已修复):
if(isset($_POST["name"]) && isset($_POST["change"]) && isset($_POST["nesto2"]) && is_numeric($_POST["change"])){ $id = intval($_GET["id"]);
$name = mysql_real_escape_string($_POST["name"]);
$nesto1 = mysql_real_escape_string($_POST["nesto1"]);
$nesto2 = mysql_real_escape_string($_POST["nesto2"]);
$change = mysql_real_escape_string($_POST["change"]);
$type= mysql_real_escape_string($_POST["category"]);
$media_array = array();
foreach ($media_array as $one_media) {
$source .= $one_media.", ";
}
$nesto1 = substr($source, 0, -2);
$result = mysql_query("SELECT * FROM `article` WHERE id=".intval($_GET["id"])." ORDER BY id ASC");
$row = mysql_fetch_array($result);
表格:
<label><input type="checkbox" name="nesto1[]" value="Kutija"<?php echo in_array("Kutija",$nesto1)?" checked=\"checked\"":""; ?> />Kutija</label>
<label><input type="checkbox" name="nesto1[]" value="Punjač"<?php echo in_array("Punjač",$nesto1)?" checked=\"checked\"":""; ?> />Punjač</label>
<label><input type="checkbox" name="nesto1[]" value="Baterija"<?php echo in_array("Baterija",$nesto1)?" checked=\"checked\"":""; ?> />Baterija</label>
错误:警告:in_array() 期望参数 2 为数组,在/home/smarthos/public_html/articles/article/edit.php 第 142 行给出 null
最佳答案
语法错误:
in_array("NewData",$nesto1)?" checked="checked"":""
^-- ^-- ^^---
您不能在字符串中使用与引用整个字符串相同类型的引号。尝试一下
in_array("NewData",$nesto1)?' checked="checked"':""
^-- ^--
或
in_array("NewData",$nesto1)?" checked=\"checked\"":""
^-- ^--
相反。
关于php - 如何从 mysql 数组检索数据并在表单中选中复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16945305/
我是一名优秀的程序员,十分优秀!