2012-05-02 17 views
0

私はデータベースのテーブルを編集するフォーム。しかし、ユーザーは画像を表示しない可能性があります。そうしないと、そのフィールドを更新したくありません。私はこれを行うにはいくつかの方法を試しましたが、何もしませんでした。簡単な方法はありますか?ありがとう。ifステートメントphpのmysql

if ($_POST["image"]!=='') { 
     $image= "image=%s"; 
     $imageValue = "GetSQLValueString(".$_POST['image'].", 'text'),"; 
}; 

$insertSQL = sprintf("UPDATE taxi SET name=%s, taxi_link=%s, ". $image." WHERE id=%s", 
        GetSQLValueString($_POST['name'], "text"), 
        GetSQLValueString($_POST['link'], "text"), 
        $imageValue, 
        GetSQLValueString($_POST['id'], "int")); 
+0

あなたの上記の試みは一つの理由のために動作しません。 'taxi_link =%s'の後の'、 'です。それを削除し、2行目を '$ image ="、image =%s ";'に変更してください。 –

+0

ポインタのおかげで、まだ$ imageValueは空白ですが、まだ空白のエントリにエラーがあります –

+0

私は以下の答えであなたの質問を修正しました。 –

答えて

1

を指定していない場合は、あなたが何かを行うことができます。

update()は単に配列を処理するため、条件に基づいてその配列に値を追加するだけです。

私は個人的に、このような独自の機能を作って、配列値を追加して使用すると完璧に機能します。あなたのクエリを修正

$image = ''; 
if ($_POST["image"] !== '') 
     $image= ", image=".GetSQLValueString($_POST['image'], 'text'); 

$insertSQL = sprintf("UPDATE taxi SET name=%s, taxi_link=%s {$image} WHERE id=%s", 
        GetSQLValueString($_POST['name'], "text"), 
        GetSQLValueString($_POST['link'], "text"), 
        GetSQLValueString($_POST['id'], "int")); 
+0

ごめんなさい、ここのオプションはありませんが –

+0

あなたの答えにコメントを付けてください。あなたの例に何が間違っているかを示します。 –

+0

助けてくれてありがとう、画像フィールドを空白のままにしても画像が選択されたときにエラーが表示されます49行目のtaxi-edit.phpの引数が少なすぎます クエリが空です –

2

私が正しくあなたを理解する場合は、if文で全体を置くことができませんでしたか?だから今

if ($_POST["image"]!=='') { 
     $image= "image=%s"; 
     $imageValue = "GetSQLValueString(".$_POST['image'].", 'text'),"; 
     $insertSQL = sprintf("UPDATE taxi SET name=%s, taxi_link=%s, ". $image." WHERE id=%s", 
        GetSQLValueString($_POST['name'], "text"), 
        GetSQLValueString($_POST['link'], "text"), 
        $imageValue, 
        GetSQLValueString($_POST['id'], "int")); 
     //execute query 
} else { 
    //tell the user nothing happened 
} //no semicolon required 

ことでしょうのみビルドと画像が指定されている場合は、クエリを実行し、あなたが単にできCodeIgniterのようなフレームワークを使用している場合は、それが

+0

私はこれが彼が最初に何を意味したのかは分かりましたが、イメージ列を更新するためのエレガントな(そして機能的な)方法があるのです。 –

+0

えええええええええええええええええええええええええええええええええええん –

関連する問題