簡體   English   中英

將“ div id”值分配給變量php

[英]Assign “div id” value to the variable php

我的頁面“ .php”上有一個div

<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'"));

先感謝您 ...

如果您正在尋找負載的東西,那么您將需要通過某種Ajax調用使用Javascript。

您的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 ['id']做進一步的驗證; 例如,檢查該數字是否在預期的product_id的范圍內


有關使用Javascript和JQuery的POST選項的更多詳細信息。 如果您出於特定原因想要進行POST,或者出於某些原因而只想將ID代碼發布在一頁上,則可以這樣進行:

在您的HTML中,我將在div中使用data屬性:

<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;
  })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM