а какая пользователю разница? посмотри адрес ЭТОЙ темы: http://www.php.ru/forum/viewtopic.php?p=159585 как ты думаешь, что такое "159585" ?
Я совсем запутался, как вывести данные ( в виде таблицы с чекбоксом), что-бы их можно было удалять или редактировать?
Вот мой вывод: PHP: <?php include ("putdb.php"); putdb_connect () or exit (); include ("sotrqweri.php"); echo "<form name='upd' action='blocks/delete_sotrud.php' method='POST'>" echo "<table border='1' bgcolor='#EEEEEE' width='100%'>"; echo "<tr bgcolor='#A4D1FF'>"; echo "<th> </th><th WIDTH='20%'><h2 style='color: #00008F;'>Фамилия</th><th WIDTH='16%'><h2 style='color: #00008F;'>Имя</th><th WIDTH='16%'><h2 style='color: #00008F;'>Отчество</th><th WIDTH='25%'><h2 style='color: #00008F;'>Должность</th><th WIDTH='*'><h2 style='color: #00008F;'>Отдел</th>"; echo "</tr>"; while ($row = mysql_fetch_array ($result)) { echo "<tr>"; echo "<td align='center' bgcolor='#D5D5D5'><input type='checkbox' name='id{Sotrudnik_id}' value='Contakt' id='checkbox1' method='POST' action='blocks/sotr_delete.php'/></td>"; echo "<td>",$row ['Femyli'],"</td><td>",$row ['Name'],"</td><td>",$row ['Otchestvo'],"</td><td>",$row ['DolgnostName'],"</td><td>",$row ['OtdelName'],"</td>"; echo "</tr>"; } echo "</table>"; echo "</form>" ?> Я уже и форму туда приплел, но судя по всему - все равно не правильно(((((
форму, вроде, правильно, Только name у формы не нужен У инпута не нужен метод и экшн. name='id{Sotrudnik_id}' поменяй на {$row['Sotrudnik_id']}, как я уже говорил. И должно работать.
HTML: <input type='checkbox' name='check_mark[]' value='@val@'> где @val@ подставляешь id записи ($row['id'] или что там), взять мой копипась и сунуть в целевой скрипт, для проверки, в $msg_ids через запятую придут id, как его заюзать - в том же копипасте
приходит Постом массив, элементы которого - id чекбоксов, собираем их в строку и записываем через запятую в переменную $msg_ids. $check_count не нужен (не дочистил ). Фукнция isNum() просто проверяет, является ли переменная десятичным числом (возможно велосипед, просто привык ): Код (Text): function isNum($value) { return (preg_match("/^[0-9]+$/", $value)); }
Я не понял вот этой строчки: PHP: dbquery("DELETE FROM `".$db_pref."mail_server` WHERE mail_id IN(".$msg_ids.")"); Что за переменная $db_pref ?
префикс таблички суть не в том, условие запроса вот такое WHERE mail_id IN(1,2,5,12,15,22,23), в $msg_ids так будут перечислены нужные значения для поля mail_id
за это просто текст. для удобства, например у тебя только одна база, а захочется иметь две копии сайта, вводят разный префикс для табличек - и они не пересекаются (одни называются например db1_users, а вторые db2_users).
> Фукнция isNum() просто проверяет, является ли переменная десятичным числом (возможно велосипед, просто привык Smile ) аха. у меня тоже до сегодняшнего дня был такой вот: PHP: <? function isStrInt ($str) { return (strval(intval($str)) === $str); } Но сегодня узнал, что есть ctype_digit - нативная функция пхп. > dbquery("DELETE FROM `".$db_pref."mail_server` WHERE mail_id IN(".$msg_ids.")"); Зачем так усложнять строку конкатенацией? "DELETE FROM `{$db_pref}mail_server` WHERE mail_id IN($msg_ids)" - так ведь намного более понятно
да вообще привыкай, это не дельфи, нет тут строгой типизации, все можно перефигачить вдоль и поперек с помощью одной переменной
Даааааа, ребят, видно я сегодня уже не в форме - в голове каша, на часах 2.30, а ума этому чекбоксу так и не дал...:-(
TheShock Я всегда пишу двойные кавычки. И работаю я в notepad.exe А более понтовые редакторы правильно строки подсветят. И еще у меня правило - строка является просто текстом, в ней я никогда не располагаю переменные для вывода (двойные кавычки), если мне надо в строку поместить значение переменной, я ее разорву на две части, как в копипасте выше Визуально я привык (даже без подсветок). Ненавижу когда мешают в коде хтмл и код. Строку текста я так же воспринимаю как хтмл, посему я не помещаю в нее код PS финт, как беспроблемно делать вставку печатаем строку, обрамленную в кавычки. Ставим курсор на нужную позицию, далее комбо "кавычки-кавычки-влево-шифт+(точка-точка)-влево" - готовая позиция для вставки имени переменной или ее набора %)) натренировано (выдрачено), занимает меньше секунды скобки я тоже ставлю сразу обе, и жму влево.
Ребят, еще один вопрс по этому-же чекбоксу (будь он не ладен). Можно ли отправить данные этого чекбокса не кнопкой, находящейса в теге форм, а ссылкой с другого края страницы?
Вы, вероятно, никогда не делали достаточно крупных проектов с запутанной логикой. Я не представляю, как можно кодить монстров по несколько тысяч строк в нотепаде. (пс. У меня на компе нет notepad.exe ). ХТМЛ и ПХП вообще в одном месте собиратся не должны. А в редакторах с подсветкой синтаксиса переменные ставленные в строку намного приятнее, чем переменные вставленные через конкатенацию, потому что не надо в уме удалять "лишние" символы, которые не попадут в строку. Ну и ошибки, алля Код (Text): "SELECT * FROM `".$table."` WHERE `".$field1."` = "'.$value1."' and `".$field2."` = '".$value2."'"; в редакторе без подсветки тяжело отследить. Ну и, допустим, без ошибок: PHP: <? "SELECT * FROM `".$table."` WHERE `".$field1."` = '".$value1."' and `".$field2."` = '".$value2."'"; "SELECT * FROM `$table` WHERE `$field1` = '$value1' and `$field2` = '$value2.'"; Я не могу понять, как первую запись можно считать более удобочитаемой, чем вторую
Я тоже об этом задумываюсь, а что если с повощью яваскрипт написать формы и на удаление и на редактирование, только иды получить...
Димон, да, антонн прав - ДжаваСкрипт. Ну или форму на всю страницу и кнопку-сабмит засунуть куда надо