2017-08-13 5 views
1

PHP OOPで更新クエリを作成しました。基本的に、ここで、ユーザーがデータベーステーブルのフィールドを更新することができますitemedit.phpページは次のとおりです。更新クエリでデータベーステーブルフィールドを空にする

<form action='itemedit.php?i=$i' method='POST'> 
            <td>$i</td> 
            <td><input type='text' name='e' value='".$menuSet->$func()."'/></td> 
            <td> 
             <input type='submit' value='Edit'/>&nbsp; 
             <a title='Remove' href='itemdelete.php?i=$i'><span class='glyphicon glyphicon-remove'></span></a> 
            </td> 
            </tr> 
            </form> 

あなたがここにその後、私の他の質問here ...

を参照してください。この背後にある理論を知っているとしたい場合は、私はこれをコード化しています

public function EditMenuItem($i,$e) 
     { 
      if(!empty($i)) 
      { 
       $adm = $this->db->prepare("UPDATE menu_nav SET menu_link_$i = ?"); 
       $adm->bindParam(1, $e, PDO::PARAM_STR); 
       $adm->execute(); 
      } 
      else 
      { 
       header("Location: php/includes/errors/012.php"); 
       exit(); 
      } 
     } 

そして、ここでは、そのフォームのファイルのアクションです:

if (isset($_GET['i'])){ 
    $i = $_GET['i']; 
    $e = $_POST['e']; 
    $editItem = new Menus(); 

    if(isset($_POST['yes'])){ 
     $editItem->EditMenuItem($i,$e); 
     echo '<META HTTP-EQUIV="Refresh" Content="0; URL=menus.php">'; 
     exit; 
    } 
    if(isset($_POST['no'])){ 
     echo '<META HTTP-EQUIV="Refresh" Content="0; URL=menus.php">';  
     exit; 
    } 

    echo " 
    <div class='content-wrapper'> 
     <section class='content-header'> 
      <h1> 
       Editing Menu Item 
       <small></small> 
      </h1> 
      <ol class='breadcrumb'> 
       <li class='active'>itemedit.php</li> 
      </ol> 
     </section> 
     <section class='content' style='text-align:center;'> 
      <form action='' method='POST'> 
       <h5><strong> 
        Are you sure you want to change the selected item ?</br></br> 
       </strong></h5> 
       <p> 
        <button name='yes' type='submit' class='btn btn-primary'>Yes</button> 
        <button name='no' type='submit' class='btn'>No</button> 
       </p> 
      </form> 
     </section> 
    </div> 
    "; 
0そのカスタムフィールドを更新します

そして、それが正常に動作しますが、問題はそれだけでいくつかの理由から、MySQLデータベース内のテーブルのフィールドが空とヌル作る..です

ですから、この問題を解決する方法を知っていれば、私は本当に感謝教えてください?

+0

変更はどのように/するときは、この関数 'EditMenuItem'呼び出していますか? –

+0

申し訳ありません、私はそれを書き留めて忘れてしまいました。もう一度質問を参照してください – wrephebiajou

答えて

1

これは、2回目の繰り返しで、ユーザーが「はい」または「いいえ」を選択すると、フォームに$_POST['e']の値がないためです。この

<p> 
<button name='yes' type='submit' class='btn btn-primary'>Yes</button> 
<button name='no' type='submit' class='btn'>No</button> 
</p> 

<p> 
<input type='hidden' name='e' value='<?php echo $e;?>'> 
<button name='yes' type='submit' class='btn btn-primary'>Yes</button> 
<button name='no' type='submit' class='btn'>No</button> 
</p> 
+0

ありがとう、このフォーラムは素晴らしいですね:) – wrephebiajou

関連する問題