将 "div id" 值分配给变量 php
Assign "div id" value to the variable php
我的页面上有一个 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'"));
提前谢谢你...
如果您正在寻找加载中的内容,那么您将需要使用 Javascript 进行某种 Ajax 调用。
您的 javascript 需要获取 ID,然后将其作为 POST 或 GET 变量传递给 .php。
但是,您最好将 ID 与页面请求一起传递。所以你的 link 到 .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['id'] 做进一步的验证;例如,检查它是否是一个数字,并且在您期望 product_id 的
的范围内
有关使用 Javascript 和 JQuery 的 POST 选项的更多详细信息。
如果您有特定的原因想要这样做 POST,或者出于某种原因您只想在一页上发布 ID 代码,那么您可以这样做:
在你的 HTML 中,我会在 div:
中使用数据属性
<div id='product' data-id='12650'></div>
在 Javascript 中(我假设 JQuery 但方法与其他库相同)您将添加到 'onload' 函数(即在页面之后执行此操作已加载):
$('#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']."' />";
...
}
我应该指出我没有测试过这段代码,所以如果你直接复制它,请注意错别字。
如果您使用的是表单,则可以将 div 的值放在表单内的 input[hidden]
中。像这样:
$('#your_form').on('submit', function(){
your_div = $('#your_div').attr('id');
$('#hidden_field_used_on_form').val(your_div);
return true;
})
我的页面上有一个 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'"));
提前谢谢你...
如果您正在寻找加载中的内容,那么您将需要使用 Javascript 进行某种 Ajax 调用。
您的 javascript 需要获取 ID,然后将其作为 POST 或 GET 变量传递给 .php。
但是,您最好将 ID 与页面请求一起传递。所以你的 link 到 .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['id'] 做进一步的验证;例如,检查它是否是一个数字,并且在您期望 product_id 的
的范围内有关使用 Javascript 和 JQuery 的 POST 选项的更多详细信息。 如果您有特定的原因想要这样做 POST,或者出于某种原因您只想在一页上发布 ID 代码,那么您可以这样做:
在你的 HTML 中,我会在 div:
中使用数据属性<div id='product' data-id='12650'></div>
在 Javascript 中(我假设 JQuery 但方法与其他库相同)您将添加到 'onload' 函数(即在页面之后执行此操作已加载):
$('#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']."' />";
...
}
我应该指出我没有测试过这段代码,所以如果你直接复制它,请注意错别字。
如果您使用的是表单,则可以将 div 的值放在表单内的 input[hidden]
中。像这样:
$('#your_form').on('submit', function(){
your_div = $('#your_div').attr('id');
$('#hidden_field_used_on_form').val(your_div);
return true;
})