2014-12-06 55 views
0

我從mysql表中載入表格數據。到現在爲止還挺好。現在我做了一個名爲Update的按鈕,它打開了新的頁面,我可以在數據庫中更新單行。問題是,當我打開更新表單時,所有的字段都是空的,如果我想只更新一些行並留下空白的其他字段,它們在數據庫中更新爲空白,這是正常的。我如何將信息填充到更新表單中? 這是我目前用來更新數據庫中的某些記錄。在窗體中加載數據並在數據庫中更新行

文件edit.php

error_reporting(E_ALL); 
ini_set('display_errors', 1); 
$pdo = Database::connect(); 
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     $id = null; 
     if (!empty($_GET['id'])) 
     { 
      $id = $_REQUEST['id']; 
     } 
     if (null==$id) 
     { 
      echo "null==$id"; 
     } 
     // keep track post values 
      $name = $_POST['name']; 
      $image = $_POST['image']; 
      $image_big = $_POST['image_big']; 
      $description = $_POST['description']; 

        // update data 
      $pdo = Database::connect(); 
      $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      $sql = "UPDATE food set name = ?, image = ?, image_big = ?, description = ? WHERE id = ?"; 
        $q = $pdo->prepare($sql); 
        $q->execute(array($name, $image, $image_big, $description, $id)); 
        Database::disconnect(); 
        echo "<code>Updated!</code>"; 

      // html form 

如果我離開例如name空的,並把一些新的數據在所有其他領域時,我打在數據庫nameUpdate按鈕將顯示爲空白。

更新與html形式

<!-- Text input--> 
     <div class="form-group"> 
      <label for="meal_name">Име</label> 
      <input id="name" name="name" placeholder="Name" class="form-control" type="text"> 
     </div> 

其他字段相同的部分..

+2

你可以顯示你的'html'形式嗎? – Goro 2014-12-06 13:07:03

+2

您如何致電更新頁面,請提供相應的代碼。 – 2014-12-06 13:09:50

+0

這是同一個文件'action =「」method =「post」' – 2014-12-06 13:14:04

回答

0

在這種情況下,請儘量把這樣的事情在<input>字段,您是否字段爲空和ASIGN(沒有測試過)

value="<?php echo !empty($name)?$name:'';?>" 

所以你的表單字段會變得像

<!-- Text input--> 
    <div class="form-group"> 
     <label for="name">Name</label> 
     <input value="<?php echo !empty($name)?$name:'';?>" id="name" name="name" placeholder="Name" class="form-control" type="text"> 
    </div> 
+0

謝謝你的回答。我會測試這個,並會告訴你它是否有效。 – 2014-12-06 13:14:58

+0

所以,當我加載頁面的所有數據填充除了圖像的形式。爲什麼他們沒有加載? – 2014-12-06 13:23:02

+1

自工作以來,我會接受您的答案。對於這個圖像我會想出來。 – 2014-12-06 13:34:40