У меня есть база данных с тремя столбцами: product_id, product_name, product_image. Мне нужно запустить запрос, чтобы получить все значения, а затем создать список этих данных.получить значения из базы данных и использовать foreach
product_id | product_name | product_image |
1 | ball | ball.jpg |
2 | shirt | shirt.jpg |
3 | car | car.jpg |
Это код, я использую:
$q1 = $db->Execute("select * from products");
$q1_items = array();
while(!$q1->EOF){
$q1_items[] = $q1->fields;
$q1->MoveNext();
}
foreach ($q1_items as $items) {
echo '<a href="index.php?main_page=product_info&products_id='. $items['products_id'] .'"><img src="images/'. $items['products_image'].'" alt="'. $items['products_name'].'" title="'. $items['products_name'].'" /></a>\n';
}
Это Z Ca сайт так $db->Execute
уже определен и работает просто отлично.
Выход я ожидал, как это:
<a href="index.php?main_page=product_info&products_id=1"><img src="ball.jpg" alt="ball" title="ball" /></a>
<a href="index.php?main_page=product_info&products_id=2"><img src="shirt.jpg" alt="shirt" title="shirt" /></a>
<a href="index.php?main_page=product_info&products_id=3"><img src="car.jpg" alt="car" title="car" /></a>
Однако, я получаю это:
<a href="index.php?main_page=product_info&products_id=1"><img src="ball.jpg" alt="ball" title="ball" /></a>
<a href="index.php?main_page=product_info&products_id=1"><img src="shirt.jpg" alt="ball" title="ball" /></a>
<a href="index.php?main_page=product_info&products_id=1"><img src="car.jpg" alt="ball" title="ball" /></a>
<a href="index.php?main_page=product_info&products_id=2"><img src="ball.jpg" alt="shirt" title="shirt" /></a>
<a href="index.php?main_page=product_info&products_id=2"><img src="shirt.jpg" alt="shirt" title="shirt" /></a>
<a href="index.php?main_page=product_info&products_id=2"><img src="car.jpg" alt="shirt" title="shirt" /></a>
<a href="index.php?main_page=product_info&products_id=3"><img src="ball.jpg" alt="car" title="car" /></a>
<a href="index.php?main_page=product_info&products_id=3"><img src="shirt.jpg" alt="car" title="car" /></a>
<a href="index.php?main_page=product_info&products_id=3"><img src="car.jpg" alt="car" title="car" /></a>
В основном, дублирует всю строку для каждого изображения и изменяется только имя изображения , Что я делаю неправильно и как мне получить результат, который мне нужен?
Что делает 'print_r ($ q1)' выход? – brbcoding
Что делает запрос в phpmyadmin? Вы уверены, что вопрос в порядке? Возможно, «продукты» - это представление, в котором нет группы. – Robert
$ q1_items [] = $ q1-> fields; - Возвращает массив & $ q1_items становится многомерным массивом ... для каждого из них нужно сделать для многомерного массива – user170851