Всем доброе утро. У меня проблема с добавлением данных их html таблицы в базу данных. У меня есть вот такой код: PHP: <form method="post"> <table> <tr> <td>Иванов</td> <td> Иван Иванович</td> <td> <input type="submit" value="Добавить" name="add"> </tr> <tr> <td>Иванов</td> <td> Иван Иванович</td> <td> <input type="submit" value="Добавить" name="add"> </tr> </table> </form> <?php if (isset($_POST['add'])) $add = $_POST['add']; $result = mysql_query ("INSERT INTO 2 ('name', 'fio') VALUES ('$add')"); ?> Ошибок не пишет, но и данные не добавляет). Подскажите в чем проблема? Или как данные, взятые внутри тегов <td></td> превратить в переменные, чтобы их передать с помощью пхп в мускул? Спасибо
Padaboo это не то. или ты имеешь ввиду мне вместо <td>Иванов</td> писать <td><input type="text" name="fio">Иванов</td>? Тогда пользователь будет иметь возможность изменять данные, что не хотелось бы, но тогда обработчику передастся переменная с именем name и все будет ок. Я вот этого и хочу, чтобы ячейке можно было бы присвоить имя, чтобы ее нормально передать, но без input. Это возможно?
noreset а смысл тогда всего этого, если поменять нельзя? можно писать <td>Иванов</td> <td> Иван Иванович</td> и добавить скрытые поля <input type="hidden" name="name" value="Иванов"> в общем все равно инпуты, но менять их значения из браузера легко
просто у меня до этого есть форма, где чел выбирает к примеру свое имя, после чего жмет далее и выходит таблица, где первый столбец его имя, а остальные какие либо параметры. Он должен выбрать нужную ему строчку, нажать Добавить и чтобы эта строка записалась в базу. Вот как то так мне надо. Но эти параметры он не должен исправлять
1) INSERT INTO 2- нет названия таблицы 2) количество полей ввода 2, а количество значений 1- должно быть тоже 2 3) я бы сделал как предлагает Padaboo HTML: <form method="post"> <table> <tr> <td>Иванов</td> <td> Иван Иванович</td> <td> <input type="submit" value="Добавить" name="add"> </tr> </table> <input type="hidden" name="fio" value="Иванов"> <input type="hidden" name="name" value="Иван Иванович"> <input type="submit" value="Добавить" name="add"> </form>
что то не получается. при нажатии на кнопку, вообще никакой реакции. Если делать как runner написал, то там работает, только если кнопку лишнюю вставить, помимо таблицы. Блин, может как то не таблицей этот вывод сделать? Я вобщем хочу сделать онлайн запись как вот на этом сайте http://www.mrkb.altvis.ru/. Если хотите то посмотрите. Там где полис введите - 123123, а где др - 1988-11-13. потом жмете записаться на прием. там выбираете врача и дату и Обновить. И выходит та самая таблица, на подобие которой я и хочу сделать. Уже тут все перепробовал, а вот так что то не выходит, чтобы нажать на Записаться, заносилась эта строка в базу. помогите плззз
1) Наверняка при регистрации в системе номер полиса и дата рождения проверяются с данными в таблице полисов. Если есть полис, то допускается в систему, а если нет, то снова на форму ввода данных полиса. Если полис найден, то данные полиса и данные владельца полиса можно хранить в сессионных переменных. 2) Далее использовать данные из этих сессионных переменных по своему усмотрению: для вывода или для записи в базу. 3) лучше хранить данные держателя полиса в одной таблице, сами полисы в другой, а в таблице записей на прием хранить только идентификатор полиса. Тогда форму можно выводить используя сессионные переменные $_SESSION['name']="Иван Иванович"; $_SESSION['fio']="Иванов"; HTML: <form method="post"> <table> <tr> <td><?php echo $_SESSION['fio'];?></td> <td> <?php echo $_SESSION['name'];?></td> <td> <input type="submit" value="Добавить" name="add"></td> </tr> </table> </form> и запись в базу $result = mysql_query ("INSERT INTO 2 ('name', 'fio') VALUES ('{$_SESSION['name']}','{$_SESSION['fio']}')"); Если у тебя система вообще другая, то принцип тот же самый 1) При успешной регистрации пользователя хранишь его данные в сессионных переменных 2) где нужно используешь данные пользователя из сессионных переменных
да, все нормально, спасибо всем. Если разрешите, я еще задам последний вопрос, наверно глуповатый, но все таки))) вот есть форма HTML: <select class="text" name="spec"> <option>Иванов</option> <option>Петров</option> <option>Сидоров</option> </select> <input name="Submit" type="Submit" value="Далее>>" /> ставлю вот такое условие: PHP: <? if ($_POST['spec'] == 'Иванов') { include ("1.php"); } if ($_POST['spec'] == 'Петров') { include ("2.php"); } if ($_POST['spec'] == 'Сидоров') { include ("3.php"); } ?> Вот, это все у меня хорошо работает, но вот проблема в том, что я хочу, чтобы при выборе из списка например Петрова и после нажатия на кнопку далее, чтобы Петров оставался в списке selected. А я когда выбераю Петрова и жму далее, выходит мой include, но в списке опять Иванов переключается. Можно как нибудь сделать, чтобы при выборе кого либо он оставался на месте при нажатии на Submit?
1) вообще-то опциям полагается еще и атрибут value. В данном случае видимо это идентификатор пользователя 2) обычно, при выводе опций какой-то опции ставят атрибут selected, который определяет, что эта опция выбрана 3) при выборе Петров нужно просто запомнить его код, а при выводе списка опций поставить ему атрибут selected Вот каким должен быть вывод до выбора HTML: <select class="text" name="spec"> <option id=1 selected>Иванов</option> <option id=2 >Петров</option> <option id=3 >Сидоров</option> </select> <input name="Submit" type="Submit" value="Далее>>" /> а таким после выбора Петров HTML: <select class="text" name="spec"> <option id=1 >Иванов</option> <option id=2 selected>Петров</option> <option id=3 >Сидоров</option> </select> <input name="Submit" type="Submit" value="Далее>>" />
runner поясни пожалуйста, мне ставить какое то условие, чтобы при выборе например Петрова ему ставился selected? просто это все обрабатывается на одной странице и если я буду ставить второй блог с <option id=2 selected>Петров</option>, то их там будет 2.
Приведя два блока кода я имел в виду просто как должен выглядеть HTML-код в самом начале и после выбора посетителя. В самом начале, в качестве выбранной опции можно выбрать какую-нибудь произвольную опция или не выбирать вообще, а после выбора посетителя, для выбранной опции нужно установить атрибут selected PHP: //проверка - нажата ли кнопка if(isset($_POST['Submit']) and isset($_POST['spec'])) { $selected=$_POST['spec']; // для выбранной опции установить атрибут selected } else { $selected=''; // ничего не устанавливаем } // пусть опции хранятся в массиве options типа код=>имя //$options[1]="Иванов"; //$options[2]="Петров"; //$options[3]="Сидоров"; // выводим опции с учетом выбранной опции $o=array(); $o[]='<select class="text" name="spec">'; foreach($options as $id=>$name) { // опция выбрана? if($id==$selected) { $sel_attrb="selected"; } else { $sel_attrb=""; } $o[]="<option value=\"{$id}\" {$sel_attrb}>{$name}</option>"; } echo implode('',$o);