2017-05-15 9 views
0

基本的には、html、php、Smartyを使用しています。データベースクエリテーブルの選択は2行目から始まりません

データベーステーブルの行を表示するために結果をループすると、データベーステーブルの最初の行が無視されます。

3行(product_id = 1、product_id = 2、product_id = 3)のテーブルがある場合、product_id '2'と '3'のみが表示されます。

Iは最初の行を表示できるようにしたい -

.PHP

<?php 

$new = ['product_id','product_category','product_price','product_quantity','product_about','product_color']; 

//Database connection 
$db = mysqli_connect('xxx','xxx','xxx','xxx') 
or die('Error connecting to MySQL server.'); 

//access Smarty template engine 
require_once('Smarty-3.1.30/libs/Smarty.class.php'); 

$smarty = new Smarty(); 
$smarty->template_dir = 'views'; 
$smarty->compile_dir = 'tmp'; 


//query product page 
$query = "SELECT * FROM cs_shop"; 
mysqli_query($db, $query) or die('Error querying database.'); 

$result = mysqli_query($db, $query); 
$row = mysqli_fetch_array($result); 


//query an array of products 
$rows = array(); 

//loop start 
while ($row = mysqli_fetch_array($result)) { 
    $rows[] = array(
     'product_id' => $row['product_id'], 
     'product_category' => $row['product_category'], 
     'product_price' => $row['product_price'], 
     'product_quantity' => $row['product_quantity'], 
     'product_about' => $row['product_about'], 
     'product_color' => $row['product_color'] 
    ); 
} 

//db collect data 
$smarty->assign('row', $rows); 
//template 
$smarty->display('index.tpl'); 

mysqli_close($db); 

?> 

.TPL

<div class="test divider"> 

<ul> 
    {foreach from=$row item="item"} 
    <li>{$item['product_id']}</li> 
    {/foreach} 
</ul> 

</div> 

結果(PRODUCT_ID = 1)

2 
3 

欠落しているIDを表示する方法を...あらゆる種類のので、これに新しいイム任意のヒントやヘルプははるかに高く評価されます。前もって感謝します。

期待される結果

1 
2 
3 

答えて

4

は、右のクエリ$result = mysqli_query($db, $query);後に次の行を削除します。

$row = mysqli_fetch_array($result); // REMOVE ME 

それが入る前に、あなたはそれで何もしない、最初の結果を取得whileループを実行し、次のループを取得します。

+0

ありがとうございます!だからちょうどそれをクリアするには、最初の行を呼び出し、whileループは実際には2番目の行から始まります。 – Ylama

+1

mysqli_fetch_array()を呼び出すと、行が取得されます。あなたがそれを呼び出すたびに、次のものを取得します。 –

+0

ありがとう、素晴らしい答えは、できるだけ早く受け入れます。 – Ylama

関連する問題