2015-03-11 3 views
0

Если есть три записи, я хочу сравнить значения с 'test1' и 'test 2' и обновить базу данных до 'open' или 'close', если 'test1' и Значения «test2» трех записей совпадают. Но приведенный ниже код не работает.Сравнение нескольких значений массива и статуса таблицы обновлений

HTML:

while($row = mysql_fetch_assoc($sql)){ 
     <input type="text" value="<?php echo $row['test1']; ?>" name="test1[]"> 
     <input type="text" value="" name="test2[]"> 
    } 
    <input name="Submit" type="submit" value="update"> 

PHP:

<?php 

if (isset($_POST['Submit'])) 
{ 
$test1=$_POST['test1']; 
$test2=$_POST['test2']; 

if($test1==$test2) 
{ 
$sql1="UPDATE table SET status='close' WHERE test1='$test1' AND test2='$test2' "; 
$db=mysql_query($sql1); 
} 
else 
{ 
$sql1="UPDATE table SET status='open' WHERE test1='$test1' AND test2='$test2' "; 
$db=mysql_query($sql1); 
} 
} 

?> 
+0

Изменить название входов без [] .. – Naruto

+0

Ваш вопрос не совсем понятен. Я даже не могу начать обнимать то, что вы пытаетесь сделать здесь. Вы также можете удалить теги для dbms, которые вы не используете. sql-server <> mysql –

+0

№. html входит в цикл. –

ответ

1

вам нужно сравнить значения массива. попробуйте под кодом,

<?php 
    $three = array_intersect($test1,$test2); 

    if(count($three) > 2) 
    { 
    $sql1="UPDATE table SET status='close' WHERE test1='$test1' AND test2='$test2' "; 
    $db=mysql_query($sql1); 
    } 
    else 
    { 
    $sql1="UPDATE table SET status='open' WHERE test1='$test1' AND test2='$test2' "; 
    $db=mysql_query($sql1); 
    } 
?> 
+0

Спасибо. Это помогло. –

+0

рад 2 помогите вам .. :) –

Смежные вопросы