2017-02-23 10 views
0

Надеюсь, этот вопрос не заставит никого пить. Я был в этом около 9 часов и не могу получить каплю, чтобы заполнить. Я знаю, что мне не хватает чего-то очень простого, и я обращаюсь к нему, чтобы узнать, может ли кто-нибудь дать мне некоторое представление. Таблица, с которой я звоню, имеет 1 столбец и имеет только имена (которые уникальны)Заселение выпадающего списка из MySql & Php

У меня есть класс db, который вызывается в начале всех моих страниц, всего в 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; 
?> 

Херес fucntion в файле класса, который работает на 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

Вы уверены, что короткие теги включены? похоже, что это не так. либо включить их, либо изменить все '

+0

избавиться от mysql_ и использовать что-то текущее/современное/хорошее. – mickmackusa

+0

Почему бы не поставить некоторые точки останова в свой код, выяснить, действительно ли запрос возвращает результат или ошибку. Вы запустили запрос в базе данных, чтобы доказать, что он работает? Выполнение небольших простых проверок заканчивается тем, что в некоторых случаях вам нужно 9 часов или более. – mickmackusa

ответ

0

Heres кодового Thats рабочий

//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>'; 

?> 
Смежные вопросы