gpt4 book ai didi

php - PHP 和 MYSQL 的复选框

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:44 24 4
gpt4 key购买 nike

我有两个复选框

<form action="" method="post" enctype="multipart/form-data">
<input type="checkbox" name="file_type" value="1"> Filer<br />
<input type="checkbox" name="file_type" value="1"> Statistik
</form>

我的数据库表 das_custermer_files 上有两行。

第 1 行 = 文件第 2 行 = 统计

我如何检查其中之一并将值放入我的行中。

我试过这段代码

if($_POST['file_type'] == 1){
mysql_query("INSERT INTO das_custermer_files (url, das_file_categories_id, das_custermers_id, name)
VALUE('$fileurl', 1, $user_custermers_id, '$name')"
) or die(mysql_error());
}

elseif($_POST['statistik_type'] == 1){
mysql_query("INSERT INTO das_custermer_files (url, das_custermer_upload_id, das_custermers_id, name)
VALUE('$fileurl', 1, $user_custermers_id, '$name')"
) or die(mysql_error());
}
else{
echo "no choices";
}

但如果我只检查其中一个,它仍然会在我的两行中输入值 1。

希望大家明白。如果不。问


我已经做到了。

最终代码:

html

<form action="" method="post" enctype="multipart/form-data">
<input type="radio" name="file_type" value="1"> Filer<br />
<input type="radio" name="file_type" value="2"> Statistik
</form>

PHP

$field = false;

switch($_POST['file_type'])
{
case 1:
$field = 'das_file_categories_id';
break;
case 2:
$field = 'das_custermer_upload_id';
break;
default:
$field = false;
}
if($field)
{
mysql_query("INSERT INTO das_custermer_files (url, $field, das_custermers_id, name)
VALUE('$fileurl', 1, $user_custermers_id, '$name')"
) or die(mysql_error());
}

最佳答案

我的做法是这样的:

我会改用 radio 按钮,以确保选择了一种类型。

形式位:

    <input type="radio" name="file_type" value="0" checked="checked"> None<br />
<input type="radio" name="file_type" value="1"> Filer<br />
<input type="radio" name="file_type" value="2"> Statistik

PHP 位:

$field = false;

// set the field name based on the file type selected in the form
switch($_POST['file_type'])
{
case 1:
$field = '`das_file_categories_id`';
break;
case 2:
$field = '`das_custermer_upload_id`';
break;
default:
$field = false;
}

// if a field has been set ( i.e file_type != 0 ) then build and run the query
if($field)
{

$query = "INSERT INTO `das_custermer_files` (`url`, " . $field . ", `das_custermers_id`, `name`) ";
$query .= "VALUES ('" . $fileurl . "', 1, " . $user_custermers_id . ", '" . $name . "')";
mysql_query($query);
echo "Inserting to db: " . $query;
} else {
echo "No field set: ";
print_r($_POST);
}

注意事项

  • 您正在使用已过时的 mysql_query,请参阅此处:http://php.net/manual/en/function.mysql-query.php
  • 即使您使用的是 $fileurl$user_custermers_id$name,我也看不到这些设置,所以我假设它们是在文件中设置更高的位置

关于php - PHP 和 MYSQL 的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439247/

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