【问题标题】:php get id from html selectphp从html选择中获取id
【发布时间】:2011-12-20 15:27:23
【问题描述】:

我的 html 表单如下所示,并使用 add_post_process.php 处理此页面。在这个页面中,我将数据插入到表名“user_post”中的 mysql 数据库中

好吧,我可以将所有数据插入 mysql 数据库,但不能插入 cat_id。如何从我的 html 表单中获取这个 cat_id?如果您需要 add_post_process.php 代码,那么我会发布这个。谢谢。

“user_post”表结构:

post_id
用户ID
主题
图片
img_name
留言
cat_id
猫名
评论数
海报
日期

<form action="add_post_process.php" method="post" name="addpost" 
enctype="multipart/form-data"> 
<select name="cat_name" class="tdpost">
<?php   
while($row = mysql_fetch_assoc($sql))
{
$cat_name = $row['cat_name'];
$cat_id = $row['cat_id'];
echo "<option value='$cat_name'>$cat_name</option>";
}
?>  
</select></td>
</tr>    
<td>&nbsp;</td>
<td><input type="submit" name="submit" value="Add Post" class="submit" />&nbsp;&nbsp;
<input type="reset" name="clear" value="Clear" class="submit" /></td>
</tr>
</table>
</form>

【问题讨论】:

  • 使用 post 您通过元素的名称获取值,该列表中的 cat_id 是什么,只有您将从 post 获得的 cat_name 将 $cat_id 设置为选择选项中的值。
  • 如果将 cat_id 设置为该值,那么我将获得 cat_id,而不是获得 cat_name。我需要两个用户选择的 cat_name 和 cat_id
  • cat_name 是选择框的名称,它将为您提供所选选项的值。要获得两者,您需要在某个隐藏元素或值本身中设置 cat_id。

标签: php


【解决方案1】:

这是提交的 HTML 表单元素的值 - 我猜你想写 echo "&lt;option value='$cat_id'&gt;$cat_name&lt;/option&gt;";。您可以在下面找到更短、更简洁的代码:

<?php while($row = mysql_fetch_assoc($sql)) : ?>
   <option value="<?php echo $row['cat_id'] . '|' . $row['cat_name'] ?>"><?php echo $row['cat_name'] ?></option>
<php endwhile ?> 

你最终会得到这样的选择:

<select name="cat_name">
   <option value="1|category1">category1</option>
   <option value="2|category2">category2</option>
   <option value="3|category3">category3</option>
</select>

因为会发布整个x|categoryx 值,所以将其拆分为| 就足够了
然后在你的 add_post_process.php 文件中这样做:

$cats = explode("|", $_POST['cat_name']);
echo $cats[0]; // cat_id
echo $cats[1]; // cat_name

【讨论】:

  • 好吧,但是如果我将 cat_id 回显到选项值,它会发送 cat_id。我需要将 cat_id 和 cat_name 发送到 mysql 数据库表列名“cat_id”和“cat_name”
  • 我看不懂,请用最终的html和php代码更清楚。仅用于 html 选择命令。
  • 好吧,我可以使用“echo $cats[0]”获得 cat_id。那么什么是sql命令。 $sql = mysql_query("INSERT INTO user_post VALUES('$cats[0]', '', '',)") 是吗?
  • 哦!明白了,非常感谢@MATINO,谢谢。
猜你喜欢
  • 2019-08-25
  • 2014-09-07
  • 1970-01-01
  • 2022-07-16
  • 1970-01-01
  • 2020-11-04
  • 1970-01-01
  • 1970-01-01
  • 2014-04-01
相关资源
最近更新 更多