从数据库中提供行的Php下拉列表

从数据库中提供行的Php下拉列表,php,Php,我有一个表单,让用户购买一些产品。我想通过一个下拉菜单传递产品,我正试图通过一个while循环来实现这一点。 问题是我看到了$row['nome']。写在表格里,就像另一个一样。除此之外,当我检查页面时,我会得到这部分注释:$query->link 在代码中什么似乎不起作用? 多谢各位 <?PHP session_start(); $host="xxxx"; // Host name $username="xxxx"; // Mysql username $pa

我有一个表单,让用户购买一些产品。我想通过一个下拉菜单传递产品,我正试图通过一个while循环来实现这一点。 问题是我看到了$row['nome']。写在表格里,就像另一个一样。除此之外,当我检查页面时,我会得到这部分注释:$query->link

在代码中什么似乎不起作用? 多谢各位

<?PHP
session_start();
    $host="xxxx"; // Host name 
    $username="xxxx"; // Mysql username 
    $password="xxxx"; // Mysql password 
    $db_name="xxxxx"; // Database name 
    $tbl_name="utilizador";


    // Connect to server and select databse.
    $link = mysqli_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysqli_select_db($link , $db_name)or die("cannot select DB");

    // CHECK LOG IN

    if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true) {
        echo "";

} else {
    header('Location: ../index.php');
}
    // END OF LOG IN CHECK
$link->close();

?>



<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Formulario De Encomenda</title> 
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>     
  </head>
  <body>
    <form action="" method="post">
        <input type="hidden" name="codigoDeBarras">
        <input type="hidden" name="NIF">
        <input type="hidden" name="valorUnidade">
        <input type="hidden" name="valorTotal">
        <p>
            <label>Data</label>
            <input type="date" name="DataDeEncomenda">
        </p>
        <p>
            <label>Escolher Produto</label>
            <select id="produtos">
                <?php/
                    $query = $link->query("SELECT * FROM produto");
                    while ( $row = $query->fetch_array() ) {
                        echo "<option data-code=". $row['codigoDeBarras'] ." data-price=". $row['preco'] .">" $row['nome'] ."</option>";
                    }
                ?>
            </select>
        </p>
        <p>
            <label>Escolher Fornecedor</label>
            <select id="fornecedor">
                <?php/
                    $query = $link->query("SELECT * FROM fornecedor");
                    while ( $row = $query->fetch_array() ) {
                        echo "<option data-nif=". $row['NIF'] .">". $row['nome'] ."</option>";
                    }
                ?> 
            </select>
        </p>
        <p>



            <label>Quantidade</label>
            <input type="number" min="1" name="Quantidade" value="1">
        </p>
        <p>
            <label>Preco(Unidade)</label>
            <span id="price">0.00</span>
        </p>
        <p>
            <label>Valor Total</label>
            <span id="total_price">0.00</span>
        </p>
    </form>

    <script type="text/javascript">
        jQuery(document).ready(function($){
           var codigoDeBarras = $('input[name="codigoDeBarras"]');
           var nif = $('input[name="NIF"]');
           var valorUnidade = $('input[name="valorUnidade"]');
           var valorTotal = $('input[name="valorTotal"]');
           var quantidade = $('input[name="Quantidade"]');

           $('select#produtos').change(function(){
              if( !$(this).find('option:selected').val() == '' ){
                  var price = parseInt($(this).find('option:selected').attr('data-price'));
                  var code = $(this).find('option:selected').attr('data-code');
                  $('#price').html(price);
                  $('#total_price').html(price * parseInt(quantidade.val()));
                  codigoDeBarras.val(code);
                  valorUnidade.val(price);
                  valorTotal.val(price * parseInt(quantidade.val()));
              }
           });
           quantidade.bind('click keyup', function(){
              if( !$('select#produtos').find('option:selected').val() == '' ){
                  var price =  $('select#produtos').find('option:selected').attr('data-price');
                  $('#total_price').html(price * parseInt($(this).val()));
                  valorTotal.val(price * parseInt(quantidade.val()));
              }
           });
           $('select#fornecedor').change(function(){
              if( !$(this).find('option:selected').val() == '' ){
                nif.val($(this).find('option:selected').attr('data-nif'));
              }
           });
        });
    </script>

  </body>
</html>

代码中缺少一个点。。这是代码

echo "<option data-code=". $row['codigoDeBarras'] ." data-price=". $row['preco'] .">" $row['nome'] ."</option>";
这应该写为

echo "<option data-code=". $row['codigoDeBarras'] ." data-price=". $row['preco'] .">". $row['nome'] ."</option>";

因为您混合了HTML和PHP。你也可以这样写

<?php
  $query = $link->query("SELECT * FROM fornecedor");
  while ( $row = $query->fetch_array() ) { ?>
     <option data-nif="<?=$row['NIF']?>"><?=$row['nome']?></option>
  <?php
   }
?>

希望这能对你有所帮助。

看看echo的$row['preco'].>$row['nome']->你缺了一个点,也许还有更多的事情……已经检查并更正了缺点,但运气不好:|谢谢,但我已经注意到并尝试过了,但还是一样,给我看了$row['nome']。在字段表单中:|尝试这种方式$数据数组['nome']。;