Forum Webscript.Ru

Общие => Базы данных => Тема начата: Pr0Head от 05 Ноября 2002, 21:06:08

Название: Как узнать кол-во полей в возвращаемом запросе MySQL?
Отправлено: Pr0Head от 05 Ноября 2002, 21:06:08
Здравствуйте!

Как узнать в каких полях есть запись и эти поля загнать в массив?

Есть таблица с полями:
id, name, f1, f2, f3, и т.д. до , f40

в зависимости от записи идет разное наполнение полей c индексом f.
Но оно (наполнение) всегда как бы это сказать.... "плавное". То есть не может быть, что запись в f1, f2, f3 есть, в f4, f5 нет, а потом опять есть.
Допустим если от f1 до f27 записи есть, а в f28 записи нет, то дальше их уже не будет.


По-моему запутано получилось :/

Хелп! Очень надо!!!
Спрашивайте, попробую подробнее и понятнее объяснить.
Название: Как узнать кол-во полей в возвращаемом запросе MySQL?
Отправлено: Pr0Head от 05 Ноября 2002, 21:25:13
То есть смысл какой...

по результатам запроса будет выводится таблица:

$myrow["f1"];
$myrow["f2"];
$myrow["f3"];
и т.д.

если результат поля = "", то следующие поля не выводятся.
Название: Как узнать кол-во полей в возвращаемом запросе MySQL?
Отправлено: Макс от 05 Ноября 2002, 23:26:07
Pr0Head
это ИМХО делается не на уровне БД а скриптом (php в частности)
делаешь mysql_fetch_row() и поиск по массиву до ближайшего нуля и потом array_slice(). В чем проблемы?


PS
[off]ИМХО структура БД неправильная у тебя[/off]
Название: Как узнать кол-во полей в возвращаемом запросе MySQL?
Отправлено: Pr0Head от 06 Ноября 2002, 02:35:10
Спасибо, попробую!

Почему неправильная? :/
Она конечно немного запутанная, но по-моему ничего (в наследство от старого разработчика досталась).
Это портал цифровой техники. Сотовые, КПК, цифровые фото и видеокамеры и т.п.
То есть, для каждого типа товара свое описание.
Нужно, чтобы можно было добавлять новые группы товаров, их описания и прочее через админ-интерфейс.
Новая запись в этой таблице - новое описание товарной группы.
Название: Как узнать кол-во полей в возвращаемом запросе MySQL?
Отправлено: rembo от 06 Ноября 2002, 03:56:22
Pr0Head
Какая я то у тебя неправильная таблица.
Название: Как узнать кол-во полей в возвращаемом запросе MySQL?
Отправлено: Pr0Head от 06 Ноября 2002, 10:30:06
Аргументы? :)
Название: Как узнать кол-во полей в возвращаемом запросе MySQL?
Отправлено: AlieN от 06 Ноября 2002, 14:54:55
может я совсем тугой стал, но вроде все просто:

echo "";
$result=mysql_query("select * from table");
while($row=mysql_fetch_row($result))
{
echo "";
for($i=0;$i  {
   if(strlen($row[$i])>0){echo "
";}else{break;}
  }
echo "";
}
echo "
$row[$i]
";
Название: Как узнать кол-во полей в возвращаемом запросе MySQL?
Отправлено: Pr0Head от 06 Ноября 2002, 15:49:50
2 Макс, AlieN: БОЛЬШОЕ спасибо, работают оба варианта.

ЗЫ: И все же про таблицу, почему она неправильная?
Название: Как узнать кол-во полей в возвращаемом запросе MySQL?
Отправлено: Tronyx от 08 Ноября 2002, 17:34:32
Цитировать
ЗЫ: И все же про таблицу, почему она неправильная?

Потому что в ней 42 столбца - а это (в основном) много => структура плохая.
Но я могу и ошибаться, так как до конца не понял зачем она нужна.