2016-04-21 47 views
1

我是AJAX的新手,我在本页找到了我的问题的代码解决方案,但我无法使它工作。可靠的选择框不工作

我需要输入#precio在选择#producto时选择了一个选项。

我有这样的代码:

<form action="actualizarprod_pr.php" method="post"> 

    <input type="text" name="producto" value="" placeholder="Producto" list="productolist" /> 

    <datalist id="productolist"> 
     <select id="productos" style="display: none;"> 
      <?php 

      $query = "SELECT * FROM lista_precios"; 

       $query_ej = mysqli_query($conexion, $query); 

       while($registro = mysqli_fetch_array($query_ej)){ 
        echo "<option value='" . $registro['producto'] . 
         "'</option>"; 
       } 
      ?> 
     </select> 
    </datalist> 

    <input type="text" id="precio" name="precio" placeholder="Precio"> 
    <input type="submit" name="Actualizar" value="Actualizar"> 
    <input type="submit" name="Borrar" value ="Borrar"> 

</form> 

脚本:

<script type="text/javascript"> 
    $(document).ready(function(){ 

     $("#productos").change(function(){ 
      var producto=$(this).val(); 

       $.ajax({ 
        type:"post", 
        url:"cargaselect.php", 
        data:"producto="+producto, 
        success:function(data){ 
          $("#precio").val(data); 
        } 
       }); 

      }); 

     }); 
</script> 

cargaselect.php:

<?php 
    session_start(); 
    include("conexion.php"); 

    if(isset($_SESSION["id_usuario"])){ 

     $producto=$_POST["producto"]; 

     $result = mysqli_query($conexion, 
      "select * FROM lista_precios WHERE producto =". $producto ." "); 

     echo $result[precio]; 

    } else { 
     header("location: login.php"); 
    } 
?> 
+0

如果'$ producto'是一个字符串,这会使您失败'WHERE producto =“。$ producto。 “' - 检查错误并查看您的控制台。还要确保'$ _SESSION [“id_usuario”]'有一个值。 –

+0

为什么这段代码会失败?你建议使用LIKE而不是=?我删除$ _SESSION [“id_usuario”],但它仍然无法正常工作。 –

+0

你能告诉,你在控制台中得到了什么回应? – Qazi

回答

0

此行的格式不正确

echo $result[precio]; 

应该

echo $result['precio']; 

是什么$结果[ 'PRECIO']返回? 如果其结果数组可能需要使用 $ result [0] ['precio']或许代替

+0

我在阅读您的评论后编辑了代码,但#precio仍然没有显示任何值。我不知道错误在哪里。 –

+0

如果你做var_dump($ result),你会得到什么; – AceWebDesign

+0

bool(false),我认为这个SQL语句是错误的。 –