【问题标题】:select from dropdown and show details from database using php从下拉列表中选择并使用 php 从数据库中显示详细信息
【发布时间】:2015-10-01 03:52:18
【问题描述】:

我已经搜索过这个问题,但结果有点令人困惑,因为今天是我第一次遇到 ajax,大多数答案都是 ajax。所以我决定发布一个问题,这是我的工作,并试图从这里得到一些人的帮助来指导我了解 ajax。这是我的项目需要一些帮助,请

这是我从数据库中获取值并将其显示到我的下拉列表的查询

<?php
include('config.php');

    $sql="SELECT food FROM menu";
    $lists=mysql_query($sql);
?>

这是我的下拉列表...我从我的数据库中获取数据以将我的值放入下拉列表

<select name="fname" id='mySelect' value='Foodname'>
        <?php
                    while($food = mysql_fetch_array($lists)) {
                       echo '<option value='.$food['food'].'>'.$food['food'].'</option>'; 
                    }
                    echo '</select>';

        ?>

现在我想在下拉列表中显示所选食物的价格。我希望它显示在输入文本中,以便我可以编辑它,如果我想的话

&lt;input type='text' class="form-control" name='prc'&gt;

这是我的数据库

【问题讨论】:

  • 您的要求有点令人困惑,您想在旁边选择一个输入吗?所以您可以编辑?选项中的数据也来自数据库?您无法编辑除非您更改数据库,否则该选项。如果我弄错了,请告诉我
  • @Pekka 我将使用它来更新记录...所以如果我单击下拉菜单中的食物名称,我想检索价格并将其显示在 inputtext 中,所以如果我想我可以编辑它并将提供一个按钮来获取最新值并将其更新到数据库
  • 您可以使用 AJAX 发送新价格来更新数据库。我仍然正确吗?那么你的问题是什么?
  • @Pekka 抱歉,我是 ajax 新手,所以我无法清楚地理解它。我只想在编辑值之前先显示当前值...

标签: javascript php jquery html ajax


【解决方案1】:

对于选择选项,将值作为数据库 ID,如下所示

echo '<option value='.$food['id'].'>'.$food['food'].'</option>'; 

将 id 视为 DB 中的自动增量列。

那就这样写ajax吧。

$(document).ready(function() {
    $("#mySelect").change(function(){
        var val = $('#mySelect option:selected').val();    
        $.ajax({
            url: "path to php file to get the price",
            type: "POST",
            dataType: "HTML",
            data: {"id": val}
            async: false,
            success: function(data) {
              // for textbox add id as price
                 $("#price").val(data);// data will have the price echoed in somefilename.php          
            }
      }); 

    });
});

假设 ajax 中的 url 是 somefilename.php

所以在somefilename.php,你应该这样写查询

<?php
    include('config.php');
    $id = $_POST['id'];//same name as in ajax data
    $sql="SELECT price FROM menu where id = $id";

    // echo the price here
?>

无论你在这里回显什么,它都会在带有参数“数据”的 ajax 成功函数中出现,然后你可以像我在成功函数()中所做的那样分配给所需的文本框

【讨论】:

  • 嘿,先生,我在数据库中也有我的价格,我只想根据所选食物来检索它。例如,我的数据库中有 2 种食物,名称为:肋眼牛排价格:90.00和名称:椰子价格:70.00 如果我在下拉列表中选择椰子,我希望 ti=o 检索 70 并将其显示在 inouttext
  • 如果您返回 HTML,您的数据类型是 HTML,如何在此处将其设置为值 $("#price").val(data);?
  • 是的,我的数据将是浮点数或整数。
  • @jeiidii,你用 ajax 试过我回答了什么??
  • @Niranjan N Raju 还没有先生,因为我太困惑从哪里开始:(
猜你喜欢
  • 1970-01-01
  • 2022-08-02
  • 1970-01-01
  • 2019-11-29
  • 1970-01-01
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多