У меня возникают трудности с массивом. У меня есть таблица в моей БД со многими отношениями, где у сотрудника может быть несколько навыков, а умение может быть связано с несколькими сотрудниками. Я пытаюсь установить форму, в которой пользователь может использовать флажки, чтобы показать, какие навыки у сотрудника есть.in_array не работает из созданного массива fetch_array
В настоящее время я застрял в показе флажков с проверкой в боксе, если значение возвращается из БД. Я запускаю инструкцию select, чтобы получить данные, а затем сохраняя это в массиве (print_r показывает, что там есть правильные данные) И затем я пытаюсь использовать in_array для определения того, следует ли отмечать флажок или нет, но ничего не происходит. Может ли кто-нибудь увидеть, что я делаю неправильно? Спасибо (установить статический ниже сотрудник 11, это имеет 3 результатов)
<?php
require_once('db_connect.php');
$array = array();
$qry = "SELECT skill_id FROM skillsets WHERE emp_id = 11";
$stmt = $mysqli->prepare($qry);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_array(MYSQLI_NUM))
{
$array[] = $row;
}
?>
<input type="checkbox" name="chk1[]" value="1" <?php if(in_array("1", $array)){echo 'checked="checked"';}?> >skill1
<input type="checkbox" name="chk1[]" value="3" <?php if(in_array("3", $array)){echo 'checked="checked"';}?> >skill2
<input type="checkbox" name="chk1[]" value="5" <?php if(in_array("5", $array)){echo 'checked="checked"';}?> >skill3
<input type="checkbox" name="chk1[]" value="2" <?php if(in_array("2", $array)){echo 'checked="checked"';}?> >skill4
<input type="checkbox" name="chk1[]" value="6" <?php if(in_array("6", $array)){echo 'checked="checked"';}?> >skill5
<input type="checkbox" name="chk1[]" value="4" <?php if(in_array("4", $array)){echo 'checked="checked"';}?> >skill6
$ row - это уже массив, поместив его в массив $ array [], вы создаете многомерный массив не нужно просто делать 'in_array (« 1 », $ row);' – Dave