PHP中的选择条件
page1.phpPHP中的选择条件,php,mysql,Php,Mysql,page1.php echo '<form action="page2.php" name="myform"><table> <tr><td>name:<input type="text" name="n"></td></tr> <tr><td>Choose Desc<select name="desc" value="0">
echo '<form action="page2.php" name="myform"><table>
<tr><td>name:<input type="text" name="n"></td></tr>
<tr><td>Choose Desc<select name="desc" value="0">
$descriptions = mysql_query('SELECT desc FROM desc_table');
while($row=mysql_fetch_array($descriptions))
{
$des = $row['desc'];
echo '<option>'.$des.'</option>';
}
</select>
</td></tr>';
<tr><td>Description:<textarea rows="10" cols="10" name="desc" value="1"></textarea></td> </tr>
<tr><td><input type="submit" value="submit"></td></tr>
</table>
</form>';
$n = $_POST['n'];
$desc = $_POST['desc'];
$sql = "INSERT INTO new (name,desc)
VALUES ($n,$desc)";
mysql_query($sql);
我需要通过选择描述或在文本区域中键入描述来存储一个描述,但只有一个描述应该存储到数据库中。您的表单严重混乱:
<form name="myform">
<table>
<tr>
<td>name:<input type="text" name="n"></td>
</tr>
<tr>
<td>Choose Desc
<select name="desc" value="0">
<?php
$descriptions = mysql_query('SELECT desc FROM desc_table');
while($row=mysql_fetch_array($descriptions))
{
$des = $row['desc'];
echo '<option>'.$des.'</option>';
}
?>
</select>
</td>
</tr>';
<tr>
<td>Description:<textarea rows="10" cols="10" name="desc" value="1"></textarea></td>
</tr>
<tr><td><input type="submit" value="submit"></td></tr>
</table>
</form>
姓名:
选择描述
';
说明:
您到处都缺少引号,而且您似乎错过了PHP代码的开始和结束:
echo '<form name="myform">
<table>
<tr><td>name:<input type="text" name="n"></td></tr>
<tr><td>Choose Desc
<select name="desc" value="0">';
$descriptions = mysql_query('SELECT desc FROM desc_table');
while($row=mysql_fetch_array($descriptions))
{
$des = $row['desc'];
echo '<option>'.$des.'</option>';
}
echo '
</select>
</td></tr>
<tr><td>Description:<textarea rows="10" cols="10" name="desc" value="1"></textarea></td></tr>
<tr><td><input type="submit" value="submit"></td></tr>
</table>
</form>';
echo'
姓名:
选择描述
';
$descriptions=mysql_query(“从desc_表中选择desc”);
while($row=mysql\u fetch\u数组($descriptions))
{
$des=$row['desc'];
回声“.$des.”;
}
回声'
说明:
';
更改为:
$n = $_REQUEST['n'];
$desc = $_REQUEST['desc'];
$sql = "INSERT INTO new (name,desc)
VALUES ("$n","$desc")";
mysql_query($sql);
并将方法添加到标记中
<FORM action="resultscript.php" method="POST"></FORM>
然后再试一次;-)
顺便说一句:如果SQL中的变量可能包含字符串,则需要将它们放在双引号(“)你能解释一下为什么会出现这种情况吗?为什么表单中没有任何操作?很抱歉,这是一个键入错误不,这不是错误,我无法正确插入数据库,那么你需要进行一些调试。mysql\u查询($sql)或死亡(mysql\u错误());它在插入,但问题是它在列中插入了空数据,当我键入描述时,它成功地存储了yya键入问题,但我的代码在我的文件中是正确的,但在将其中一个原因插入数据库时需要帮助您能看到上面的数据库图像吗?当我选择而不是:mysql\u query($sql);执行此操作:echo$sql;并发布结果。这可能会对问题有所帮助…插入新的(name,desc)值(dfhdf,,)-这显示的是wen I echo,也就是说,它没有显示desc I selectedIt是从文本框中插入值,而不是从下拉列表中插入值,因为它们都有相同的名称,所以它使用的是最后一个(本例中的下拉列表)。为它们指定一个不同的名称,然后在第二个脚本中检查选择了哪一个。然后在SQL中使用该名称的值。没错,需要有关检查脚本的帮助吗