За последние 24 часа нас посетили 22774 программиста и 1226 роботов. Сейчас ищут 754 программиста ...

in_array() PHP MYSQL и CHECKBOX

Тема в разделе "PHP для новичков", создана пользователем george_te, 18 дек 2021.

  1. george_te

    george_te Гость

    С нами с:
    18 дек 2021
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте такая задача. много чего пробывал и дошел до такого когда думал сработает но нет уж...
    есть 3 базы.
    в первой у нас Названия предметов по учебе. и вторая где хранятся значения названия предмета ид и ид учителя и база учителей.
    смысл в том что я при регистрации нового учителя чеком вставляю в базу данных несколько предметов для него. а когда хочу обновить должно выводить список всех предметов и чекнутые те которые принадлежат конкретному учителю. для этого я делаю так:

    сначала загоняю все значения - предметы в массив

    PHP:
    1. $mm2 = array();
    2. $my_klll2 = mysql_query("SELECT * FROM `damr_sag` WHERE `damrigebeli`='$id'");
    3. while($my_kllls2 = mysql_fetch_array($my_klll2)){
    4. $mm2[] = $my_kllls2['sag'];
    5. }

    а потом вывожу список предметов и проверяю массив на совпадения с ид предмета и если совпадает ид и то что в массиве должно чекнуть:

    PHP:
    1. $my_sag = mysql_query("SELECT * FROM `sagnebi` ORDER BY id DESC");
    2. while($my_sag_sh = mysql_fetch_array($my_sag)){
    3.     if(in_array($my_sag_sh['id'],$mm2)){$myc='checked';}
    4.         echo '<input '.$myc.' type="checkbox" value="'.$my_sag_sh['id'].'" >'.$my_sag_sh['title'].'<br>';
    5. }
    в итоге даже когда выбран 1 предмет и в массиве 1 значение допустим 17 скрипт помечает все предметы до ид 17... надеюсь обясснил нормально...
     
  2. KingdaKa

    KingdaKa Новичок

    С нами с:
    7 сен 2021
    Сообщения:
    87
    Симпатии:
    16
    А переменной $myc один раз присваивается значение checked, а потом там и остается? Её надо очищать через else или просто после while, ы?
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    песочницу сделай, чтобы люди не гадали что и к чему, а скачали и у себя посмотрели/поправили код
    --- Добавлено ---
    + нюанс, динозавров не поддерживаем mysql_query