Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > чекбоксы


Автор: proff89 3.3.2008, 18:26
MoLeX, подскажите плиз, занялся написанием небольшой цмс для дипломного проекта...
никак не могу с чекбоксами разобраться :(
 
Код

<?php
    include "./config.php";    //    подключаем конфиг с доступом к БД

//    Осуществляем подключение к БД + даем знать MySQL'у в какой кодировке мы хотим работать
    mysql_connect($db_host, $db_uname, $db_pass) or die("Не могу
соедениться с MySQL сервером!");
     mysql_select_db($db_name) or die("Базы данных не существует!");
    mysql_query ("set character_set_client='cp1251'");
    mysql_query ("set character_set_results='cp1251'");
    mysql_query ("set collation_connection='cp1251_general_ci'");
     /* Выполняем SQL-запрос */
    $query = "SELECT text
     FROM `News`
     ORDER BY id DESC";
    $result = mysql_query($query) or die("Query failed : " . mysql_error());
    /* Выводим результаты в html */
     print "<form name='form1' method='post' action='script.php'><table
border='1' width='50%' align='center'>";
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        print "<tr>";
        foreach ($line as $col_value) {
        print "<td>$col_value</td><td><input name="editgroup['.$result2.']""
type="checkbox" value="'.$result2.'" /></td>";
        }
        print "</tr>";
    }
    print "</table></form>";

    /* Освобождаем память от результата */
    mysql_free_result($result);

        ?>


ругается на 22 строку, т.е editgroup['.$result2.'] должно браться из id из базы (совпадать с id текущей строчки), подскажите как присвоить editgroup['.$result2.'] id из базы...

Автор: bars80080 3.3.2008, 18:32
тут скорее всего в синтаксисе дело:
Код

print '<td>'.$col_value.'</td><td><input name="'.editgroup[$result2].'" type="checkbox" value="'.$result2.'" /></td>';

попробуй так

Автор: proff89 3.3.2008, 18:45
Parse error: parse error, unexpected '[' in z:\home\localhost\www\diplom\del1.php on line 22

:(

как мне объяснял один человек:
только в name у чекбокса должно быть не просто editgroup[$result2], а editgroup[айди
текущей строчки], который должен совпадать с индексом строки.

Автор: bars80080 3.3.2008, 19:21
да не посмотрел,
ошибка по-прежнему синтаксическая, т.к. в своём примере проблем не вижу приведите код, который вы исправили,
а также не понятно что есть $result2 и $editgroup, замените, что ли
Код

    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        print "<tr>";
        foreach ($line as $col_value) {
        print "<td>$col_value</td><td><input name="editgroup['.$result2.']""
type="checkbox" value="'.$result2.'" /></td>";
        }
        print "</tr>";
    }
 на
Код

    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        print '<tr><td>'.$line['text'].'</td><td><input name="'.$line['text'].'" type="checkbox" value="'.$line['text'].'" /></td></tr>';
     }

что там про id говорилось не понял, опишите проблему полнее

Автор: proff89 3.3.2008, 20:09
bars80080, спасибо smile как говорится трамвайчик тронулся дальше, щас буду дальше разбираться... кнопку надо добавить и тд, разбираюсь по чуть чуть...

Автор: GeneralElectric 3.3.2008, 20:25
proff89, для облегчения задачи очень удобно бывает HTML форму рисовать руками, а не скриптом.
так ты исключишь ошибки рисования.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)