Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Добавление записи в БД [2]
Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008
Помог: 0 раз(а)
Возник вопрос при обработке запроса, т.е. если у меня в базе данных уже есть такая запись с таким номером, который является уникальным, то при попытке ввести запись с таким же номером, обрывается сообщение об ошибке, генерируемым mysql. Можно ли обработать это сообщение и вывести свое сообщение. И вообще как можно обрабатывать различные сообщения mysql.
Заранее спасибо.
EuGen
Отправлено: 29 Апреля, 2008 - 09:32:45
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Если Вам нужно оставлять свои сообщения об ошибках, то придется проверять вручную ситуацию, когда ошибка возникает.
В Вашем примере разумно использовать свойство auto_increment, но как пример можно делать так:
else//в этом случае ошибка будет другого рода, нежели ошибка "duplicate entry"
$error="Ошибка при работе с таблицей: ".$mysql_error();
}
echo($error);
}
?>
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Altynayka
Отправлено: 23 Мая, 2008 - 05:35:16
Частый гость
Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008
Помог: 0 раз(а)
Еще один вопрос по добавлению записей.
Как сделать запрос, если нужно добавить значение в checkboxe. Т.е. нужно добавить "0" или "1", либо "истина"/ "ложь".
При чем есть несколько checkbox-ов, и при изменении одного из checkboxов , например, записывались в БД все текущие состояния.
И еще какой тип данных при этом дучше использовать в БД?
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Если у Вас несколько чекбоксов, то лучше использовать тип BOOL и несколько полей в таблице (так будет проще отображать, да и использовать - тоже).
В MySQL тип BOOL на самом деле есть TINYINT(1). Принимает соответственно целочисленные значения 0 и 1.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
SergeantPEPPER
Отправлено: 23 Мая, 2008 - 09:54:59
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007 Откуда: Казань
Помог: 0 раз(а)
Вопрос я понял так: есть несколько чекбоксов, при изменении любого из них, со ВСЕХ чекбоксов снимается текущая информация и записывается в бд.
По порядку:
- показания чекбоксов снимаются Javascript-ом
- обращение к серверу при изменении статуса чекбокса делается AJAX-ом
- запись данных в бд делается PHP-скриптом, который был вызван прошлым пунктом.
Для хранения данных (1 и 0) - хорошо подходит булевский тип (можно также взять маленький TINYINT).
Altynayka
Отправлено: 30 Мая, 2008 - 10:09:22
Частый гость
Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008
Помог: 0 раз(а)
EuGen,SergeantPEPPER
вы немогли бы показать мне простой пример, отображения данных из БД и запись в ту же БД посредством AJAX.
Много читала, но все так запутанно, что в голове каша, а понять ничего не могу.
Очень прошу.
D1mOn
Отправлено: 30 Мая, 2008 - 10:15:01
Частый гость
Покинул форум
Сообщений всего: 222
Дата рег-ции: Янв. 2008 Откуда: Гагастан
Помог: 0 раз(а)
[+][+][+][+][+]
А при чем здесь Аякс?
scuter
Отправлено: 30 Мая, 2008 - 14:57:46
Посетитель
Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008
Помог: 0 раз(а)
D1mOn Altynayka
чтобы через аяксус передавать переменные,
надо пользоваться JSON, чтобы закидывать данные в ДБ
надо пользоваться PHP скриптом,
надеюсь конект бедной интернет странички с базой данных будет достигнут.
(Добавление)
хотя можно и без JSON,
можно попробовать так
детаем функцию для аякса
чер не обижаться пише в слепую могу гдето ошибиться. (Добавление)
забыл сказать одну важную вещ это косяки аякса,
первый косяк не работает с windows-1251(лучше юзять UTF-8),
второй косяк кеширование данных(надеюсь этот косяк обойдёт тебя стороной).
D1mOn
Отправлено: 30 Мая, 2008 - 23:47:58
Частый гость
Покинул форум
Сообщений всего: 222
Дата рег-ции: Янв. 2008 Откуда: Гагастан
Помог: 0 раз(а)
[+][+][+][+][+]
scuter пишет:
D1mOn
Altynayka
чтобы через аяксус передавать переменные,
надо пользоваться JSON, чтобы закидывать данные в ДБ
надо пользоваться PHP скриптом,
Во-первых, я научился юзать аякс уже давно, и написал
D1mOn пишет:
А при чем здесь Аякс?
только, потому, что мне не было понятно почему Altynayka, хочет именно аяксом добавлять в базу.
request.onreadystatechange=MYFUNCTION(); // эта функция примет вернувшийся ответ
request.send(null);
И уже в MYFUNCTION() выводим ответ посредством req.responseText, но в ней также надо проверять текущее состояние. Их всего 4. Нам нужно именно четвертое, поэтому в этой функции пишем примерно так:
Работаем дальше
Что касается кодировки, то все работает, просто когда посылаете ответ, нужно использовать echo iconv('windows-1251', 'UTF-8', "ВАШ ТЕКСТ");
Что касается хеширования, то оно легко убирается, если поставить в скрипте, вначале, вот такой код:
Кстати, почему-то когда разговор заходит об аяксе, ни Valenok, ни EuGen и т.д. как-будто не замечают этого разговора (не видят), даже когда обращаешся к ним. Может быть эта тема "больная" у них )Это так мысли вслух.
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
А так не работает как вы показали ?
Чтобы записать ip можно и не использовать аякс.
----- Truly yours, Sasha.
Altynayka
Отправлено: 06 Июня, 2008 - 10:43:20
Частый гость
Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008
Помог: 0 раз(а)
valenok пишет:
Чтобы записать ip можно и не использовать аякс.
вообще-то мне не для этого нужен AJAX был.
мне надо вывести содержимое БД (через выборку), при нажатии на опр. элемент(область) страницы,а вывод должен пройзойти после того,как произойдет событие Onclick. И вывести надо в определенной ячейке. Без перезагрузки страницы.
Можно какой-нибудь простой примерчик.
Заранее спасибо.
valenok
Отправлено: 06 Июня, 2008 - 16:47:54
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.