用户未在文本框中输入任何内容时,表将更新空白 [英] table updates empty spaces when user do not enter anything to the textbox

查看:59
本文介绍了用户未在文本框中输入任何内容时,表将更新空白的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做一个可以更新员工姓名,职位,部门和标签的项目.

i am doing a project where one may update the name, position, department and tag of the employee.

但是当我做我的项目时,它不会更新,我知道我的代码有问题.你们介意检查一下吗?

But as i do my project, it wont update, i know there is something wrong with my code. would you guys mind checking it.

我的php页面有一个index.php,这是主菜单,如果您单击列表中的员工姓名,将出现一个弹出窗口.该弹出窗口用于更新.

my php page has an index.php which is the main menu, if you click the employee name in the list, a pop up window will appear. that pop up is for updating.

我的php代码(现在正在更新),但发现错误:

my php code (it now updating) but errors found:

<?php
$con=mysql_connect('localhost','root','pss') or die(mysql_error());
mysql_select_db('intra',$con);

if(isset($_POST['submitted']))
    {

    $sql = "SELECT * FROM gpl_employees_list where emp_id='".$_POST['eid']."'";
    $result = mysql_query($sql) or die (mysql_error());
    if(!$result || mysql_num_rows($result) <= 0)
                            {                       
                                return false;
                            }

    $qry = "UPDATE gpl_employees_list SET emp_nme = '".$_POST['ename']."', emp_pos = '".$_POST['pos']."', emp_dep = '".$_POST['dep']."', emp_tag = '".$_POST['tag']."' WHERE emp_id = '".$_POST['eid']."' ";  

    mysql_query($qry) or die (mysql_error()); 
?><script>window.close();</script><?php 
        }       
    ?>

*注意:现在正在更新,但是如果用户将其中一个文本框留空,那么它也会使用空白空间更新表,这就是我现在的问题.我该如何避免呢?我的意思是,如果用户将一个文本框留为空白,则具有空值的数据仍必须包含其旧值,但是如何使用此代码来做到这一点?感谢那些将为您提供帮助的人

*NOTE : this is now updating, but if a user leaves one of the textboxes empty, it updates the table with empty spaces as well and that is my problem now. how do i avoid that? i mean if a user leaves one textbox empty,the data with empty values must still contain its old value,but how to do that with this code? thanks for those who will help


MisaChan

推荐答案

您将$ _POST用作"name/pos/dep/tag",将$ _GET用作"emp",因此可能无法获取这些值. 将GET更改为POST-应该这样做. 由于您正在更新,因此建议您使用GET上的POST. GET更适合搜索.

You use $_POST for 'name/pos/dep/tag' and $_GET for 'emp' so you're probably not getting the values. Change the GETs to POST - that should do it. Since you're updating, I'd recommend using POST over GET. GET is more appropriate for searching.

此外,您可以将所有更新查询放入一个更新查询中. 像这样.

Also, you can put all your update queries into one update query. Like so.

$name = $_POST['name'];
$pos = $_POST['pos'];
$dep = $_POST['dep'];
$tag = $_POST['tag'];
$emp = $_POST['emp'];

$qry_start = "UPDATE gpl_employees_list SET ";
$where = " WHERE emp_id = $emp";
$fields = "";
$updates = "";

if($name){
  $updates .= " `emp_name` = $name,";
}
if($pos){
  $updates .= " `emp_pos` = $pos,";
}
if($dep){
  $updates .= " `emp_dep` = $dep,";
}
if($tag){
  $updates .= " `emp_tag` = $tag,";
}
$updates = substr($updates, 0, -1); //To get rid of the trailing comma.
$qry = $qry_start . $updates . $where;

这篇关于用户未在文本框中输入任何内容时,表将更新空白的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆