0

product_id、product_name、product_image の 3 つの列を持つデータベースがあります。クエリを実行してすべての値を取得し、そのデータのリストを作成する必要があります。

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

これは Zen Cart サイトなので$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>

基本的に、各画像の行全体を複製し、画像名のみを変更します。何が間違っているのか、必要な出力を得るにはどうすればよいですか?

4

1 に答える 1

0

値を使用するべきではありませんか

foreach ($q1_items as $item => $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';
}
于 2013-05-08T20:13:13.547 に答える