В N-ое колл-во переменных...

DrCZ

Новичок
В N-ое колл-во переменных...

Доброе время суток, господа! Прошу пожалуйста, скажите синтаксис для моей проблемы:

В БД есть, предположим, ОДНА ячейка в таблице с текстом: "Apple, Kort, Flakes"
Проблема: что нужно сделать, чтобы:
$var1 = "apple";
$var2 = "Kort";
$var3 = "Flakes";
...
$varn = "Что то еще";

Колличество слов через запятую в ячейки может быть 3, а может и 20, а может и 57...
В общем, помогите, как это сделать...

Вот моя идея:
сначала вытащить данные в переменную $total
$total = "Apple, Kort, Flakes"
но все равно, потом я незнаю, как каждое слово через запятую заключить в отдельную переменную... ПОМОГИТЕ!
 

moxnatiy

Новичок
вообще-то не следует хранить в БД "aaa,bbb,ccc"

Почитай про нормализацию баз данных
 

DrCZ

Новичок
moxnatiy, знаю, что не следует, но какже тогда быть? Создавать 50 столбцов и обзывать их Var1 var2... var50?
и потом...
if ($row['var1'] == NULL):
добавить_данные()
else:
if ($row['var2'] == NULL):
и т.д. до 50
А вдруг число "слов через запятую" понадобиться больше чем 50?

regi, а если слов через запятую будет не 3, а 34? Тогда как PHP узнает об этом?
 

DrCZ

Новичок
Ага! Вот это уже интересней....
Один вопрос:
Если $text = "Apple, Dude, Chtoto"
то можно сделать так:
$blah = array('$text')
?
 

uliss

Новичок
Можно, только результат будет не тот который вы ожидаете :)
 

moxnatiy

Новичок
DrCZ
нет
создать табличку
=========
1 |apple
2 | Kort
3 | Flakes

и еще одну

т1_к_т2
========
1 | 1
2 | 1
3 | 1
2 | 2
и тд...
 

DrCZ

Новичок
moxnatiy, а как узнать сколько столбцов нужно? Я думаю легче в одной ячейке прописать 1,2,3,9,5... чем в каждой ячейке по цифре и потом, нужно будет проверять: если ячейка1 заполнена, то перейти ко второй.. и т.д.

uliss, а можно ли это сделать так, чтобы результат получился "как я хочу" :) Если да, то как?
 

moxnatiy

Новичок
DrCZ
лучший совет.
ищи в гугле про нормализацию баз.
что и как лучше сделать в данной ситуации.
 

DrCZ

Новичок
Хорошо... забудем MySQL
Допустим есть переменная с n-ым колличеством цифр через запятую... Как каждую цифру занести в отдельную переменную?
 

Andreika

"PHP for nubies" reader
moxnatiy
а мож слишком много читать вредно? ты ж понятия не имеешь где и как эти данные будут использованы, зато предлагаешь их нормализовать
 

[Gisma]

Новичок
вся тема исчерпывается первым же ответом;)
explode - разрежет строку по запятым в массив
циклом заносим данные куда захотим. можно еще посмотреть про такую функцию как list ради интереса
но применять ракетно-бомбовые удары для таких решения таких маленьких проблем я вижу никто не отказывается;)
 

SiMM

Новичок
> но применять ракетно-бомбовые удары для таких решения таких маленьких проблем я вижу никто не отказывается
А вы что-то знаете о его проблемах? Так рассказали бы - автор-то не удосужился.
 

DrCZ

Новичок
$array = explode(",", $text);

Ну вот искал, я, искал, и так и не нашел массив, который заносит все слова в переменной $array по другим переменным.
 

Andreika

"PHP for nubies" reader
PHP:
$i=1;
foreach($array as $t) {
    ${"var".$i++}=$t;
}
тока раз 10 подумай - оно тебе точно надо?
 

SiMM

Новичок
> все слова в переменной $array по другим переменным.
Зачем? Чем вас не устраивает полученный массив?
PS: Andreika, ну и зачем это надо было приводить? Пациент не будет думать, пока его не вынудить - он сделает copy&paste
 
Сверху