Я пытаюсь заполнить список выбора из моей базы данных. Я только хочу, чтобы колонка ‘blogID’ заполнила его, однако я получаю 10 разных списков выбора, все из которых говорят «выбери один». Я не совсем уверен, как решить это.
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$serverName = "localhost";
$uid = "*****";
$pwd = "*****";
$databaseName = "blog";
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>$databaseName);
$con=sqlsrv_connect( $serverName, $connectionInfo);
if ($con)
{
} else {
die( print_r(sqlsrv_errors(), true));
}
$result = sqlsrv_query($con,"SELECT TOP 10 * FROM blog_posts ORDER BY blogID DESC");
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_BOTH))
{
?>
<select>
<option selected="selected">Choose one</option>
<?php
foreach($row['blogID'] as $name) { ?>
<option><?= $name['name'] ?></option>
<?php
} ?>
</select>
<?php } sqlsrv_close($con); ?>
Что я делаю неправильно? попробовал разные подходы, но это так близко, как я получаю ..
Просто двигайся <select>
тег и choose one
вариант за пределами цикла и нет необходимости foreach
петля. Это правильный путь вашего кода.
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$serverName = "localhost";
$uid = "*****";
$pwd = "*****";
$databaseName = "blog";
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>$databaseName);
$con=sqlsrv_connect( $serverName, $connectionInfo);
if ($con)
{
} else {
die( print_r(sqlsrv_errors(), true));
}
$result = sqlsrv_query($con,"SELECT TOP 10 * FROM blog_posts ORDER BY blogID DESC");
?>
<select>
<option selected="selected">Choose one</option>
<?php
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_BOTH))
{
?>
<option><?= $row['name'] ?></option>
<?php
}
?>
</select>
<?php
sqlsrv_close($con); ?>
Потому что вы используете <select>
внутри вашего цикла
Попробуй это :
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$serverName = "localhost";
$uid = "*****";
$pwd = "*****";
$databaseName = "blog";
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>$databaseName);
$con=sqlsrv_connect( $serverName, $connectionInfo);
if ($con)
{
} else {
die( print_r(sqlsrv_errors(), true));
}
$result = sqlsrv_query($con,"SELECT TOP 10 * FROM blog_posts ORDER BY blogID DESC");
?>
<select>
<option selected="selected">Choose one</option>
<?php
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_BOTH))
{
?>
<option><?= $row['blogID'] ?></option>
<?php }
?>
</select>
<?php
sqlsrv_close($con); ?>
Пожалуйста, не используйте короткие теги в PHP