2013-05-14 4 views
0

Я извлекаю продукты из своей базы данных и перечисляю их в цикле while. Как этоБаза данных запросов при нажатии ссылки

<?php 
    while($row = mysql_fetch_row($result)){ 
    echo '<div class="product_info">'; 
    echo '<div class="category_product_title"><a href="category-page.php">Product</a>'; 
    echo '</div>'; 
     echo '<div class="category_product_number">#'.$row[0].'('.$row[1].')'.'</div>';//prints id and name 
    echo '<div class="category_product_description">'.$row[2].'</div>';//prints description 
    echo '<div class="category_product_price">'.$row[4].'TL</div>';//prints price 
     echo '<div class="category_details"><a href="productpage2.php">DETAILS</a></div>';//The link to list the product details 
    echo '</div>'; 
    echo '</div>'; 
} 
?> 

Я хочу, чтобы иметь возможность печатать более подробную информацию о paticular PRODCUT, когда «ПОДРОБНОСТИ» ссылка щелкнул, получив идентификатор или имя этого paticular продукта и использовать для запроса к базе данных. Я попытался сохранить идентификатор в переменной сеанса, подобной этому $_SESSION['id'] = $row[0], но так как я зацикливаюсь на этих продуктах, я не могу получить идентификатор определенного продукта, когда его нажимают. Как я могу это сделать?. Я запутался из-за цикла. Спасибо

ответ

2

Вы можете назначить другую ссылку на каждый из продуктов с переменной GET.
Вместо <a href="productpage2.php">DETAILS</a>, ссылка может указывать на <a href="productpage2.php?id='.$row[0].'">DETAILS</a>.

Затем на странице productpage2.php, вы можете получить выбранный идентификатор из $_GET суперглобальном массива, как это:

$id = $_GET['id']; 
+1

это, вероятно, лучше, чем мой ответ на этот случай. так привык делать подобные вещи с помощью ajax. – sgroves

+0

Спасибо. я подумал об этом, но не был уверен, сохранит ли он идентификатор для конкретного из-за цикла. Но он отлично работает. – dhani

0

Много способов сделать это. Я бы, наверное, сделать что-то вроде:

echo '<div class="product_info" data-product-number="' . $row[0] . '">'; 

Тогда просто захватить атрибут data-product-number с JavaScript и передать его вместе с запросом. Очевидно, вам нужно будет проверить это на стороне сервера как-то после запроса, так как пользователь может указать номер продукта в запросе на все, что захочет.

Смежные вопросы