首页 > 解决方案 > 注意错误:未定义的索引:

问题描述

我必须用数据库中的值填充下拉选择,然后我必须使用我已经完成的 javascript 函数检查该值是否正确。

我有两列,一列带有 id 标识符,另一列带有名称。选择“comune”必须将 ID 返回到 javascript 函数,但名称必须打印在选择中。这是我到目前为止写的代码。

    <?php ?>
<html>
<head>
</head>
<body>

<?php
require "connessione.php";
ini_set('display_errors', 1);

?>


<form name="myForm" action="javascript:funzione_visualizzazione();">

               <select name="comune">
                <?php
                $sql = "SELECT * FROM table_3"; 
                $query = mysqli_query($connessione,$sql) or die("MySQL error: " . mysqli_error($connessione) . "<hr>\nQuery: $query");


        while($row=mysqli_fetch_array($query)){

                $nome_comuni = $row["nome_comuni"];

                $id_comuni = $row["id_comuni"];

                         ?>
                <option value="<?php echo $id_comuni?>"><?php echo $nome_comuni?></option>

                <?php
        }
                     ?> 



        </select>

        <select name="fabbisogno_totale">
                <option value="5"> 5t </option>
                <option value="15"> 15t </option>
                <option value="20"> 20t </option>
                <option value="25"> 25t </option>
                <option value="30"> 30t </option>
        </select>

        <input name="fabbisogno_coperto" type="number" value="    " size="40" maxlength="25" />

        <script language="javascript">
        function funzione_visualizzazione(){

            if(document.myForm.comune.value != null && document.myForm.fabbisogno_totale.value != null && document.myForm.fabbisogno_coperto.value != null){
                //call the php page for elaborate datas
            }
            else 
                alert("inserire dati in tutti i campi");

        }


        </script>




</form>

</body>
</html>

该代码已正确连接到数据库,因为它打印“已连接到 mySQL”。

我正在 xampp 上进行测试,因为真正的数据库现在无法正常工作。

更新:我解决了以前的错误,但现在我收到通知错误

Undefined index: nome_comuni in <b>C:\xampp\htdocs\selezioni.php</b> on line <b>24</b><br />

在我得到的第 24 行$nome_comuni = $row["nome_comuni"]; 上,第 26 行发生了同样的错误

下拉选择有尽可能多的空选择,因为它在数据库中,但它不显示任何内容。例如,如果我在数据库中有 7 行下拉选择显示 7 个空行,我怎样才能显示选择?

这是我的数据库"id_comuni" "id_province" "nome_comuni

还有一个问题,如果我将选择留空,它会返回 null 还是 empy 字符串?

对不起我的英语,但我是意大利人,如果有语法错误,请指出。

标签: javascriptphpmysql

解决方案


就我所见,您将查询结果存储在 var named$cicle中,但尝试使用 var named 访问它们$row

像这样的东西应该可以解决问题。(如果这是你需要的)

此外,请尝试更清楚地提出您的问题,因为您从未提供过您真正需要的正确状态以及未按预期工作的状态

<?php
   $sql = "SELECT * FROM comuni_new"; 
   $query = mysql_query($connessione,$sql) or die("MySQL error: " . 
   mysql_error($connessione) . "<hr>\nQuery: $query");
   while($row = mysql_fetch_row($query)){
      echo '<option value=". $row[\'id_comuni\']">$row[\'nome_comuni\']</option> '
   }
?>

推荐阅读