2016-10-12 9 views
-3

私はビデオゲームの在庫を格納するためのテーブルを持つSQLデータベースを持っています。次のPHPコードはそのデータベースと特定のテーブルにアクセスし、10個または在庫があるビデオゲームだけを印刷したいと考えています。ビデオゲームの数量は、私の "在庫"テーブルに "数量"として保存されています。進んでいただきありがとうございます。PHPとSQLデータベース

<?php 

// Construct query 
$query = "SELECT * FROM inventory"; 

// Perform the query, gather results 
$results = mysql_query($query) 
    or die ("Sorry, could not get the data ". mysql_error()); 

echo "<div style=margin-bottom:10px;>Number of games found with quantity > 10 is ". "</div>\n"; 

// Create loop to print all found records 
// That are contained inside of the $results variable 
for($i = 0; $i < mysql_num_rows($results); $i++) { 

    if ($gamearray['quantity'] > 10) { 

     $gamearray = mysql_fetch_array($results); 
     echo "<div>Title of game is ". $gamearray['title'] ."</div>\n"; 
     echo "<div>Quantity in stock is ". $gamearray['quantity'] ."</div>\n"; 
     echo "<div style=margin-bottom:10px;>With a critic score of ". $gamearray['metascore'] ." This game is</div>\n"; 
    } 

} 

?> 
+1

SQLのWHERE句を読む必要があるようです。 – jmoerdyk

+0

**警告**:PHPを習得しているだけの方は、古い['mysql_query'](http://php.net/manual/en/function.mysql-query.php)インタフェースを学ばないでください。それはひどいので、PHP 7では削除されました。[PDOは学ぶのが難しくありません](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo- for database-access /)、[PHP The Right Way](http://www.phptherightway.com/)のようなガイドはベストプラクティスの説明に役立ちます。 **あなたのユーザーパラメータが[正しくエスケープされている](http://bobby-tables.com/php)か、重大な[SQLインジェクションバグ](http://bobby-tables.com/ )。 – tadman

答えて

0

私はPHPの男ではありませんが、これが問題の絞り込みに役立つことを願っています。

数量値を確認するために、内容を最初に$gamearrayに取得する必要はありませんか?後で、ifのコンテナでそれをするようです。

どのように結果を反復処理していますか? mysql_fetch_arrayのように、行1、行2の行n-1のデータを取得する必要があることを知っていますか。 mysql_fetch_array($results[i])のようなものはありませんか?

インデックスが範囲外になるのを防ぐには、ここではlength-1を使用してください。for($i = 0; $i < mysql_num_rows($results) - 1; $i++)を必ず使用してください。その0ベースの場合は...

0
$query = "SELECT * FROM inventory WHERE quantity > 10"; 

これは、数量はまた、10以上である、あなたは今if文を必要としないすべてのエントリを取得する必要があります。 あなたは、構造体などの結果をループすることができます:数字0、1、クエリの最初の列、つまりinventoryで列の順序を参照することになり

if(mysql_num_rows($result) > 0) { 
    while ($row = mysql_fetch_array($result)) { 
    echo("Title:" . $row[0] . "Quantity :" . row[1]); 
    } 
} 

タイトルであり、第二は、数量であるというように。これはあなたを始めるはずです。

関連する問題