[英]Grab Information From SQL Database using PHP
現在我已經創建了一個包含一些信息的SQL數據庫。
我目前有三個包含以下列的表:
(1)表名=參議員; columns = Dnumber,Name(2)table name = committeetees; columns = ID,委員會(3)表名= memberCommittee; columns = ID,Dnumber
我的選擇聲明:
SELECT DISTINCT s.name作為參議員FROM參議員為s,委員會為c,memberCommittee為m WHERE s.Dnumber = m.Dnumber和c.ID = m.ID,c.ID =“1001”;
這樣做的目的是使用三個表獲取信息並顯示ID為“1001”的“名稱”。 我的select語句有效,因為它會向委員會中的人員顯示ID為1001,但我不太了解獲取信息的PHP部分。
這部分:
*
$result = mysqli_query($conn, "SELECT DISTINCT s.name as Senator
FROM senators as s, committees as c, memberCommittee as m
WHERE s.Dnumber =m.Dnumber and c.ID = m.ID and c.ID = "1001");
while ($row = mysqli_fetch_assoc($result)){
unset($id, $Senator);
//$id = $row['Features'];
$Senator = $row['Senator'];
echo '<option value="'.$Senator.'">'.$Senator.'</option>';
}
*
有人可以幫我嗎?
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script language="javascript" type="text/javascript"> function dynamicdropdown(listindex) { document.getElementById('senator').className = listindex; </script> <style> optgroup { display: none; } select.Agriculture optgroup.Agriculture { display: block; } div#header{ padding: 1px; color: yellow; padding-left: 9px; background-color: #000080; } .category_div{ padding: 3px; } .sub_category_div{ padding: 3px; } .microphone{ padding: 3px; } .body{ padding-right: 5px; } </style> </head> <body> <div class="header" id="header"> <h1>Indiana State Senate IT</h1> </div> <div class="room130"> <h3>Room 130</h3> <form target="Room 130" action = "room130.php" method="POST"> <div class="category_div" id="category_div">Committee: <select id="committee" name="committee" onchange="javascript: dynamicdropdown(this.options[this.selectedIndex].value);"> <option value="">Select Committee</option> <option value="Agriculture">AGRICULTURE</option> </select> </div> <div class="sub_category_div" id="sub_category_div"> Individual: <select name="senator" id="senator"> <option value="">Select individual</option> <optgroup class="Agriculture"> <?php $conn = mysqli_connect("db.soic.indiana.edu", "i308f16_team43", "my+sql=i308f16_team43", "i308f16_team43"); if(!$conn){ die("Connection Failed".myslqi_connect_error()); } $result = mysqli_query($conn, "SELECT DISTINCT s.name as Senator FROM senators as s, committees as c, memberCommittee as m WHERE s.Dnumber = m.Dnumber and c.ID = m.ID and c.ID = "1001"); while ($row = mysqli_fetch_assoc($result)){ unset($id, $Senator); //$id = $row['Features']; $Senator = $row['Senator']; echo '<option value="'.$Senator.'">'.$Senator.'</option>'; } ?> </optgroup> </option> </select> </div> </body> </html>
你有一個錯誤的雙引號序列(你應該將1001包裝在單引號內
$result = mysqli_query($conn, "SELECT DISTINCT s.name as Senator
FROM senators as s, committees as c, memberCommittee as m
WHERE s.Dnumber =m.Dnumber and c.ID = m.ID and c.ID = '1001'");
你應該回顯行結果
echo '<option value="'.$row['Senator'].'">'. $row['Senator'] .'</option>';
並確保你沒有c.ID作為整數,在這種情況下你應該使用單引號1001
$result = mysqli_query($conn, "SELECT DISTINCT
s.name as Senator
FROM senators as s
, committees as c
, memberCommittee as m
WHERE s.Dnumber =m.Dnumber
and c.ID = m.ID
and c.ID = 1001;");
和(只是一個建議)你應該明確加入sintax)
$result = mysqli_query($conn, "SELECT DISTINCT
s.name as Senator
FROM senators as s
INNER JOIN memberCommittee as m on s.Dnumber =m.Dnumber
INNER JOIN committees as c on and c.ID = m.ID
WHERE c.ID = 1001");
mysqli_query()返回一個mysqli_result對象(失敗時為false)。 該對象有一個名為:: fetch_assoc()(或fetch_assoc(),過程樣式)的方法,該方法不帶參數並返回數組。 while用於迭代直到所有行返回(一次一個)到$ row變量。 當$ row從fetch_assoc()獲得false時,循環停止。 查看手冊: http : //php.net/manual/en/mysqli-result.fetch-assoc.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.