2017-02-23 153 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>'; 

?>