在while循环中请求

时间:2013-03-22 16:15:33

标签: php while-loop mysqldatareader

我使用此代码:

   <form  method="get" name="MobileDetails">
 <input name="brand" id="brand" value="<?php echo $brand;?>" type="hidden">
<input name="brid" id="brid" value="<?php echo $brandid;?>" type="hidden">
 <button type="button" name="submitButton" value="get Details"    onclick="getDetails()">    
</form> 

java脚本

 <script type="text/javascript">
function getDetails(){
var brand = document.getElementById('brand').value;
var brandid = document.getElementById('brid').value;
document.MobileDetails.action = 'details.php?brand='+brand+'&id='+brandid;
document.MobileDetails.submit();
}
</script>

但它在while循环中不起作用。有什么问题?我的代码如下。 当我点击按钮时,它什么也没做。但代码工作得很好,而在最上面给出了while循环。

<?php
require_once('connection.php'); 
$SQL= "SELECT*FROM mobile ORDER BY price ASC  LIMIT 10";
$result= mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)){
 $brand=$db_field['brand'];
 $id=$db_field['id'];
 $model=$db_field['model'];
 echo "<form  method='get' name='MobileDetails'>";
 echo " <input name='brand' id='brand' value='". $brand ."' type='hidden'>";
 echo" <input name='brid' id='brid' value='". $id ."' type='hidden'>";
 echo" <input name='mod' id='mod' value='". $model ."' type='hidden'>";
 echo" <button type='button' name='submitButton' value='get Details'   onclick='getDetails()'/>    
  </form>   ";
  echo "CLICK HERE";
    }

 ?>

3 个答案:

答案 0 :(得分:1)

你使用了几次相同的id。 Ids必须是独一无二的。

答案 1 :(得分:1)

你正在处理多个身份证。 ID的作业是元素的唯一标识符。我建议只使用

 <form action="details.php" type="get">

如果不使用该功能,这将完全符合您的要求。

答案 2 :(得分:0)

具有元素ID的东西是它们需要对于页面是唯一的;但是,正如您所看到的,HTML不需要显示。在调用JS函数getDetails()时,它会按ID获取元素,但是当页面中有多个ID时,这将失败。

那你能做什么?好吧,在你的循环中,你为每个'品牌'创建一个新表格。您可以将表单的引用传递给grabdetails,然后通过 NAME ,从该表单中获取值。


不是使用Javascript根据放在隐藏字段中的给定详细信息生成链接,而应该只在PHP级别生成操作。

echo "<form  method='get' name='MobileDetails' action='details.php?brand=$brand&id=$brandid'>";

但是,由于您确实有隐藏字段,因此仅使用action='details.php'表单将使用户

details.php?brand={brand}&brid={id}&mod={model}

您应该查看POST或将您的按钮设为普通链接,而不是使用表单。