2015-12-21 137 views
0

如何我有一個個人頁面,管理員可以修改配置文件的用戶, 一個頁面上的所有過程中完成的,我怎麼能更新值形式的數據查詢成功更新後刷新? 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'; 

} 

只顯示消息資料編輯,但必須刷新頁面更新數據 我必須再次提取查詢更新值?還是有更好的辦法?

回答

0

我建議你使用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