Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2011, 20:03   #1
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию Проблема с checkbox'ом.

Делаю клиент базы данных в PHP (лаба в универе).
Возникла проблема с чекбоксом.
Мне нужно чтоб галочки стояли в квадратиках, значения которых я передаю на эту страницу. (Есть список актеров(чекбокс). На предыдущей странице, щелкая на кнопку "редактировать", под фильмом, надо чтоб все актеры этого фильма были отмечены галочкой в открывшемся окне).
Значения я беру запросом SQL, чекбокс у меня описан циклом for, как мне поставить условие и что должно после него выполняться, чтоб квадратики отмечались? Помогите пожалуйста, два часа уже голову ломаю.. Заранее всем спасибо =)
Mr_freeman вне форума Ответить с цитированием
Старый 22.11.2011, 21:03   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

C кодом будет быстрее.
Отмеченный checkbox - прописываем атрибут checked.
Andkorol вне форума Ответить с цитированием
Старый 22.11.2011, 21:17   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Код:
while ($row=mysql_fetch_assoc($record)) {
  $actors[$row['name']]=true; // заполняем хэш актеров, true — присутствует в данном фильме, отмечаем
}
for ($i=0;$i<$check_count;$i++) {
  var $chkd=' ';
  if ($actors[$check_names[$i]]) { // Если в хэше актеров есть (true) актеры с именем соответствующего чекбокса, то отмечаем
    $chkd = ' checked="checked"';
  }    
  echo '<input type="checkbox"'.$chkd.'>&nbsp;'.$check_names[$i].'<br>';
}
Как-то так, или я не правильно понял вопрос?
Просьба тапками не кидаться, в серверных языках я нубик=)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 22.11.2011, 21:26   #4
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию

Проблема в том что неизвестно какие чекбоксы будут отмечены, чтоб в коде сразу писать.

PHP код:
<?php
//постоянный запрос - список актеров
$query "select * from actor";
$result mysql_query($query);
if (!
$result) die ("Ошибка доступа к таблице Актер: " mysql_error());
$rows mysql_num_rows($result);

//тут получаем ключи актеров данного фильма(ключ которого 
//передается в $id_film)
$query1 "select actor.id_actor from actor,actors_in_films where         actors_in_films.id_film = $id_film and 
actor.id_actor = actors_in_films.id_actor"
;
$result1 mysql_query($query1);
if (!
$result1) die ("Ошибка доступа к таблице Актер" mysql_error());
$rows1 mysql_num_rows($result1);

//Вот тут выводятся чекбоксы, надо чтоб были отмечены все актеры
//которые совпадают по результатам запросов (ключами)
for ($j=0$j<$rows; ++$j)

$row4 mysql_fetch_row($result);
echo <<<_END
<form action = "redfilm.php" method = "post">
<input type = "checkbox" name = "actors[]" value = "
$row4[0]"/>
$row4[1] $row4[2]  <br /> //имя фамилия актера
</form> 
_END;
}

// $row4[0] - ключи постоянной таблицы

Последний раз редактировалось Mr_freeman; 22.11.2011 в 21:29.
Mr_freeman вне форума Ответить с цитированием
Старый 22.11.2011, 21:32   #5
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию

Naive, спасибо, попробую)
Mr_freeman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37