2017-02-15 9 views
0

Я хочу сделать форму редактирования, пользователь уже выбрано значение означает, что я хочу, чтобы отобразить в форме редактирования в проверяемом значении флажков, поэтому я стараюсь, как этотКак сделать проверяются значение флажка в массиве

<?php 
include("dbconfig.php"); 
$sql = "SELECT * FROM residential_propertytype WHERE status !='1'"; 
$result = mysql_query($sql); 
while($pr_type = mysql_fetch_array($result)) 
{ 
$propty[] = $pr_type; 

} 
echo "<pre>"; 
var_dump($propty); 
echo "</pre>"; 
foreach($propty as $res) 
     { 
     $checked = in_array($res['id'], 5) ? 'checked' : ''; 
     ?> 

     <input type="checkbox" value="<?php echo $res['id']?>" <?php echo $checked; ?>><?php echo $res['propertyName']?> 
     <?php 
     } 
?> 

Престола ниже var_dump ($ propty) Я получаю ответ, как этого

array(10) { 


[0]=> 
    array(8) { 
    [0]=> 
    string(1) "1" 
    ["id"]=> 
    string(1) "1" 
    [1]=> 
    string(9) "Apartment" 
    ["propertyName"]=> 
    string(9) "Apartment" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
    [1]=> 
    array(8) { 
    [0]=> 
    string(1) "2" 
    ["id"]=> 
    string(1) "2" 
    [1]=> 
    string(9) "Villament" 
    ["propertyName"]=> 
    string(9) "Villament" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
    [2]=> 
    array(8) { 
    [0]=> 
    string(1) "3" 
    ["id"]=> 
    string(1) "3" 
    [1]=> 
    string(16) "Individual House" 
    ["propertyName"]=> 
    string(16) "Individual House" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
    [3]=> 
    array(8) { 
    [0]=> 
    string(1) "4" 
    ["id"]=> 
    string(1) "4" 
    [1]=> 
    string(9) "Row House" 
    ["propertyName"]=> 
    string(9) "Row House" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
    [4]=> 
    array(8) { 
    [0]=> 
    string(1) "5" 
    ["id"]=> 
    string(1) "5" 
    [1]=> 
    string(5) "Villa" 
    ["propertyName"]=> 
    string(5) "Villa" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
    [5]=> 
    array(8) { 
    [0]=> 
    string(1) "6" 
    ["id"]=> 
    string(1) "6" 
    [1]=> 
    string(4) "Plot" 
    ["propertyName"]=> 
    string(4) "Plot" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
    [6]=> 
    array(8) { 
    [0]=> 
    string(1) "7" 
    ["id"]=> 
    string(1) "7" 
    [1]=> 
    string(13) "Builder Floor" 
    ["propertyName"]=> 
    string(13) "Builder Floor" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
    [7]=> 
    array(8) { 
    [0]=> 
    string(1) "8" 
    ["id"]=> 
    string(1) "8" 
    [1]=> 
    string(9) "Penthouse" 
    ["propertyName"]=> 
    string(9) "Penthouse" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
    [8]=> 
    array(8) { 
    [0]=> 
    string(1) "9" 
    ["id"]=> 
    string(1) "9" 
    [1]=> 
    string(10) "Farm House" 
    ["propertyName"]=> 
    string(10) "Farm House" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
    [9]=> 
    array(8) { 
    [0]=> 
    string(2) "10" 
    ["id"]=> 
    string(2) "10" 
    [1]=> 
    string(16) "Studio Apartment" 
    ["propertyName"]=> 
    string(16) "Studio Apartment" 
    [2]=> 
    string(0) "" 
    ["reg_date"]=> 
    string(0) "" 
    [3]=> 
    string(1) "0" 
    ["status"]=> 
    string(1) "0" 
    } 
} 

в то время как собираюсь сделать проверенное значение флажка Я получаю ошибку Предупреждения: in_array() ожидает параметр 2 будет массивом, целое число с учетом ч ой, чтобы решить эту проблему

+0

Проверьте http://php.net/manual/en/function.in-array.php. Второй параметр должен быть массивом. –

+0

Предупреждение сообщает вам, как его исправить. Вам нужно передать 'array', но вы передаете' 5', который является целым числом. – BizzyBob

+0

как я могу пройти, пожалуйста, обновите свой ответ –

ответ

0

Вам нужно определить, вероятно, что вы имели в виду о 5 ..

Это должно быть так: $ array_list = массив (1, 2, 3, 4, 5);

$checked = in_array($res['id'], $array_list) ? 'checked' : ''; 

На вашем примере, вы передаете 5 вместо array

0

Вы знаете значение и ключ массива, который вы хотите, чтобы соответствовать, зачем использовать in_array()?

$checked = ($res['id'] == 5) ? 'checked' : ''; 
0

В вашем HTML кода формы, флажок (ы), которые вы хотите, чтобы сделать массив все должны иметь одинаковые имена thign трейлеров кронштейна на конце. Таким образом, выбранные флажки образуют массив в массиве $ _POST

<form method=post action=yourstuff.php> 
Pick your favorite pizza toppings - 
<input type=checkbox name=topping[] value="pepperoni"> Pepperoni <br /> 
<input type=checkbox name=topping[] value="ex. chz"> Extra cheese <br /> 
<input type=checkbox name=topping[] value="black olives"> Black olives <br /> 
<input type=submit> 
</form>