Ich habe 3 Tabellen in meiner Datenbank (standards
, courses
,). Ich möchte Fname
und gender
von Tabelle im ausgewählten 'Standard' und 'Kurs' aus Drop-down - angezeigt - aber die Schaltfläche "Senden" scheint nicht zu funktionieren. Der Code ist wie folgt. Ich bin sicher, dass es in die Datenbank als Dropdown Menü für ‚Kurse‘ verbunden ist und ‚Standards‘ Arbeit:Daten können nicht aus der Datenbank angezeigt werden
<html>
<head>
<title>Courses</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div id="container">
<div id="wrapper">
<h1> Students</h1>
<div id="data">
<form action="index.php" method="POST">
<select name="standards">
<option>Standard</option>
<?php
include 'includes/dbconnect.php';
$query1 = "SELECT * FROM standards";
$result1 = mysql_query($query1);
while($rows1 = mysql_fetch_array($result1)){
$standardID = $rows1['id'];
$rowsData1 = $rows1['standardName'];
?>
<option value="<?php echo $standardID; ?>">
<?php
echo $rowsData1; ?></option>
<?php
}
?>
</select>
</div>
<div id="data2">
<select name="courses">
<option>Courses</option>
<?php
$query2 = "SELECT * FROM courses";
$result2 = mysql_query($query2);
while($rows2 = mysql_fetch_array($result2)){
$coursesID = $rows2['id'];
$rowsData2 = $rows2['courseName'];
?>
<option value="<?php echo $courseID;?>">
<?php echo $rowsData2; ?></option> <?php }?>
</select>
</div>
<div id="submit">
<input type="submit" name="submit" id="submit" value="submit"/>
<table border="1" id="table1">
<tr>
<th>Student Name</th>
<th>Gender</th>
</tr>
<?php
if(isset($_POST['submit'])){
$standardName = $_POST['standards'];
$courseName = $_POST['courses'];
$query3 = "SELECT students.Fname, students.gender
FROM students
WHERE students.standardID = '$standardName'
AND students.courseID = '$courseName'";
$result3 = mysql_query($query3);
while($rows3 = mysql_fetch_array($result3)){
//$dataID = $rows3['id'];
$studentName = $rows3['FName'];
$gender = $rows3['gender'];
?>
<tr>
<td><?php echo $studentName; ?></td>
<td><?php echo $gender; ?></td>
<tr>
<?php
}
}
?>
</table>
</div>
</div>
</body>
</html>
1) Sie sollten Ihre Frage als "php" und "mysql" beschriften - 2) Haben Sie diese SQL-Anfragen mit einem Tool wie PHPmyAdmin getestet? - 3) Sie müssen Ihr dbconnect nur einmal pro PHP-Skript aufrufen, wenn Sie die Verbindung zur Datenbank zwischenzeitlich nicht schließen – raphv
Danke raphv- ja ich habe auf phpmyadmin abgefragt und es hat funktioniert ... – Ketchup
** Gefahr **: Sie verwenden [eine ** veraltete ** Datenbank-API] (http://stackoverflow.com/q/12859942/19068), die [entfernt] wurde (http://php.net/manual/en/mysql.php)) von PHP. Sie sollten einen [modernen Ersatz] (http://php.net/manual/en/mysqlinfo.api.choosing.php) auswählen. Sie sind anfällig für [SQL injection attacks] (http://bobby-tables.com/) **, dass eine moderne API es einfacher machen würde [zu verteidigen] (http://stackoverflow.com/questions/60174/ Best-Way-zu-verhindern-sql-injection-in-php) von selbst. – Quentin