2017-06-29 15 views
-1

私は大学のデータベースを作っています。管理ページでは、ドロップダウンメニューからプログラムのいずれかを選択すると、特定のプログラムに登録されているすべての生徒の詳細が表示されるというオプションがあります。例えば、ユーザがドロップダウンメニューから「ビジネス管理」を選択して「送信」ボタンを押すと、ビジネス管理プログラムに登録されているすべての生徒の詳細がテーブルに表示されます。以下は私が書いたコードですが、動作しません。私のSQLからドロップダウンを選択してください

<?php 

$con=mysqli_connect("localhost","root","")or die("conection error"); 
mysqli_select_db($con,"hamdard university")or die("dbase error"); 


if(isset($_POST['sub'])) 

{ 
    $p=$_POST['selprog']; 
    $sql="SELECT * from admission_form where program=$p"; 
    $result=mysqli_query($con, $sql); 

    echo "<table border=1> 
     <th>RollNo</th> 
     <th>First Name</th> 
     <th>Middle Name</th> 
     <th>Last Name</th> 
     <th>Address</th> 
     <th>Contact</th> 
     <th>Faculty</th> 
     <th>Major</th> 
     <th>Payment</th>"; 

while($row=mysqli_fetch_array($result, MYSQLI_ASSOC)) 
{ 
    echo "<tr>"; 

    echo "<td>"; 
    echo $row['RollNo']; 
    echo "</td>"; 

    echo "<td>"; 
    echo $row['firstname']; 
    echo "</td>"; 

    echo "<td>"; 
    echo $row['middlename']; 
    echo "</td>"; 

    echo "<td>"; 
    echo $row['lastname']; 
    echo "</td>"; 

    echo "<td>"; 
    echo $row['address']; 
    echo "</td>"; 

    echo "<td>"; 
    echo $row['contact']; 
    echo "</td>"; 

    echo "<td>"; 
    echo $row['major']; 
    echo "</td>"; 

    echo "<td>"; 
    echo $row['payment']; 
    echo "</td>"; 

} 
} 

?> 

<html> 
<head> 
<title>Admin</title> 
</head> 

<body> 
<h2>Fetch Student Data</h2><br> 
<form name="f1" action="" method="POST"> 

<h3>Data by Program</h3> 
Program:<select name="selprog"> 

<option value="Business Management">Business Managemen</option> 
<option value="Liberal Arts">Liberal Arts</option> 
<option value="Performing Arts">Performig Arts</option> 
<option value="Journalism">Journalism</option> 
<option value="Economics">Economics</option> 
</select><br> 

<input type="submit" value="Fetch Data" name="sub"> 

</form> 
</body> 
</html> 
+0

ことができますか? – Silencer310

+0

'$ _POST ['selprog']'は文字列なので、引用符で囲む必要があります。また、SQLインジェクションも可能です。 – chris85

+1

私は[Bobby Tables](https://xkcd.com/327/)が中学校を卒業してこの大学に通うのを待つことができません! – ctwheels

答えて

0
<?php 

$conn = new mysqli('localhost', 'username', 'password', 'database') 
or die ('Cannot connect to db'); 

    $result = $conn->query("select id, name from table"); 

    echo "<html>"; 
    echo "<body>"; 
    echo "<select name='id'>"; 

    while ($row = $result->fetch_assoc()) { 

        unset($id, $name); 
        $id = $row['id']; 
        $name = $row['name']; 
        echo '<option value="'.$id.'">'.$name.'</option>'; 

} 

    echo "</select>"; 
    echo "</body>"; 
    echo "</html>"; 
?> 

それとも、動作していないコードのどの部分関数にそれを作るとhtmlコードの中央に配置し、そのエコー<html>, <body>を取り除くと、すべてのこと

関連する問題