Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 14
1

Добавление записи в таблицу

03.11.2013, 01:19. Показов 2032. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь сделать на странице форму для добавления записи в mysql таблицу (phpmyadmin). Но какой бы я не указал номер добавляемой записи, помимо нее создается запись с номером 0 и остальные данные вписываются в эту запись.

Код формы:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form action="edit.php" method="post" name="add_record">
<?php
if (isset($_SESSION['table']))
{
$query = mysql_query("SHOW FIELDS FROM $t");
$i=0; $k='a';
while($col = mysql_fetch_array($query))
{
    echo '<input type="text" name="'.$i.'" value="'.$col['0'].'"><br \>';
    echo '<input type="hidden" name="'.$k.'" value="'.$col['0'].'">';
    $i++; $k++;
}
}
$_SESSION['i']=$i;
?>
<br>
<input type="hidden" name="OKey">
<input type="submit" name="addcol" value="Добавить">
<input type="reset" name="reset" value="Очистить"><br>
<input type="submit" value="Сброс">
</form>

Код PHP скрипта:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if (isset($_POST['OKey']))
{
$k='a';
for ($j=0; $j<$_SESSION['i']; $j++)
{
$value = $_POST[$j];
$c = $_POST[$k];
echo $value;
$qeury = mysql_query("INSERT INTO $t ($c) VALUES ('$value')");
$k++;
}
unset($_SESSION['i']);
if ($query) echo "OK";
}
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2013, 01:19
Ответы с готовыми решениями:

Добавление записи в таблицу
Есть у меня таблица Все данные выводятся с таблицы `primary` Нужно сделать так, что бы при...

Добавление записи в таблицу при нажатии на кнопку
Есть две таблицы при нажатии на кнопку конкретная запись из одной таблицы заносится в другую...

Добавление записи в любую таблицу любой базы MySQL из web-интерфейса
Здравствуйте. Не хватает компетенции для решения задачи. Времени на расширение компетенции -тоже....

И так, что не так с моим запросом на добавление записи в таблицу?
$sql = 'INSERT INTO product ' . '(name, code, price, category_id, brand,...

7
12 / 12 / 1
Регистрация: 22.05.2013
Сообщений: 82
03.11.2013, 10:53 2
А структура таблици какая у тебе
0
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 14
03.11.2013, 14:08  [ТС] 3
Цитата Сообщение от 24web Посмотреть сообщение
А структура таблици какая у тебе
Вот:
Миниатюры
Добавление записи в таблицу  
0
0 / 0 / 1
Регистрация: 19.06.2013
Сообщений: 49
03.11.2013, 21:00 4
В поле "№" нужно дабавить AUTO_ICREMENT (AI) и тогда при добавлении новой записи будет создаваться новая запись в БД автоматически
0
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 14
03.11.2013, 21:41  [ТС] 5
Цитата Сообщение от torpedko Посмотреть сообщение
В поле "№" нужно дабавить AUTO_ICREMENT (AI) и тогда при добавлении новой записи будет создаваться новая запись в БД автоматически
Дело не в этом. Изначально был установлен авто-инкремент, но там была другая проблема. Тем более нужна возможность добавления записи не только в конец, а с инкрементом она вроде добавляется в конец.

Добавлено через 2 минуты
Подскажите тогда хотя бы как удалить переменную, а то всякие unset, session_unregister и т. п. не помогают.
0
0 / 0 / 1
Регистрация: 19.06.2013
Сообщений: 49
03.11.2013, 22:55 6
Цитата Сообщение от kHo Посмотреть сообщение
Дело не в этом. Изначально был установлен авто-инкремент, но там была другая проблема. Тем более нужна возможность добавления записи не только в конец, а с инкрементом она вроде добавляется в конец.

Добавлено через 2 минуты
Подскажите тогда хотя бы как удалить переменную, а то всякие unset, session_unregister и т. п. не помогают.
как авто-инкремент может быть установлен изначально? Вы его устанавливаете при созданиил таблицы! а если вы кинули скриншот своей структуры, то в № не поставлен авто-инкремент
0
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
04.11.2013, 01:41 7
kHo, давай попробуем понять, что тут происходит:
-1й скрипт:
вы выводите все ИМЕНА полей таблицы в input-ы. Зачем-то дважды. Выйдет нечто вроде:
HTML5
1
2
<input type="text" name="0" value="id"><br \>
<input type="hidden" name="a" value='id">
В конце - сохраняете счётчик в сессию..

- При каждом запросе создаются N записей в цикле от 0 до $_SESSION['i'],
при чём у каждой записи все поля, кроме одного (на которое указывает $c в данный момент) - не заданы. По идее - мускуль должен отклонить ВСЕ запросы, т.к. default значений нет. (если вы конечно не привираете и это ТА таблица, что за $t - неизвестно).
Каждый запрос выходит примерно таким:
MySQL
1
INSERT INTO some_table (id) VALUES ('id')
Что вы на самом деле хотели сделать - пока неизвестно..
0
60 / 55 / 20
Регистрация: 01.04.2013
Сообщений: 551
05.11.2013, 10:45 8
Меня одно пугает , а это нормально названия таблиц в латинице писать ? ТИЦ и тд. ??? Уже не один раз создавал БД но как то первый раз тут вижу что в латинице ...
0
05.11.2013, 10:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2013, 10:45
Помогаю со студенческими работами здесь

Добавление товара и добавление отчета в таблицу
Нужна помощь. Нужно в после обновления, добавить данные в другую базу данных (для отчета) $query...

Добавление записи(подстроки) к существующей записи(строке)
Предположим в таблице есть одно поле имя его - letters. В таблице существует одна запись где поле:...

Добавление новой записи в таблицу и осуществление запроса на добавление при загрузке формы
Здравствуйте. Есть одна просьба, подскажите как сделать или пример кода покажите на вот такую...

Автоматическое добавление записи в таблицу, после добавления записи в другой таблице
Привет всем! Подскажите, как Access 2010 сделать так, чтобы при добавлении записи в одной таблице,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru