注意错误:未定义的索引:

时间:2018-06-15 07:59:48

标签: javascript php mysql

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

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

    <?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字符串?

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

1 个答案:

答案 0 :(得分:0)

我可以看到,您将查询结果存储在名为$cicle的var中,但尝试使用名为$row的var访问它们。

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

另外,试着更清楚地提出你的问题,因为你从来没有提供你真正需要的正确状态,以及什么不按预期工作

<?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> '
   }
?>