Php 在<;中显示MySQL数据;选择>;弱点

Php 在<;中显示MySQL数据;选择>;弱点,php,mysql,Php,Mysql,我只是想显示一个html下拉列表,显示MySQL数据库行中的选项。据我所知,这应该是可行的。但是,它不会在下拉列表中显示任何内容。活动表的活动ID和名称列中肯定有数据。不知道为什么它没有显示任何内容。请帮忙 应显示name campaign_create.php 您需要回显关闭选择标记。只要在你的循环之后加上这一行,你就没事了 echo '</select>'; 首先,您的HTML标记永远不会用关闭 其次,$con变量在changemactive功能范围内不可用。添加global$

我只是想显示一个html
下拉列表,显示MySQL数据库行中的选项。据我所知,这应该是可行的。但是,它不会在下拉列表中显示任何内容。
活动
表的
活动ID
名称
列中肯定有数据。不知道为什么它没有显示任何内容。请帮忙

应显示
name
campaign_create.php
您需要回显关闭选择标记。只要在你的循环之后加上这一行,你就没事了

echo '</select>';
首先,您的
HTML标记永远不会用
关闭

其次,
$con
变量在
changemactive
功能范围内不可用。添加
global$con到函数的开头以修复它

此外,我更喜欢用这种东西跳进跳出PHP块。考虑这个代码:

<?php
//include db connect
include ("db_con.php");

//campaign change form function
    function changeCampaign() {
    global $con; // we need the connection data in here.
    //set variables
    $query = mysqli_query($con,"SELECT * FROM campaigns");
?>
<table border="1">
    <form action="functions/campaign_change.php" name="campaignChange" method="post">
        <tr>
            <td><select name="campaignList">';
<?php
                    //loop that is NOT displaying the name
                    while ($row = mysqli_fetch_array($query)) {
                        echo "<option value='" . $row['campaignid'] . "'>" . $row['name'] . "</option>";
                    }
?>
            </select></td>
        </tr>
        <tr>
            <td><input type="submit" value="Load" /></td>
        </tr>
        </form>
    </table>';
<?php
}
?>

';
';

在这种情况下,输出的HTML代码就像是
echo
ed一样,但它要好得多。

您的
标记没有关闭。没问题,我几周前自己做的,实际上关闭
没有帮助。。。我用新代码更新了原来的帖子。我真傻,竟然忘了结尾的标签。但是,在添加它时,它仍然没有显示名称。你能告诉我当循环运行时,
?此外,是否存在任何错误?如果“for”循环指的是“while”循环,则它似乎没有运行。另外,我没有意识到任何错误。好的,我尝试创建一个变量
$num=mysqli\u num\u rows($query)
,并回显变量
$num
,它只是空白。我做错了吗?我添加了
错误报告(E\u ALL)在开头。它一无所获。我还添加了一些代码,用于创建访问同一数据库的同一表的活动。这个很好用。我在这里完全糊涂了。
<?php
//include db connect
  include ("db_con.php");

//start session
  session_start();

//set variable names
  $username = $_SESSION['username'];
  $campaignname = addslashes($_POST['name']);

//validate campaign name length
  if ((strlen($campaignname) < 6) || (strlen($campaignname) > 55)) {
    echo 'Campaign name must be between 6 and 55 characters - Please go back and try again.';
    exit;
  }

//create new campaign
  $query = mysqli_query($con, "INSERT INTO campaigns (creator, name) VALUES ('".$username."', '".$campaignname."')");
  if ($query) {
    echo 'Campaign created successfully!';
    header( "refresh:2;url=../index.php" );
  } else {
    echo 'There was an unknown error in creating the campaign - Please go back and try again.';
  }

?>
echo '</select>';
while ($row = mysqli_fetch_array($con, $query)) {
<?php
//include db connect
include ("db_con.php");

//campaign change form function
    function changeCampaign() {
    global $con; // we need the connection data in here.
    //set variables
    $query = mysqli_query($con,"SELECT * FROM campaigns");
?>
<table border="1">
    <form action="functions/campaign_change.php" name="campaignChange" method="post">
        <tr>
            <td><select name="campaignList">';
<?php
                    //loop that is NOT displaying the name
                    while ($row = mysqli_fetch_array($query)) {
                        echo "<option value='" . $row['campaignid'] . "'>" . $row['name'] . "</option>";
                    }
?>
            </select></td>
        </tr>
        <tr>
            <td><input type="submit" value="Load" /></td>
        </tr>
        </form>
    </table>';
<?php
}
?>