0

我正在尝试通过嵌入在 HTML 中的 PHP 填充下拉列表。

这是我到目前为止所拥有的:

  <select name="ChapterList" id="ChapterList" style="width:120px;">
    <?php
    $username = "xxxxxxxxxxx";
    $password = "xxxxxxxxx";
    $database = "xxxxxxxxxxxxxx";
    $host = "xxxxxxxx.mydomainwebhost.com";

@mysql_connect($host, $username, $password) or die("Unable to connect to database");
@mysql_select_db($database) or die("Unable to select database");

$query = "SELECT * FROM Chapters ORDER BY Id";

$ListOptions = mysql_query($query);

while($row = mysql_fetch_array($ListOptions))
{
    echo "<option value='".$row['Id']."'>".$row['ChapterName']."</option>"
}
     ?>
     </select>

我知道我收到了预期的结果,因为如果 I echo $row['ChapterName'];,我在数据库中的当前值以正确的顺序列出,那么为什么当我echo "<option value='".$row['Id']."'>".$row['ChapterName']."</option>"的列表什么也没收到时呢?

4

5 回答 5

1

echo您的语句末尾缺少分号

  while($row = mysql_fetch_array($ListOptions)) {
     echo "<option value='".$row['Id']."'>".$row['ChapterName']."</option>";
   }
  ?>

注意:开始使用PHP 团队不再维护的mysqli_()函数。mysql_()

于 2012-10-09T05:18:00.837 回答
0

尝试使用这个

  <?php
$form='';
$link = odbc_connect ('databasename', 'username', 'password');
if (!$link)
{
 die('Could not connect: ' . odbc_error());
}
echo 'Connected successfully .<br>';

//Query the database
$sql = "SELECT * FROM Chapters ORDER BY Id ";
$result = odbc_exec($link,$sql);
$selectbox='<select id=combox name=Chapters  >';



            while($bin =odbc_fetch_array($result))
                {

                    $selectbox.= "<option  value=\"$bin[Chapters]\">$bin[FChapters]</option>";
                }


                    odbc_close($link);
                    $selectbox.='</select>';
                    echo "Select Name".$selectbox;
 ?>

这段代码对我来说很完美

于 2012-10-09T08:28:35.547 回答
0

好的......所以我以某种方式解决了我自己的问题。

我发现我的 php 被注释掉了<--! -->。我只是将文件扩展名更改.php.html. 下拉列表立即生效,并填充了正确的值。

但这提出了另一个问题......我怎样才能让内联PHP 工作?我的网站由 MyDomain 托管。有没有我在某处缺少的设置?

于 2012-10-11T04:14:03.453 回答
-1

尝试使用这个

<select>
  while($row = mysql_fetch_array($ListOptions))
   {
$id=$row['Id'];
$cname=$row['ChapterName'];
       echo "<option value='$id'>$cname</option>";
   }
  ?></select>
于 2012-10-09T05:21:12.057 回答
-1

我已经纠正了他们只看一次,


    <?php 
$username = "xxxxxxxxxxx";
$password = "xxxxxxxxx";
$database = "xxxxxxxxxxxxxx";
$host = "xxxxxxxx.mydomainwebhost.com";
$dbc=@mysqli_connect($host, $username, $password,$database) or die("Unable to connect to database");
?>

<select name="ChapterList" id="ChapterList" style="width:120px;">
<?php
$query = "SELECT * FROM Chapters ORDER BY Id";

$ListOptions = mysqli_query($dbc,$query);

while($row = mysqli_fetch_array($ListOptions,MYSQLI_ASSOC))
{
    echo "<option value='".$row['Id']."'>".$row['ChapterName']."</option>";
}
?>
 </select>
于 2012-10-09T05:46:33.593 回答