Php 在页面上显示mysql数据而不刷新页面-下拉列表

Php 在页面上显示mysql数据而不刷新页面-下拉列表,php,mysql,ajax,dynamic,refresh,Php,Mysql,Ajax,Dynamic,Refresh,我需要一些帮助 我有一个带有下拉列表的PHP页面,由mysql数据库查询填充。 我希望能够在其他表格单元格中显示所选选项的数据库详细信息。 理想情况下,这可以在不刷新页面的情况下实现 除此之外,该表将包含多达75行(车辆上的托盘-这是用于销售工具),因此需要使用while语句或其他内容来实现这一点。每行都有一个选择框来选择packcode 下面是我的代码和下拉列表,该表目前只包含5行 我知道除此之外我还需要使用ajax或javascript 如果有人有一个示例脚本或可以使用我的代码作为示例,我将

我需要一些帮助

我有一个带有下拉列表的PHP页面,由mysql数据库查询填充。 我希望能够在其他表格单元格中显示所选选项的数据库详细信息。 理想情况下,这可以在不刷新页面的情况下实现

除此之外,该表将包含多达75行(车辆上的托盘-这是用于销售工具),因此需要使用while语句或其他内容来实现这一点。每行都有一个选择框来选择packcode

下面是我的代码和下拉列表,该表目前只包含5行

我知道除此之外我还需要使用ajax或javascript

如果有人有一个示例脚本或可以使用我的代码作为示例,我将非常感激

<?

  $con = mysql_connect("localhost","user","password");
  if (!$con)
  {
    die('Could not connect: ' . mysql_error());
  }

  mysql_select_db("dbname", $con);

  $packcodesql="SELECT packcode from skudata order by packcode"; 
  $resultpackcode=mysql_query($packcodesql); 
  $optionspackcode=""; 

  while ($row=mysql_fetch_array($resultpackcode)) { 
     $packcode=$row["packcode"]; 
     $optionspackcode.="<OPTION VALUE=\"$packcode\">".$packcode; 
  } 
?>

<table border=1>
<tr>
  <td>Pack Code</td>
  <td>Category</td>
  <td>Selling Units</td>        
  <td>Full Pallet QTY</td>
  <td>Order QTY</td>
</tr>
<Tr>
  <td>
    <SELECT NAME=packcode1 style="width:100px;"> 
        <OPTION VALUE=0><?=$optionspackcode?></SELECT> 
  </td>
  <td>
    <!-- show mysql result for "select Category from skudata where packcode=packcode1" -->
  </td>
  <td>
    <!-- show mysql result for "select SellingUnits from skudata where packcode=packcode1" -->
  </td>     
  <td>
    <!-- show mysql result for "select FullPalletQTY from skudata where packcode=packcode1" -->
  </td>
  <td><input type="text" id="qty" name="qty"></td>
</tr>       
<Tr>
  <td>
    <SELECT NAME=packcode2 style="width:100px;"> 
        <OPTION VALUE=0><?=$optionspackcode?></SELECT> 
  </td>
  <td>
    <!-- show mysql result for "select Category from skudata where packcode=packcode2" -->
  </td>
  <td>
   <!-- show mysql result for "select SellingUnits from skudata where packcode=packcode2" -->
  </td>     
  <td>
   <!-- show mysql result for "select FullPalletQTY from skudata where packcode=packcode2" -->
  </td>
  <td><input type="text" id="qty" name="qty"></td>
</tr>       
<Tr>
   <td>
    <SELECT NAME=packcode3 style="width:100px;"> 
        <OPTION VALUE=0><?=$optionspackcode?></SELECT> 
   </td>
   <td>
    <!-- show mysql result for "select Category from skudata where packcode=packcode3" -->
   </td>
   <td>
    <!-- show mysql result for "select SellingUnits from skudata where packcode=packcode3" -->
   </td>        
   <td>
    <!-- show mysql result for "select FullPalletQTY from skudata where packcode=packcode3" -->
   </td>
   <td><input type="text" id="qty" name="qty"></td>
</tr>       
<Tr>
   <td>
    <SELECT NAME=packcode4 style="width:100px;"> 
        <OPTION VALUE=0><?=$optionspackcode?></SELECT> 
   </td>
   <td>
    <!-- show mysql result for "select Category from skudata where packcode=packcode4" -->
   </td>
   <td>
   <!-- show mysql result for "select SellingUnits from skudata where packcode=packcode4" -->
   </td>        
   <td>
    <!-- show mysql result for "select FullPalletQTY from skudata where packcode=packcode4" -->
   </td>
   <td><input type="text" id="qty" name="qty"></td>
</tr>       
</table>

包装代码
类别
销售单位
全托盘数量
订单数量

您可以使用AJAX来实现这一点。我手头没有任何例子,但是关于结合AJAX和PHP的w3schools教程是一个很好的起点。我将修改他们的示例,使用与w3schools网站上类似的javascript函数,将所有选项标记值直接输出到select标记中


希望这有帮助

您可以使用AJAX来实现这一点。我手头没有任何例子,但是关于结合AJAX和PHP的w3schools教程是一个很好的起点。我将修改他们的示例,使用与w3schools网站上类似的javascript函数,将所有选项标记值直接输出到select标记中


希望这有帮助

是否要使用链接到td上方方框的数据库中的数据填充

如果是这样的话,您可以使用AJAX,并在选择框的选项上单击onclick(非常确定应该这样做)

<select>
    <option onclick="myAjaxFunction(this);">Some name</option>
    <option onclick="myAjaxFunction(this);">Some other name</option>
</select>
可以添加到$.ajax()调用中,您可以使用:

echo json_encode($myContent);
在PHP中,json对PHP内容进行编码(最好是在数组()中)

这本应该为你指明方向:)请告诉我是否需要更具体,或者提供更好的例子

更新

您可以为每个要瞄准的td创建唯一id。然后创造

<td>
    <select>
        <option onclick="firstPackCodeAjax('<?=$packcodeValue?>');" value="<?=$packcodeValue?>"><?=$packcodeValue?></option>
    </select>
</td>
<td id="categoryTd">
   <!-- show mysql result for "select Category from skudata where packcode=packcode1" -->
</td>
<td id="unitsTd">
    <!-- show mysql result for "select SellingUnits from skudata where packcode=packcode1" -->
</td>     
<td id="palletTd">
    <!-- show mysql result for "select FullPalletQTY from skudata where packcode=packcode1" -->
</td>

然后,您将为要使用AJAX的每个选择创建一个函数。您需要在某处创建target/file.php。在这里,您获取数据并用json将其回送出来。祝你好运;)此外,这可以很容易地进行优化,但这是为了以后…

您想用链接到td上方方框的数据库中的数据填充

如果是这样的话,您可以使用AJAX,并在选择框的选项上单击onclick(非常确定应该这样做)

<select>
    <option onclick="myAjaxFunction(this);">Some name</option>
    <option onclick="myAjaxFunction(this);">Some other name</option>
</select>
可以添加到$.ajax()调用中,您可以使用:

echo json_encode($myContent);
在PHP中,json对PHP内容进行编码(最好是在数组()中)

这本应该为你指明方向:)请告诉我是否需要更具体,或者提供更好的例子

更新

您可以为每个要瞄准的td创建唯一id。然后创造

<td>
    <select>
        <option onclick="firstPackCodeAjax('<?=$packcodeValue?>');" value="<?=$packcodeValue?>"><?=$packcodeValue?></option>
    </select>
</td>
<td id="categoryTd">
   <!-- show mysql result for "select Category from skudata where packcode=packcode1" -->
</td>
<td id="unitsTd">
    <!-- show mysql result for "select SellingUnits from skudata where packcode=packcode1" -->
</td>     
<td id="palletTd">
    <!-- show mysql result for "select FullPalletQTY from skudata where packcode=packcode1" -->
</td>

然后,您将为要使用AJAX的每个选择创建一个函数。您需要在某处创建target/file.php。在这里,您获取数据并用json将其回送出来。祝你好运;)此外,这可以很容易地进行优化,但这是以后的…

您好,感谢您花时间回复。这是我第一次与Ajax交互,如果您能提供更好、完整的示例,我将不胜感激。我下班回家后(大约4小时后)将尝试扩展这些示例。同时,我建议读一点AJAX;)您好,感谢您抽出时间回复。这是我第一次与Ajax交互,如果您能提供更好、完整的示例,我将不胜感激。我下班回家后(大约4小时后)将尝试扩展这些示例。同时,我建议读一点AJAX;)谢谢,我现在正试图在PHP学校,在一个PHP示例上解决这个问题。谢谢,RyanThanks,我现在正试图在PHP学校,在一个PHP示例上解决这个问题。谢谢,瑞安
[
    { "Category": "Fast cars" },
    { "SellingUnits": "9001" },
    { "FullPalletQTY": "9001" }
];