Php mysql仅在post包含数据时更新数据
我有一个简单的html表单,用户从网站上的表中选择和标识(必需的数据),然后他可以/或不可以更改2个字段。第一个是2个值(字符串)的下拉列表,第二个是打开点的数量! 因此,如果用户将两个字段都留空,并错误地单击“发送”,则不会发生任何事情。如果用户只更改其中一个字段,则该字段只应更改 我已经检查了这里的每个论坛和几乎所有的帖子,但我仍然无法让它工作Php mysql仅在post包含数据时更新数据,php,mysql,Php,Mysql,我有一个简单的html表单,用户从网站上的表中选择和标识(必需的数据),然后他可以/或不可以更改2个字段。第一个是2个值(字符串)的下拉列表,第二个是打开点的数量! 因此,如果用户将两个字段都留空,并错误地单击“发送”,则不会发生任何事情。如果用户只更改其中一个字段,则该字段只应更改 我已经检查了这里的每个论坛和几乎所有的帖子,但我仍然无法让它工作 <form action="viv_settings_tecaji.php" method="post"> Datum term
<form action="viv_settings_tecaji.php" method="post">
Datum termina (izberi ID):
<input type="number" name="ID" required><br><br>
<!--Sprememba tega datuma (če ne želiš spremenit pusti prazno):
<input type="date" name="nov_datum"><br><br>-->
Sprememba statusa (če želiš da ostane isto vpiši trenutni status!:
<select name="STATUS">
<option></option>
<option value="zaprt">Zaprt</option>
<option value="odprt">Odprt</option>
</select><br><br>
Sprememba števila odprtih mest
<input type="number" name="st_odprtih_mest"><br><br>
<input type="submit">
</form><br>
基准端(izberi ID):
Sprememba状态(čeželišda ostane isto vpiši trenutni状态!:
扎普特
Odprt
Spremembaštevila odprtih mest
php
有几种方法可以避免在数据库中插入“空”记录。这取决于您是想在客户端(表单提交前)还是服务器端(表单提交到服务器时)插入
我将向您展示如何在服务器端执行此操作,因为您发布了php脚本
在viv\u settings\u tecaji.php中
...
$update_status = $_POST['STATUS'];
$update_st_odprtih_mest = $_POST['st_odprtih_mest'];
$update_ID = $_POST['ID'];
if($update_status == "" || $update_st_odprtih_mest == "" || $update_ID == ""){
die("One of the form fields was empty");
}
...
如果任何表单字段为空,这将终止您的脚本。您可以检查null
或使用PHP的empty()
函数
我希望这会有所帮助!因此,我会使用以下代码使其正常工作。因此,对于部分,如果用户将两个字段都保留为空,我将为至少1个字段编写一个脚本
$sql = "UPDATE razpisani_tecaji
SET
STATUS = IF(LENGTH('$update_status')=0, STATUS, '$update_status'),
ST_ODPRTIH_MEST = IF(LENGTH('$update_st_odprtih_mest')=0, ST_ODPRTIH_MEST, '$update_st_odprtih_mest')
WHERE ID_TECAJA = $update_ID";
一个像样的表单示例如下所示
<form action='' method='post'>
<input type='text' name='field1' required>
<select name='fieldSelect'>
<option value='value1'>Value1</option>
<option value='value2'>Value2</option>
</select>
<input type='submit' name='send'>
</form>
价值1
价值2
那么PHP将是这样的
<?php
if(isset($_POST['send'] && (!empty($_POST['field1']) || !empty($_POST['fieldSelect']))){
$field1 = $_POST['field1'];
$fieldSelect = $_POST['fieldSelect'];
//YOUR SQL CODE
} else {
echo "Please Insert Some Data";
}
?>
<?php
if(isset($_POST['send'] && (!empty($_POST['field1']) || !empty($_POST['fieldSelect']))){
$field1 = $_POST['field1'];
$fieldSelect = $_POST['fieldSelect'];
//YOUR SQL CODE
} else {
echo "Please Insert Some Data";
}
?>