Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 注册表-在数据库中的新行上插入复选框_Php_Database_Insert_Row - Fatal编程技术网

Php 注册表-在数据库中的新行上插入复选框

Php 注册表-在数据库中的新行上插入复选框,php,database,insert,row,Php,Database,Insert,Row,我在练习PHP编程。我已经做了一份登记表 2名和姓氏的文本区域 2个性别选择单选按钮-尚未开始工作 8个复选框4个主题和爱好 我有一个数据库表,其名称为 5列名、姓、性别、科目、爱好 正在提取表单中的数据,但每个复选框都会插入到名称下方的下一行中 例如,David Bekham主题php asp和hobby tv reading没有出现在同一行,而是出现在下一行,与记录的名称相对 因为这是我第一次,我的问题是 Q1:-这样的表单记录应该是这样出现的吗? 问题2:如果没有,问题在哪里/什么地方?

我在练习PHP编程。我已经做了一份登记表

2名和姓氏的文本区域 2个性别选择单选按钮-尚未开始工作 8个复选框4个主题和爱好

我有一个数据库表,其名称为

5列名、姓、性别、科目、爱好

正在提取表单中的数据,但每个复选框都会插入到名称下方的下一行中

例如,David Bekham主题php asp和hobby tv reading没有出现在同一行,而是出现在下一行,与记录的名称相对

因为这是我第一次,我的问题是

Q1:-这样的表单记录应该是这样出现的吗? 问题2:如果没有,问题在哪里/什么地方? 你能帮我单选按钮代码或者给我一个简单的链接来学习它吗

HTML表单

php文件


你的桌子是如何构造的?我需要查看结构才能为您提供实际查询,但在我看来,您将每个值作为单独查询的一部分插入到数据库中,这将始终导致在数据库中插入单独的行。如果要将人员的名字、姓氏、爱好和运动等存储在表的一行中,则需要执行查询并在1个查询中插入值,而不是单独的查询。因此,如果您目前正在做:

"INSERT INTO persons(FistName, LastName)VALUES ('$_POST[a]','$_POST[b]')";
"INSERT INTO persons(Subject) VALUES('$s[$i]')"
"INSERT INTO persons(Hobbies) VALUES('$h[$i]')"
你应该:

"INSERT INTO persons(FistName, LastName, Subject, Hobbies) VALUES('$_POST[a]','$_POST[b]','$s[$i]','$h[$i]')"
此外,为了确保正确的HTML标准符合性、可读性以及具有文本阅读器的用户的可访问性等,您应该将每个输入的文本作为标签插入。所以我的意思不是:

<input type="checkbox" name="sb[]" value="php"/> PHP 
<br/>
<input type="checkbox" name="sb[]" value="asp"/> ASP.NET
你应使用:

<input type="checkbox" name="sb[]" id="checkbox_php" value="php"/><label for="checkbox_php">PHP</label> 
<br/>
<input type="checkbox" name="sb[]" id="checkbox_asp" value="asp"/><label for="checkbox_asp">ASP.NET</label>
然后,您可以使用CSS来排列标签和复选框,如您希望的浮动等。为了使复选框正确显示并与标签垂直对齐,我通常使用表格。这并不理想,因为它不是表的预期用途,但它解决了跨浏览器问题和一些浏览器中这些项目的垂直对齐的旧浏览器问题,并将标签与复选框本身保持在同一行上。例如:

<table>
<tr>
<td><input type="checkbox" name="sb[]" id="checkbox_php" value="php"/></td>
<td><label for="checkbox_php">PHP</label></td>
</tr>
</table>

另一方面,您的代码非常容易受到SQL注入的攻击。您应该仔细阅读有关或是否使用MySQLi扩展的信息。

您有什么问题吗?我似乎不太明白你的问题是什么。您的表单是否正常工作,并且数据实际上已插入到数据库中?或者这只是一个如何将其放入数据库的问题?您好@Fred我的代码运行良好,所选的所有内容都将进入数据库,但复选框中的值似乎位于表中名称下方的下一行,因此,如果我选中4个复选框,我将得到5行,一行用于名称,四行用于复选框。我不知道这是否是正确的数据显示方式,或者是否有什么问题,然后呢?啊,好的,我明白了。好吧,从我所看到的,我怀疑这是一个好的方式做它,我不是一个在这一领域的专家。我会先用谷歌搜索你的问题,然后你可能会在这里找到一个链接来回答你的问题。我会检查一下你的代码,看看我是否能想出一些东西,但别逼我,干杯。谢谢,我也在尝试用谷歌搜索答案。问题在于如何将数据放在表中的一行中:不客气。好吧,我的朋友,从你的密码我可以告诉你,我不能给你一个可行的答案,对不起。继续看,我相信你会找到一些东西的,干杯。谢谢这个Zappa,你能告诉我如何按照我的表格将信息放在表格的一行吗?我在表格中的新行中获取每个复选框值:@AbbasAnsari这不是对您问题的实际答案。您当前的HTML与当前的问题无关。是的,非常感谢Fred的-1 Fred。这个问题不是很清楚,因为你在上面的评论中提到了…@Fred-Yup,没错。。。我的问题是如何将数据放入数据库~编程太难了:@Zappa你应该阅读问题,并将我的评论/问题读给OP。这就是我发现实际问题的原因。
$gender=$_POST['gender'];
$chkhobby=implode(',',$_POST['chkhobby']);
<tr>
                        <th>Gender</th>
                        <td>
                            Male<input type="radio" name="gender" checked="checked" value="1">
                            Female<input type="radio" name="gender" checked="checked" value="0">

                        </td>
                </tr>
                <tr>
                        <th>Hobbies</th>
                        <td>
                            read<input id="check_1" type="checkbox" name="chkhobby[]" value="read">
                            write<input id="check_2" type="checkbox" name="chkhobby[]" value="write">
                            play<input id="check_4" type="checkbox" name="chkhobby[]" value="play"> 
                        </td>
                </tr>
<table>
<tr>
<td><input type="checkbox" name="sb[]" id="checkbox_php" value="php"/></td>
<td><label for="checkbox_php">PHP</label></td>
</tr>
</table>
$gender=$_POST['gender'];
$chkhobby=implode(',',$_POST['chkhobby']);
<tr>
                        <th>Gender</th>
                        <td>
                            Male<input type="radio" name="gender" checked="checked" value="1">
                            Female<input type="radio" name="gender" checked="checked" value="0">

                        </td>
                </tr>
                <tr>
                        <th>Hobbies</th>
                        <td>
                            read<input id="check_1" type="checkbox" name="chkhobby[]" value="read">
                            write<input id="check_2" type="checkbox" name="chkhobby[]" value="write">
                            play<input id="check_4" type="checkbox" name="chkhobby[]" value="play"> 
                        </td>
                </tr>