我的网页上有一个div'.php'
<div id="force_id"></div>
这将打印页面上每个产品的ID。例如:126500
如何指定其他PHP变量的这个值(例如,不是点击,加载时)
我在这里使用它:
$limit = ?????? (Value should be the id value here. For example 126500)
$plans = mysql_fetch_array(mysql_query("select * from motors WHERE prod_id = '$limit'"));
提前谢谢你......
答案 0 :(得分:2)
如果您正在寻找负载的东西,那么您将需要使用Javascript进行某种Ajax调用。
你的javascript需要获取id,然后将其作为POST或GET变量传递给.php。
但是,使用页面请求传递ID可能会更好。所以你.php的链接看起来像这样:
<a href='page.php?id=126500'>Link</a>
显然你可以自动生成这些。然后在.php中,您只需从GET中获取值:
$limit = $_GET['id']
然后你可以在你的SQL查询中使用它(你应该看看PDO而不是mysql_query来保护自己免受SQL注入攻击)。
关于GET选项的更多细节。
您要查看的产品菜单选择的初始HTML将如下所示:
<h1>Select the Product you want to see</h1>
<ul>
<?php
$result = /* SELECT MY PRODUCT CODES */
foreach($result AS $row){
echo "<li><a href='product.php?id=".$row['id']."'>Product ".$row['name']."</a></li>";
}
?>
</ul>
然后你的product.php文件会有:
if(isset($_GET['id'])){
$limit=$_GET['id'];
$plans= /* SELECT FROM MOTORS USING $limit */
foreach($plans AS $row){
echo 'Product name:'.$row['name'];
echo "<img src='".$row['img_path']."' />";
...
}
}else{
echo 'Sorry, unrecognised product';
}
您应该对$ _GET进行进一步验证[&#39; id&#39;];例如,检查它是否是一个数字,并且在您对product_id的预期范围内
使用Javascript&amp; amp;的POST选项的更多细节JQuery的。 如果您有特定原因想要进行POST,或者由于某种原因您只想在一页上发布ID代码,那么您可以这样做:
在HTML中我会在div中使用data属性:
<div id='product' data-id='12650'></div>
在Javascript中(我假设JQuery,但方法与其他库相同),你会添加到你的“onload&#39;功能(即在页面加载后执行此操作):
$('#product').each(function(){
var id=$(this).data('id');
$.ajax({
type: 'POST',
url: 'product_content.php',
data: {'id':id},
success: function(msg){
$(this).html(msg);
},
error: function(msg, status,err){
$(this).html("Product not Found");
}
});
});
最后,您需要一个页面来响应Ajax调用product_content.php:
$limit=$_POST['id'];
/* DO SOME VALIDATION ON $limit HERE OR USE PDO AS PROTECTION */
$plans= /* SELECT FROM MOTORS USING $limit*/
foreach($plans AS $row){
echo 'Product name:'.$row['name'];
echo "<img src='".$row['img_path']."' />";
...
}
我应该指出我没有测试过这段代码,所以如果你直接复制它,请留意拼写错误。
答案 1 :(得分:0)
如果您正在使用表单,则可以将div的值放在表单内的input[hidden]
内。像这样:
$('#your_form').on('submit', function(){
your_div = $('#your_div').attr('id');
$('#hidden_field_used_on_form').val(your_div);
return true;
})