2016-05-25 11 views
0

ここにHTMLとPHPが混在しています。私はそれらを分離しなかったタグはPHPによって占められていたcoz。データがデータベースから削除されないドロップダウン

<form method="post"> 
    <select name="Select User" value="Select User"> 
    <?php 
    $sth = $conn->prepare('Select username From users'); 
    $sth->execute(); 
    $data = $sth->fetchAll(); 
    foreach ($data as $row){ 
     if($row['username']!="") 
    echo " <option id=\"Select_user\" name=\"Select_user\" value=\"Select_user\">".$row['username']."</option>"; 
    } 
    ?> 

    </select><br> 
    <input type="submit" name="submit" value="Delete"</input> 

    <?php 
      if(! empty($_POST['Select_user'])) 
      { 
      $del_user=$_POST['Select_user']; 
      $sql = "DELETE FROM users WHERE username=:del"; 
      $sth = $conn->prepare($sql); 
      $sth->execute(array(':del'=>$del_user)); 
      } 

    ?> 

ドロップダウンが正しくデータをフェッチされますが、削除が起きていません。どうして?あなたは$ _POSTにユーザー名をしたいようにあなたは、PHPに掲載されるオプションの値に適切なデータを設定する必要が

+0

エコーあなたのクエリと参照してください。 –

+0

私はそれで何を見ますか? –

答えて

-1

、選択されたオプションの値は、オプションの値になるように設定ユーザー名を掲載させていただきます。

<form method="post"> 
    <select name="user_selection"> 

    <?php 
     $sth = $conn->prepare('Select username From users'); 
     $sth->execute(); 


    $data = $sth->fetchAll(); 
    foreach ($data as $row){ 
     if($row['username']!="") 
     echo '<option id="Select_user" name="Select_user" value="'.$row["username"].'">'.$row["username"].'</option>'; 
    } 
    ?> 

    </select><br> 
    <input type="submit" name="submit" value="Delete"</input> 

    <?php 
      if(! empty($_POST['user_selection'])) // access element by its name 
      { 
      $del_user=$_POST['user_selectio']; 
      $sql = "DELETE FROM users WHERE username=:del"; 
      $sth = $conn->prepare($sql); 
      $sth->execute(array(':del'=>$del_user)); 
      } 

    ?> 
+0

ドロップダウンが正しい値を示しています。削除ボタンから値を削除できません。 –

+0

'user_selection'ではなく 'username'という要素の名前ではありませんか? –

+0

私はちょうどあなたの理解のためにそれを変更しました –

関連する問題