【问题标题】:filling combobox with data from php database用 php 数据库中的数据填充组合框
【发布时间】:2019-08-10 15:37:27
【问题描述】:

这是我的代码

    <select>
        <?php
        $query = "SELECT * FROM 'sections'";
        $result = mysql_query($query);  
            while($row=mysql_fetch_array($result)){                                                 
            echo "<option value='".$row[id]."'>".$row[sectionName]."</option>";
            }
        ?>          
    </select>

什么都没发生,我不知道为什么 这个我的页面可能有些地方有问题

<?php
    ob_start();
    session_start();
    include('../includes/connect.php');
    include('../includes/phpCodes.php');        

?>

<!DOCTYPE html>
<html>
    <head>
        <title>لوحة التحكم</title>
        <meta charset="utf-8">

        <link rel="stylesheet" type="text/css" href="../css/mainstyle.css">
        <link rel="stylesheet" type="text/css" href="css/controlstyle.css">
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('#tabs div').hide();
                $('#tabs div:first').show();
                $('#tabs ul li:first').addClass('active');
                $('#tabs ul li a').click(function(){ 
                    $('#tabs ul li').removeClass('active');
                    $(this).parent().addClass('active'); 
                    var currentTab = $(this).attr('href'); 
                    $('#tabs div').hide();
                    $(currentTab).show();
                    return false;
                });
            });
        </script>
    </head>
    <body>
    <div class="wrapper">
        <?php headerCode(); ?>
        <div class="content">
              <div id="tabs">
                <ul>
                    <li><a href="#add">اضافة موضوع</a></li>
                    <li><a href="#remove">حذف موضوع</a></li>
                    <li><a href="#edit">تعديل موضوع</a></li>
                    <li><a href="#edit">التحكم بالاقسام</a></li>
                </ul>
                <div id="add">
                    <form method="POST" action="includes/add.php" dir="rtl" enctype="multipart/from-data">
                        <br>
                        حدد القسم :
                        <select>

                                    <?php
                                    $query = "SELECT * FROM 'sectionsd'";
                                    $result = mysql_query($query);
                                    while($row=mysql_fetch_array($result)){
                                        echo "<option value='".$row[id]."'>".$row[sectionName]."</option>";
                                    }?>         
                        </select><br>
                        عنوان الموضوع :<input type="text" name="title" class="mem-information"/><br>
                        الموضوع : <br /><textarea name="subject" rows="10" cols="50" class="mem-information" style="width: 500px"></textarea><br /><br>
                        الصورة :<input type="file" name="image"><br>
                        <input type="submit" value="إرسال" name="send" class="log" style="color: black">
                    </form>
                </div>
                <div id="remove">
                    <form method="POST" action="includes/remove.php" dir="rtl"><br>
                    حدد القسم :
                    <select name ="sectionsName">
                    <option value="">dd</option>
                    </select>

                        <input type="submit" value="حذف" name="send" class="log" style="color: black">
                    </form>
                </div>
                <div id="edit">

                </div>
                <div id="addDep">

                </div>
            </div>
        </div>
    </div>
    </body>
</html>

对不起我的英语不好 我的桌子

【问题讨论】:

  • 这里多余的“d”是错字吗? $query = "SELECT * FROM 'sectionsd'";
  • SELECT * FROM 'sectionsd' 在您的代码中。是这样吗?
  • 你应该打开display_errors,看看你得到了什么错误。

标签: php database combobox


【解决方案1】:

我看到的问题是您在查询中的表名上使用了单引号,您应该对表名使用反引号或不使用反引号。请尝试以下代码:

<?php
    $query = "SELECT * FROM `sections`";
    $result = mysql_query($query);
    while($row=mysql_fetch_array($result, MYSQL_ASSOC)){                                                 
       echo "<option value='".$row['id']."'>".$row['sectionName']."</option>";
    }
?>

同时开始研究使用 mysqli (http://php.net/manual/en/book.mysqli.php) 或 PDO (http://php.net/manual/en/book.pdo.php),因为 mysql 已弃用。

【讨论】:

  • @BassamBadr,请查看我的更新答案。尝试发布的代码,应该可以。
  • 不应该,尽管它已被弃用,但它应该仍然有效。请添加or die(mysql_error()) like $result = mysql_query($query) or die(mysql_error()) 并报告错误。
【解决方案2】:

试试这个......我们都假设列的名称是“sectionsd”和“d”。

  <?php
  $query = "SELECT * FROM 'sectionsd'";
  $result = mysql_query($query);
  while($row=mysql_fetch_assoc($result)){
     echo "<option value='".$row["id"]."'>".$row["sectionName"]."</option>";
   }?>         
 </select>

如果它不起作用,可能是由于:

1) 您正在使用 mysql_ 函数,并且没有将参数 $link 发送到该函数。喜欢: mysql_query($query, $connectionlink);

2) 表名错误

3) 你有一个错误:使用 mysql_query() 或 die(mysql_error());看看发生了什么

4) 不要在查询中的表名周围使用单引号 '

【讨论】:

    【解决方案3】:
    echo '
          <option value='.$row["id"].'>'.$row["sectionName"].'</option>
        ';
    

    【讨论】:

    • 您能否为您的答案添加一些解释?
    猜你喜欢
    • 2015-07-16
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多