2017-07-26 4 views
-1

次のボタンをクリックすると、が更新されます。v_category = $cat_valueの値はありません。フォームボタンをクリックした状態で最初の3つの値を更新する方法mysqli

最初の3つの値をカテゴリのdisplay_type='hide'に更新したいのですが、もう一度次のボタンをクリックすると、次の3つの値が再び更新されます。私はほとんど試しましたが、決してうまくいかなかったのです。コードは以下の通りです。

<?php 

if(isset($_POST['right_value'])){ 
    $cat_value = $_POST['right_value']; 
    $s_query = "SELECT * FROM t_post where v_category='$cat_value'"; 
    $r_s_query = mysqli_query($con,$s_query); 
    echo $check_value = mysqli_num_rows($r_s_query); 

    $query = "UPDATE t_post SET display_type='hide' 
       WHERE v_category='$cat_value' "; 
    $run_query = mysqli_query($con,$query); 
} 

?> 
+0

display_typeを更新しようとすると、どんなタイプのエラーに直面しますか? –

+0

sirは私が書いた上記のコードを参照してください$ cat_valueはカテゴリ名の例です:コンピュータ、携帯電話などです。もし私がisset right_valueなら、$ cat_valueの最初の3つのdisplay_typeを更新します。次の3つのdisplay_typeは$ cat_valueです。 '' '$ _POST ['right_value']' ''の中で –

+0

は、3つのカテゴリーだけが来るでしょうか? –

答えて

0

は行う必要があります$のcheck_value全体で単純なループを実行:

$yourArr = [1,2,3,4,5]; 
foreach($check_value as $row){ 
    $tmp[] = $row['id']; 
} 
if(count(array_intersect($yourArr, $tmp)) == count($yourArr)){ 
    //Update values for 5,6,7 
} 
+0

sirは上記のコードを参照してください。$ cat_valueはカテゴリ名の例です。コンピュータ、携帯電話など。私はisset right_valueの場合、最初の3つのdisplay_typeを更新します。 $ cat_valueとなり、もう一度issetすればright_valueとなり、次の3つのdisplay_typeが$ cat_valueに再び更新されます。 –

+0

代替更新が必要ですか?あなたの要件は非常に不明です。 – informer

+0

助けてくれてありがとう –

0

は、配列の最初の3つの値を取得するには、コードの下に使用することができます:上記のコード

$yourArr = [1,2,3,4,5]; 
$newarray = array_slice($yourArr, 0, 3); 
print_r($newarray); 

が得られます配列の最初の3要素です。一度更新したら、unsetにすることができます。次回は3つの要素が追加されます。

コード内でin_arrayの後の部分を使用して、特定のIDが配列に存在するかどうかを確認してから、更新を実行します。それ以外の場合は無視します。

+0

sirは$ cat_valueをカテゴリ名の例として書いた上記のコードを参照してください。コンピュータ、携帯電話など。私はisset right_valueなら$ cat_valueの最初の3つのdisplay_typeを更新したい。もう一度right_valueを実行し、$ cat_valueの次の3つのdisplay_typeを再度更新します。 –

+0

だから、 '$ _POST ['right_value']'は配列ですか? –

+0

いいえこのストア内の配列ではありません。例えば、単一の値です。computer –

関連する問題