2016-04-28 15 views
1

MySQLデータベースを使用してPHPフォームを作成しようとしています。 サンプルの名前(Al、Au ...など)と値のテキストボックスを含むドロップダウンリストを作成しました。 単位が私のデータベースの中にあることがあります。時にはpphで表示されます。 値がpphであるかどうかを設定するには、$ value = $ _ POST ["value"]/10000を使用します。 値がppmの場合は、$ value = $ _ POST ["value"]を使用しますか?

マイコード:

<?php 

if (isset($_POST["sample"])) 
{ 
    $sample = $_POST["sample"]; 
    $unit = mysql_query("SELECT unit FROM analysis where sample='" . $sample . "'"); 
    if ($unit == 'pph') 
    { 
     $value = $_POST["value"]/10000; 
     $sql = "SELECT 
         a.sample, 
         concat (a.modif, (IF (unit='pph',10000*value,value))), 
         a.method, 
         a.mkey, 
         b.name, 
         b.from, 
         b.to, 
         b.type 
        FROM 
         anlysis a, 
         sample b 
        WHERE 
         a.mkey=b.mkey AND sample = '$sample' AND value > '$value'"; 
     $result = mysql_query($sql); 
    } 
    else 
    { 
     $value = $_POST["value"]; 
     $sql = "SELECT 
         a.sample, 
         concat (a.modif, (IF (unit = 'pph', 10000 * value, value))), 
         a.method, 
         a.mkey, 
         b.name, 
         b.from, 
         b.to, 
         b.type 
        FROM 
         anlysis a, 
         sample b 
        WHERE 
         a.mkey = b.mkey AND sample = '$sample' AND value > '$value'"; 
     $result = mysql_query($sql); 
    } 

}

ありがとうございます!最初

$analysis = mysql_fetch_object($query); 

+5

スタートを 'mysql_ *'関数を使用していないと。 –

+0

たくさんの注射を受ける準備ができました。 $ sample = INJECT_MY_SYSTEM –

+0

コードをインデントしてください –

答えて

0

にアクセスすることができます。

<?php 
if (isset($_POST["sample"])) { 
$sample = htmlspecialchars(trim($_POST["sample"])); //A little clean-up wont hurt... 
$unit = mysql_query("SELECT unit FROM analysis where sample='" . $sample . "'"); 
if ($unit == 'pph'){ 
    $postVal= htmlspecialchars(trim($_POST["value"])); 
    $value = $postVal/10000; 
    $sql = "SELECT a.sample, 
        concat (a.modif, (IF (unit='pph',10000*value, value))), 
        a.method, 
        a.mkey, 
        b.name, 
        b.from, 
        b.to, 
        b.type 
       FROM 
        analysis AS a 
       LEFT JOIN sample AS b 
        ON a.mkey=b.mkey 
       WHERE 
        a.sample='" . $sample . "' AND a.value > '" . $value ."'"; 
    $result = mysql_query($sql); 
} 
else 
{ 
    $postVal= htmlspecialchars(trim($_POST["value"])); 
    $value = $postVal; 
    $sql = "SELECT 
        a.sample, 
        concat (a.modif, (IF (unit = 'pph', 10000 * value, value))), 
        a.method, 
        a.mkey, 
        b.name, 
        b.from, 
        b.to, 
        b.type 
       FROM 
        analysis AS a 
       LEFT JOIN sample AS b 
        ON a.mkey=b.mkey 
       WHERE 
        a.mkey = b.mkey AND sample = '" . $sample . "' AND value > '" . $value . "'"; 
    $result = mysql_query($sql); 
} 
+0

あなたの助けをありがとう!私はそれを試して、それは働いていた!私は多くのことを学ぶ必要があるので、PHPで新しいです...もう一度ありがとう: ) – user6265779

+0

私はあなたのために働いてうれしいです;-) あなたはちょうど正しいと答えを選択し、それを完了マークすることができます... – Poiz

0

は、あなたはここで私はお勧めしたいものだ値

if ($analysis->unit == 'pph') 
+0

私はそれを試しましたが動作しませんでした:( – user6265779