更新值输入表单类结果

问题描述:

如何我有一个个人页面,管理员可以修改配置文件的用户, 一个页面上的所有过程中完成的,我怎么能更新值形式的数据查询成功更新后刷新? User.class文件:更新值输入表单类结果

class User { 
... 

    public function updateUser($id, $firstname, $lastname, $phone, $birthday, $managerid) 
{ 
    $con = $this->DBconnect(); 
    $id = (int)$id; 
    $managerid = $this->checkParam($managerid); 
    $firstname = $firstname; 
    $lastname = $lastname;; 
    $mobile = $phone; 
    $birthday = $this->checkParam($birthday); 


    $query = "UPDATE `users` SET `manager_id` = :manager_id,`firstname` = :firstname,`lastname` = :lastname,`birthday` = :birthday,`mobile` = :mobile WHERE `id` = :id"; 
    $result = $con->prepare($query); 
    $result->BindParam(':id', $id, PDO::PARAM_INT); 
    $result->BindParam(':manager_id', $managerid, PDO::PARAM_INT); 
    $result->BindParam(':firstname', $firstname); 
    $result->BindParam(':lastname', $lastname); 
    $result->BindParam(':birthday', $birthday); 
    $result->BindParam(':mobile', $mobile); 

    $check = $result->execute(); 
     return true; 


}} 

profile.php文件:

<?php 
if (isset($_GET['id'])) { 
    $id = (int)$_GET['id']; 
} 
$user = new User(); 
$user_info = $user->getuser($id); 
while ($info = $user_info->fetch(PDO::FETCH_ASSOC)) { 
    $firstname = $info['firstname']; 
    $lastname = $info['lastname']; 
    $mobile = $info['mobile']; 
    $birthday = $info['birthday']; 
    $managerid = $info['manager_id']; 

} 
$manager_ob = new Manager(); 
$managers = $manager_ob->getAllManager(); 
$managers_name = array(); 
while ($manager = $managers->fetch(PDO::FETCH_ASSOC)) { 
    $managers_list[] = $manager; 

} 
if (isset($_POST['edit-profile'])) { 
    $update_result = $user->updateUser($_POST['user_id'],$_POST['user_firstname'],$_POST['user_lastname'],$_POST['user_mobile'],$_POST['user_birthday'],$_POST['manager_id']); 
    if($update_result){ 
     echo 'Profile Edited'; 

    } 
} 
?> 

    <form method="post" action="#" class="form-horizontal"> 
    <div class="form-group"><label class="col-sm-2 control-label">ID</label> 

    <div class="col-sm-10"><input type="text" readonly class="form-control" name="user_id" id="user_id" value="<?php echo check_param($id); ?>"/></div> 
           </div> 
           <div class="form-group"><label class="col-sm-2 control-label">Firstname</label> 

            <div class="col-sm-10"><input type="text" class="form-control" name="user_firstname" value="<?php echo check_param($firstname); ?>" /></div> 
           </div> 
           <div class="form-group"><label class="col-sm-2 control-label">Lastname</label> 

            <div class="col-sm-10"><input type="text" class="form-control" name="user_lastname" value="<?php echo check_param($lastname); ?>"/></div> 
           </div> 
           <div class="form-group"><label class="col-sm-2 control-label">Phone</label> 

            <div class="col-sm-10"><input type="text" class="form-control" name="user_mobile" value="<?php echo check_param($mobile); ?>"/></div> 
           </div> 
           <div class="form-group"><label class="col-sm-2 control-label" for="birthday">Birthday 
             </label> 

            <div class="col-sm-10"><input id="birthday" type="text" class="form-control" name="user_birthday"></div> 
           </div> 
           <div class="form-group"><label class="col-sm-2 control-label">Manager</label> 

            <div class="col-sm-10"><select class="form-control m-b" name="manager_id"> 

              <?php foreach ($managers_list as $managers_n) { ?> 

               <option <?php if ($managers_n['id'] == $managerid) { 
                echo 'selected'; 
               } ?> 
                value="<?php echo $managers_n['id']; ?>"> <?php echo $managers_n['name']; ?></option>; 
              <?php } 
              ?> 

             </select> 

            </div> 
           </div> 
           <input type="submit" name="edit-profile" class="btn btn-block btn-w-m btn-success" 
             value="Edit profile"> 
          </form> 

我负载曲线数据提交后编辑:

$update_result = $user->updateUser($_POST['user_id'],$_POST['user_firstname'],$_POST['user_lastname'],$_POST['user_mobile'],$_POST['user_birthday'],$_POST['manager_id']); 
if($update_result){ 
    echo 'Profile Edited'; 

} 

只显示消息资料编辑,但必须刷新页面更新数据 我必须再次提取查询更新值?还是有更好的办法?

我建议你使用Ajax,这非常可能更改数据,而不清爽的最佳方式。约(jQuery的)AJAX http://api.jquery.com/jquery.ajax/

你的其他选择,更多信息很给力后提交刷新。你可以这样做在PHP中是这样的:

Header('Location: '.$_SERVER['PHP_SELF']); 

我会建议选择ajax来解决这个问题。

祝你好运:)

+0

谢谢,我想到了阿贾克斯,但我必须为AJAX创建一个句柄页面上,可以不用处理页面使用了Ajax这个网页? – lock

+0

这将是最好创建一个单独的“页面”(被称为:通话中)确实。您可以处理信息,然后将其回显到页面中。也许看看一些关于做Ajax调用的教程。 – cpalinckx

+0

如果这个答案帮助你,woudl你介意接受它作为正确答案?谢谢 :) – cpalinckx