2016-03-22 10 views
0

現在、php/sqliteで小さなプログラムを作成しようとしています(私はPHPとsqliteにはまったく新しいです)。ここでは、すでに格納されている製品の数量を入力して新しい製品aswelを追加できます。PHP/sqliteデータベースが結果を返さない

すでに多数のエントリがあるデータベースが作成されています。

Iveはこのコードを作成することができましたが、何も返さないか、エラーが発生していません。

誰かが間違っていた可能性のある解決策を指摘できますか?ここで

はあなたが示したコードがに包まれ

<?php 

$db=sqlite_open("warehouse.db"); 

if(isset($_POST['warehouse']) && strcmp($_POST['warehouse'],"") !=0){ 

    $ItemID = sqlite_escape_string($_POST["warehouse"]); 

    $ItemName=$_POST['warehouse']; 

    $Quantity=$_POST['warehouse']; 

$qr="UPDATE warehouse SET Quantity = $Quantity WHERE ItemName = (SELECT id FROM warehouse WHERE itemName='$ItemName')"; 

    sqlite_query($db,$qr); 

echo "<h2>". "Show warehouse"."</h2>"; 

echo "<table border=1>\n"; 

echo "</br>\n"; 

$result=sqlite_query($db,"SELECT * from warehouse WHERE warehouse.ItemName = warehouse.id"); 

echo "<th>Item ID</th><th>Item Name</th><th>Item Quantity</th>\n"; 

while($row=sqlite_fetch_array($result,SQLITE_ASSOC)) 
{ 
    echo "<tr>\n"; 
    echo "<td>" . $row['warehouse.ItemId'] . "</td>\n"; 
    echo "<td>" . $row['warehouse.ItemName'] . "</td>\n"; 
    echo "<td>" . $row['warehouse.Quantity'] . "</td>\n"; 
    echo "</tr>\n"; 
} 
echo "</table>\n"; 


} 
sqlite_close($db); 

?> 
+0

おそらく '$ _POST ['warehouse']'は設定されていないか、空です。その後、コード全体がスキップされます。いくつかのデバッグ情報を出力し、問題のトリアージを試みるようにコードを修正してください。それが助けにならない場合は、問題を示す最小限のコードを作成してみてください。 – infiniteRefactor

答えて

0

私のコード...である:あなたがそれに何かを投稿するので、それが唯一の出力を生成します

if(isset($_POST['warehouse']) && strcmp($_POST['warehouse'],"") !=0){ 
    // all your code, including showing the current data 
} 

、すなわち提出それへのフォーム。ブラウザでそのページにアクセスしただけでGETしているので、DBが開かれ、すぐに閉じられ、POSTテスト内で何も実行されず、ブラウザ用の出力が生成されません。

POSTテストを終了する「}」を「Show Warehouse」のタイトルのすぐ上に移動して、GETを使用しているときに少なくともデータテーブルを表示することをお勧めします。

if(isset($_POST['warehouse']) && strcmp($_POST['warehouse'],"") !=0){ 
    // code for updating data 
} 
echo "<h2>". "Show warehouse"."</h2>"; 
// rest of your display code 
+0

@TheBizこれが役に立ちましたか? –

関連する問題