2014-03-04 53 views
0

我有一个动态页面,它接受一个URL变量,然后根据URL变量的值从PHP数据库调用填充页面。从链接中获取数据变量而不是URL php

<a href="myPage?item_id=10">Show item</a> 

在打开的页面我从URL抓取ITEM_ID和收集数据印刷例如为:

$query = "select * from items where item_id = $_GET[item_id]"; 
$result = $mysqli->query($query); 
$row = $result->fetch_array(); 
$title = $row['item_title']; 
etc etc 

我的问题是,我可以抓住一个数据变量从一个链接呢?例如

<a href="myPage" data-item_id="10">Show item</a> 

问的原因是我想使用一种模式,当然这种模式不能从URL中读取,因为它是父网址。

理想我想用PHP坚持为代码编写的,但如果有一个简单的jQuery解决方案,在把数据来填充网页,那么这将是确定太(我猜Ajax调用)

+0

使用Ajax也许? –

+0

为什么不试试会话? – krishna

回答

1

您可以使用ajax来读取数据属性。

http://api.jquery.com/data/

$('#yourId').data('item_id'); 

请查询了解SQL注入

select * from items where item_id = $_GET[item_id]"; 

How can I prevent SQL injection in PHP?

+0

嗨,这只是一个简单的例子,我所有的注射问题,但感谢指出它 –

+0

这可以将数据传递给一个元素,但它不允许我将它传递到一个PHP字符串作为$ _GET [] –

+0

使用ajax你可以设置你想使用哪种方法GET或POST.https://api.jquery.com/jQuery.ajax/默认方法是GET – Oyeme

0

您可能需要使用Ajax:

<a href="myPage" id='clickMe' data-item_id="10">Show item</a> 

$('#clickMe').click(function() { 

    $.ajax({ 
     type: 'GET', 
     url: 'myPage.php', 
     data: 'item_id='+$(this).data('item-id'), 
     success: function(data) { 
      // Do something with the returned data from the server 
     } 
    }); 
});