【问题标题】:Drop Down List and PHP下拉列表和 PHP
【发布时间】:2014-12-06 14:31:54
【问题描述】:

我有一个带有 Select Option 的下拉列表,其中写入的信息是通过查询从数据库中检索出来的。

<select name="moto">
      <?php 
        include 'connessione.php';
        $qry = "SELECT NomeOggetto FROM Oggetto";
        $result = mysql_query($qry);
        while($row = mysql_fetch_array($result))
        {
            echo '<option value='.$row["NomeOggetto"].'>'.$row["NomeOggetto"].'</option>';
        }
        ?>
</select>

问题是,如果在菜单中我有一辆摩托车的名称,其名称之间有一个空格,例如(Kawasaki Ninja),当我使用 POST 方法将它发送到 PHP 页面时,它只会显示 Kawasaki。如何显示包含空格的整个名称?这是php页面:

<?php  echo $_POST['moto'];  ?>

【问题讨论】:

  • 如果我使用 mysqli 则不起作用。值甚至不会显示在下拉列表中。
  • mysqli_* 会比mysql_* 工作更好。您的代码中可能只有一个错误 - 您最好询问该错误以及这个错误。
  • @DanielaMatteo 使用的扩展集的数据库类型应该没有问题。使用 mysqli 的建议是有效的。如果您的代码中断,那么调试它以使其正常工作应该是一项简单的任务。

标签: php html sql select


【解决方案1】:

尝试使用urlencode 发送并解码。

您也可以将其打印为echo " '$_POST['moto']' "word1 word2 打印为 1 个字符串,因为它包含在引号中:

尝试print_r($_POST); 看看您是否发布了整个字符串。

【讨论】:

  • 一个 HTML select 会自动对数据进行urlencode。
【解决方案2】:

您必须在 HTML 中的属性值周围加上引号

来自

echo '<option value='.$row["NomeOggetto"].'>'.$row["NomeOggetto"].'</option>';

echo '<option value="'.$row["NomeOggetto"].'">'.$row["NomeOggetto"].'</option>';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2012-12-17
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多