Forum Webscript.Ru
Общие => Базы данных => Тема начата: Pr0Head от 05 Ноября 2002, 21:06:08
-
Здравствуйте!
Как узнать в каких полях есть запись и эти поля загнать в массив?
Есть таблица с полями:
id, name, f1, f2, f3, и т.д. до , f40
в зависимости от записи идет разное наполнение полей c индексом f.
Но оно (наполнение) всегда как бы это сказать.... "плавное". То есть не может быть, что запись в f1, f2, f3 есть, в f4, f5 нет, а потом опять есть.
Допустим если от f1 до f27 записи есть, а в f28 записи нет, то дальше их уже не будет.
По-моему запутано получилось :/
Хелп! Очень надо!!!
Спрашивайте, попробую подробнее и понятнее объяснить.
-
То есть смысл какой...
по результатам запроса будет выводится таблица:
$myrow["f1"]; |
$myrow["f2"]; |
$myrow["f3"]; |
и т.д.
если результат поля = "", то следующие поля не выводятся.
-
Pr0Head
это ИМХО делается не на уровне БД а скриптом (php в частности)
делаешь mysql_fetch_row() и поиск по массиву до ближайшего нуля и потом array_slice(). В чем проблемы?
PS
[off]ИМХО структура БД неправильная у тебя[/off]
-
Спасибо, попробую!
Почему неправильная? :/
Она конечно немного запутанная, но по-моему ничего (в наследство от старого разработчика досталась).
Это портал цифровой техники. Сотовые, КПК, цифровые фото и видеокамеры и т.п.
То есть, для каждого типа товара свое описание.
Нужно, чтобы можно было добавлять новые группы товаров, их описания и прочее через админ-интерфейс.
Новая запись в этой таблице - новое описание товарной группы.
-
Pr0Head
Какая я то у тебя неправильная таблица.
-
Аргументы? :)
-
может я совсем тугой стал, но вроде все просто:
echo "";
$result=mysql_query("select * from table");
while($row=mysql_fetch_row($result))
{
echo "";
for($i=0;$i {
if(strlen($row[$i])>0){echo "$row[$i] | ";}else{break;}
}
echo "
";
}
echo "
";
-
2 Макс, AlieN: БОЛЬШОЕ спасибо, работают оба варианта.
ЗЫ: И все же про таблицу, почему она неправильная?
-
ЗЫ: И все же про таблицу, почему она неправильная?
Потому что в ней 42 столбца - а это (в основном) много => структура плохая.
Но я могу и ошибаться, так как до конца не понял зачем она нужна.