Автор Тема: форма, массив и MySQL  (Прочитано 6180 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ajr

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.fcrubin.h1.ru
форма, массив и MySQL
« : 15 Июля 2002, 05:15:53 »
Не могу понять...
Есть у меня форма с 21 полем, все данные с этой формы передаются в таблицу БД, причём данные из 18-ти полей формы пытаюсь занести в одно поле таблицы в виде массива...
Примерно так:
:

и т.д. всего 18.
...$sql = "insert into makeprog VALUES(NULL,\'$tur\',\'$intro\',\'$progn\',\'$user\',\'$date\',\'$time\')";...

А когда извлекаю эти данные из БД - выдаёт только "Array":

function ReadFromTable () {
    connect ();
    $result = mysql_query( "SELECT * FROM makeprog");
    $num_rows = mysql_num_rows($result);
    print "There are currently $num_rows rows in the table

";
    print "

\\n";
    while ($a_row = mysql_fetch_array($result)) {
    print "\\n";
    print "\\n";
    print "\\n";
    }
    print "
$a_row[progn]
\\n";
    }

А как мне обратно получить и распечатать данные введённые пользователем? Или я что-то не так делаю? Неохота 18 дополнительных полей в таблице создавать...

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
форма, массив и MySQL
« Ответ #1 : 15 Июля 2002, 07:07:42 »
А ты где видел в SQL\'е поля с типом Array?
Ес-но значение переменной $progn=="Array".
Надо заводить 18 доп. полей, либо склеивать массив в конечную строку, либо закидывать в поле все значения массива с разделителями.
Например, $progn=$progn[a1]."|".$progn[b1];А потом после SELECT\'а $progn=explode("|", $progn);
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
форма, массив и MySQL
« Ответ #2 : 15 Июля 2002, 12:49:21 »
И serialize() можно, наверное.......

Оффлайн ajr

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.fcrubin.h1.ru
форма, массив и MySQL
« Ответ #3 : 15 Июля 2002, 13:01:21 »
Цитировать
Alexandr

Понятно, спасибо...
А чисто практически что лучше, создать 18 полей или сделать массив с разделителями?

Оффлайн advocat

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 73
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.php.net.ua
форма, массив и MySQL
« Ответ #4 : 15 Июля 2002, 14:43:03 »
Вообще канешно лучше сделать именно 18 полей, намного проще и удобней, но это лично мое мнение, так как я не особо люблю масивы, но всеравно приходится ими пользоваться на каждом шагу.
То, что тебе вывело именно array , дык этого и следовало ожидать, ты же пытаешся вывести масив на печать !
а решение как раз твоей проблеммы написал Alexandr
заходите в гости
адвокат, это не профессия, это диагноз ! [ обитаю в PHP ]

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
форма, массив и MySQL
« Ответ #5 : 15 Июля 2002, 14:50:45 »
Цитировать
Вообще канешно лучше сделать именно 18 полей

Лучше если только в них потребуются поиск или операции с какими либо полями, а так лучше 1.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн advocat

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 73
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.php.net.ua
форма, массив и MySQL
« Ответ #6 : 15 Июля 2002, 15:31:11 »
НУ так а для чего ж тогда базу держать ? естественно, что-бы можно было что-то найти и тд ...
заходите в гости
адвокат, это не профессия, это диагноз ! [ обитаю в PHP ]

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
форма, массив и MySQL
« Ответ #7 : 15 Июля 2002, 16:15:30 »
Цитировать
НУ так а для чего ж тогда базу держать ? естественно, что-бы можно было что-то найти

Не всегда. Например, если в базе хранят картинки или ещё что когда тебе не надо искать в каких-либо полях, а просто хранить данные.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн advocat

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 73
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.php.net.ua
форма, массив и MySQL
« Ответ #8 : 15 Июля 2002, 16:19:29 »
Цитировать
Не всегда. Например, если в базе хранят картинки или ещё что когда тебе не надо искать в каких-либо полях, а просто хранить данные.

и ты хочешь сказать, что картинки ты масивом держать будешь ? :D
заходите в гости
адвокат, это не профессия, это диагноз ! [ обитаю в PHP ]

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
форма, массив и MySQL
« Ответ #9 : 15 Июля 2002, 17:09:35 »
картинки вообще в базе хранить не надо

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
форма, массив и MySQL
« Ответ #10 : 16 Июля 2002, 07:56:09 »
RomikChef
Цитировать
картинки вообще в базе хранить не надо

Почему?
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
форма, массив и MySQL
« Ответ #11 : 16 Июля 2002, 10:09:51 »
потому, что это нереляционные данные.
Ты тут нам много и красиво рассказывал про оптимизацию, видимо, тебе этот процесс очень нравится, и тебе хочется пооптимизировать резко выросшую в объеме базу и объем используемой памяти. Флаг в руки.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
форма, массив и MySQL
« Ответ #12 : 16 Июля 2002, 10:18:39 »
2RomikChef
Можно ведь (и нужно) в отдельной таблице хранить BLOB поля.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
форма, массив и MySQL
« Ответ #13 : 16 Июля 2002, 11:07:11 »
не нужно вообще хранить блоб поля.
В жигулях тоже МОЖНО песок возить.
Но только идиоты или люди, у которых нет другого выхода, так делают. Потому, что потом эти жигули все равно выбросить придется.
Бинарные данные совершенно нет смысла хранить в базе данных. Это только бессмысленно повышать нагрузку на сервер.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
форма, массив и MySQL
« Ответ #14 : 16 Июля 2002, 11:12:33 »
Саша.
Я не говорю, что нельзя ни в коем случае, никогда во веки веков, аминь. Я написал - не надо. Если есть возможность обойтись, то конечно же, в базе хранить не надо. и любой здравомыслящий человек это понимает. что не надо писать специальные скрипты, которые занимаются тем, с чемвеликолепно справляется веб-сервер - отдачей картинки клиенту. что не не надо грузить память машины в объеме, равном двум картинкам. Что не надо создавать гепоррой пользователю, которому картинка отдается не по-человечески, а с уродским адресом. Что не надо создавать проблемы себе, в виде невозможности, к примеру, использования функции getimagesize. И этот список можно долго продолжать. Но он же очевиден. Смешно объяснять такие, в общем-то, примитивные вещи.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28