2017-02-23 190 views
0

希望這個問題不會讓任何人喝酒。 我已經在這裏約9個小時了,不能得到一個下拉來填充。我知道我錯過了一些非常簡單的事情,我正在伸出手去看看是否有人能夠給我一些見解。我打電話來的表有1列,只有名稱(這是唯一的)從MySql和Php填充下拉選擇

我有一個數據庫類被稱爲在我的所有頁面的開始,在所有除2例,其工作正常,在2個例外,它是需要下拉的頁面。我刪除並重新創建了兩個頁面,沒有任何改變。

這兩個頁面都被命名爲select.php和select_p.php。最初的電話如下,並在第一個分隔符「 - >」「?>」後,所以開始打印的一切,直到

include("database.class.php"); 
$database = new database; 
$sql_page = $database->mysqlQuery("SELECT * FROM spec_tables"); 
$edata_page = $database->mysqlFetchArray($sql_page); 
return $edata_page; 
?> 

繼承人在類文件中的溫控功能是其他2個站點工程和在這同一站點

function mysqlQuery($qry) 

{ 

    $rs  = mysql_query($qry, $this->DatabaseLink); 

    return $rs; 



    echo mysql_error(); 

} 

現在,如果我使用的代碼在頁面其他頁面,它不打印,但下拉是空白

<select name='list' value=''><option>Select List</option> 
<? 
$sql_page = $database->mysqlQuery("SELECT * FROM spec_tables"); 
$edata_page = $database->mysqlFetchArray($sql_page); 
return $edata_page; 
foreach($edata_page as $row){ 
?> 
<option value="<?php echo $row; ?>"><?php echo $row; ?></option> 
<? } ?> 
</select> 

我看了以下(加上約20頁那是不是這個接近)

PHP- Fetch from database and store in drop down menu html

How to put table value in a dropdown menu with MYSQL and PHP

http://www.plus2net.com/php_tutorial/list-table.php

http://www.tutorialrepublic.com/faq/how-to-populate-dropdown-list-with-array-values-in-php.php

這是我一直在努力,都無濟於事的所有代碼片段,他們中的一些實際打印代碼在html表單中,任何建設性的幫助將非常感謝。

********************************************************* 
<select name='list' value=''><option>Select List</option> 
<? 
$sql_page = $database->mysqlQuery("SELECT * FROM spec_tables"); 
$edata_page = $database->mysqlFetchArray($sql_page); 
return $edata_page; 
foreach($edata_page as $row){ 
?> 
<option value="<?php echo $row; ?>"><?php echo $row; ?></option> 
<? } ?> 
</select> 
***************************************************************** 
<select name='list' value=''><option>Select List</option> 
<? 
$result = $database->mysqlQuery("select * from spec_tables"); 
if (!$result) die('Couldn\'t fetch records'); 
$num_fields = mysql_num_fields($result); 
$row = array(); 
for ($i = 0; $i < $num_fields; $i++) 
while ($row = mysql_fetch_row($result)) 
    { 
?> 
<option value="<?php echo $row; ?>"><?php echo $row; ?></option> 
<? } ?> 
</select> 
******************************************************************** 
<select name='list' value=''><option>Select List</option> 
<? 
$result = $database->mysqlQuery("select * from spec_tables"); 
if(mysql_num_rows($result) > 0){ 
while($row = mysql_fetch_array($result)) { 
    echo '<option value=". $row['name'] .">' . $row['name'] . '</option>'; 
} 
} 
?> 
</select> 
**************************************************************************** 
Placed in top of file 
$servername = "localhost"; 
$username = "uname"; 
$password = "pword"; 
$dbname = "db_name"; 
// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 
if ($result = mysqli->query("SELECT * FROM 'spec_tables'")) { 
printf("Select returned %d rows.\n", $result->num_rows); 

/* free result set */ 
$result->close(); 
} 


********************************************************************** 
<? 
$sql = "select * from spec_tables"; 
$result = mysql_query($sql); 

echo "<select name='list' value=''><option>Select List</option>"; 

while ($row = mysql_fetch_array($result)) { 

echo "<option value='" . $row['name'] ."'>" . $row['name'] ."</option>"; 
} 
echo "</select>"; 
?> 
************************************************** 
+1

確定短標記被啓用?聽起來像他們不是。啓用它們或將所有'<?'改爲'<?php'。 –

+0

擺脫mysql_並使用當前/現代/好的東西。 – mickmackusa

+0

爲什麼不在代碼中放置一些斷點,查明查詢是否實際返回結果集或錯誤。你是否在數據庫中運行你的查詢來證明它有效?做小而簡單的檢查最終會在某些情況下節省9個小時或更長時間。 – mickmackusa

回答

0

繼承人的代碼,這就是工作

//placed in beginning of code 
<?php 
include("database.class.php"); 
$database = new Database; 

$result = $database->mysqlQuery("SELECT * FROM spec_tables"); 

?> 
//Placed inside html form 
<?php 
echo '<select name="list">'; 
echo '<option>Select List</option>'; 
while ($row = mysql_fetch_array($result)) { 
echo '<option value="' . $row['name'] .'">' . $row['name'] .'</option>'; 
} 
echo '</select>'; 

?>