2013-11-27 4 views
1

안녕하세요, 어느 값을 드롭 다운 목록에서 선택했는지 삭제하려고합니다.값이 php의 테이블에서 삭제되지 않습니까?

내가하지 않는 것 드롭 다운에서 테이블 (작동하는) 및 삭제 기능을 (보기 내 연결 및 기능 2 페이지 하나가

에 무슨 일이 일어나고 있는지 이해하는 것 캔트 작업), 다른 하나는 값을 선택하는 함수를 호출하고 삭제합니다.

connection.php

<?php 

//Connect to the database 
function getSQLConnection() { 
$mysqlConnection = new PDO('mysql:host=localhost;dbname=isad235_100000', "root", ""); 

return $mysqlConnection; 
} 

//Get all results from members table 
function getResults($tablename) { 
$sql = "SELECT * FROM " . $tablename; 

$mysqlConnection = getSQLConnection(); 

$ResultSet = $mysqlConnection->query($sql); 
return $ResultSet; 
} 

//Delete results from members table 
function deleteValue($id) { 
$sql = "DELETE FROM members WHERE member_id = '$id'"; 

$mysqlConnection = getSQLConnection(); 

$ResultSetting = $mysqlConnection->query($sql); 
return $ResultSetting; 
} 

    ?> 

delete.php

<?php 
    include_once 'connection.php'; 
    ?> 

<!DOCTYPE html> 
<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Add</title> 
    </head> 
    <body> 

    <h1> Delete a Member from the Members Table. </h1> 

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post'> 
     Delete Member: 
     <select name='members' value='members'id="Mmembers">  
      <?php 
      $results = getResults('members'); 
      if ($results) { 
       foreach ($results as $row) { 
        echo '<option value="' . $row['member_id'] . '">' . $row['name'] . '</option>'; 
       } 
      } 
      else 
       echo '<option value="0"0"> No Data</option>'; 
      ?> 

     </select> 

     <input type="submit" id="delete" value="Delete"/> 
     <br/> 
     <br/> 
    </form> 
    <?php 
    if (isset($_POST['members'])) { 


     $ResultSetting = deleteValue(($_POST['members'])); 
    } 
    ?> 
    <br/> 
    <br/> 

    <form action='index.php' method='GET'> 
     Go Back: 
     <input type="submit" name="submit" value="Return"/> 
    </form> 

    <br/> 
</body> 
</html> 
+1

작동하지 않는다는 것은 오류가 발생했음을 의미합니까? 또는 쿼리가 행을 삭제하지 않습니까? 스크립트 시작 부분에 다음 내용을 넣으십시오. error_reporting (E_ALL | E_STRICT); ini_set ('display_errors', true); – Matthew

+0

양식 데이터가이 기능에 발송 되었습니까? 데이터를 index.php로 보내고 거기에서 아무 일도 일어나지 않는 것처럼 보입니까? – gorgi93

+0

그것의 좋아, 나는 그것을 작동하게했다! 함수의 일부를 명명하는 데 약간의 오류가있었습니다. –

답변

1

난 당신의 코드를 실행하고 그것으로 오류가 표시되지 않습니다. '회원'테이블의 id 열이 'member_id'인지 확인하십시오. 이름에 불일치가 있으면 옵션 요소의 값이 설정되지 않습니다. 또한 삭제 한 값은 초기 페이지 제출 후에도 계속 표시됩니다. 제출 후 페이지를 다시로드하면 값이 사라진 것을 확인할 수 있습니다.

관련 문제