Php 从数据库中输入selectlist
我正在尝试从我的数据库中填写selectlist。我只想让“blogID”一栏填满它,但是我得到了10个不同的选择列表,都说“选择一个”。我真的不知道怎么解决它Php 从数据库中输入selectlist,php,sql-server,database,selectlist,Php,Sql Server,Database,Selectlist,我正在尝试从我的数据库中填写selectlist。我只想让“blogID”一栏填满它,但是我得到了10个不同的选择列表,都说“选择一个”。我真的不知道怎么解决它 <?php error_reporting(E_ALL); ini_set('display_errors', 1); $serverName = "localhost"; $uid = "*****"; $pwd = "*****"; $databaseName = "blog"; $connectionInfo
<?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); ?>
选一个
我做错了什么?尝试了几种不同的方法,但这是我能得到的最接近的方法。因为您正在while循环中使用
试试这个:
<?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中使用短标记,因为您正在while循环中使用
试试这个:
<?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中使用短标记只需移动
标记并在循环外选择一个选项,就不需要使用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); ?>
选一个
只需移动
标记并在循环外部选择一个选项,就不需要使用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); ?>
选一个
同时移动选项-在循环外选择一个谢谢,再靠近一步,现在我得到1个selectlist,但所有值均为“choose one”的选项也移动选项-在循环外选择一个谢谢,再靠近一步,现在我得到1个selectlist,但所有值均为“choose one”您需要将开始标记移动到while()
循环之前,并在while()
循环关闭之后移动结束标记
。此外,您不需要在$row['blogID']
->foreach($row['blogID']作为$name)
上循环。只需直接输出->您需要将开始标记移动到while()
循环之前,然后将结束标记
移动到while()
循环关闭之后。此外,您不需要在$row['blogID']
->foreach($row['blogID']作为$name)
上循环。直接输出->