mysql只在post包含数据的地方更新数据

时间:2017-09-06 19:49:09

标签: php mysql

我在html中有一个简单的表单,用户从网站上的表中选择和ID(所需数据),然后他可以/不更改2个字段。首先是2个值(字符串)的下拉列表,第二个是开放点的数量! 因此,如果用户将两个字段都留空并且单击发送,则不会发生任何事情。如果用户只更改其中一个字段,则只更改一个字段!

我已经检查了每个论坛和几乎所有帖子,我仍然无法让它工作。

console.log(results)

PHP

    <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>

3 个答案:

答案 0 :(得分:1)

一个不错的表单示例如下所示

<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>

然后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";
}
?>

简而言之:

  1. 将提交按钮命名为
  2. if(isset($_POST['submit-button-name'])){}
  3. 检查是否点击了提交按钮
  4. 使用名称定义表单的$_POST变量。
  5. 继续使用SQL。

答案 1 :(得分:0)

有几种方法可以避免插入&#34;空&#34;数据库中的记录。这取决于您是要在客户端(表单提交之前)还是服务器端(表单提交到服务器时)执​​行此操作。

我将向您展示如何在服务器端执行此操作,因为您发布了PHP脚本。

viv_settings_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()函数。

我希望这有帮助!

答案 2 :(得分:0)

所以我想使用以下代码让它工作。因此,对于该部分,如果用户将两个字段都留空,我将整理一个脚本,至少需要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";