Вывод данных из столбца

drdiman

Guest
Вывод данных из столбца

Привет!
Сорри я здесь новенький и могу ошибиться разделом, ну мне кажется я запостил тему по адресу.
Вобщем мне необходимо вывести циклом данные из одного столбца БД mysql,
структура таблицы такова:
ID | user_id | style
1 | 2 | .style1{style.....}
.style2{style.....}
.styleN{style.....}

2 | 5 | .style1{style.....}
.style2{style.....}
.styleN{style.....}


Тоесть количество строк в столбце style не известо, их может быть и 5 и 10, вобщем нужно стоблбец style циклом вывести. Убрать точку перед стилем и обрезать то, что в скобках, тоесть оставить только style1
Делаю запрос к базе так:
$style = $connect_sql->query($mysql,"SELECT * FROM gb_styles WHERE user_id='$id'",1);
А дальше не знаю как :(

Вобщем должно получиться чтобы все стили поместить в необходимое место, например:
цикл{
echo"<td class='style'>инфо</td>";
}

Ну я не знаю как это сделать, может вы что подскажете? плиз, очень срочно надо.
 

Кром

Новичок
Делается это просто.
Создается новая таблица.
ID, USER_ID, STYLE_NAME, STYLE_VALUE
По USER_ID делаешь связь с таблицой юзеров и выбираешь все нужные тебе стили, уже обрезанными и готовыми.
 

drdiman

Guest
Panchous
type=text, нужно из одного столбца вывести все циклом, тоесть каждый стиль начинается с новой строки.
Данные в этом поле идут так:
.style1{style.....}
.style2{style.....}
.styleN{style.....}
......
Кром
Нет, мне не распределять стили по юзерам надо а в админке выводить там просто функция редактирования стилей есть и я хочу сделать превьюшку, я и так по полю USER_ID делаю выборку.
Сорри это просто сложно объяснить, но я стараюсь как можно информативней объяснить

-~{}~ 18.02.05 22:01:

Вобщем проблема в самом построении цикла, сделал я выборку данных, теперь как мне циклом пройтись по столбцу style ???

-~{}~ 19.02.05 17:36:

Ребята, что никто не сможет мне помочь? :(
 

Фанат

oncle terrible
Команда форума
drdiman
ты хочешь сказать, что у тебя есть строка некой определенной структуры.
К базе данных и к выборке из нее отношения не имеющая.
И тебе надо научиться работать с этой структурой и выводить ее по частям.
Я правильно тебя понял?
 

drdiman

Guest
ты хочешь сказать, что у тебя есть строка некой определенной структуры.
Да, но строк может быть много и их количество не определено.
К базе данных и к выборке из нее отношения не имеющая.
Смотри: Есть база юзеров, юзер логинтся и по имени его пользователя узнается его ID потом из таблицы со стилями я беру нужную строку, совпадающую с этим самым ID, ну вот например sql запрос:
$style = $connect_sql->query($mysql,"SELECT * FROM gb_styles WHERE user_id='$id'",1);
$id хранится в сессиях.

Пользователь имеет возможность редактировать эти стили. Запросом
$style = $connect_sql->query($mysql,"SELECT * FROM gb_styles WHERE user_id='$id'",1);
Я изымаю все данные и помещаю в textarea
И после textarea хочу сделать превьюшку тоесть брать название стиля и например вставлять в таблицу чтоб пользователь видел как выглядит этот класс.
Я конечно могу тупо сделать таблицу и в нее вписать названия этих стилей сам, НО причина почему так не стоит делать:
Это нужно довести до автоматизма потому, что юзер может взять и переименовать 1 из стилей и тогда уже понимаете что будет
 

Фанат

oncle terrible
Команда форума
блин, вот я не пойму никогда.
ты согласился, что к бд твоя задача не имеет ни малейшего отношения.
а потом накатал здоровенный пост исключительно про работу с БД.
По-моему, твоя проблема только в том, что ты просто думаешь не о том.
Повторяю - ПРИ ЧЕМ ЗДЕСЬ БД?
у тебя тривиальная задача - разбить строку по разделителю.
а ты вместо этого плетешь про то, готкуда у тебя эта строка берется!
Да, но строк может быть много и их количество не определено.
И ЧТО?
Это как-то влияет на то, как строка обрабатывается?
есл и она одна - обрабатываем так, а если две - то уже эдак?

-~{}~ 19.02.05 22:31:

Я конечно могу тупо сделать таблицу и в нее вписать названия этих стилей сам, НО причина почему так не стоит делать:
Это нужно довести до автоматизма потому, что юзер может взять и переименовать 1 из стилей и тогда уже понимаете что будет
не понял.
какое отношение имеют данные к структуре бд
 

drdiman

Guest
вобщето смысл топика был не придераться к словам а просьба к помощи. Вобще в первом посте я все объяснил.
есл и она одна - обрабатываем так, а если две - то уже эдак?
Я тоже умею придераться к словам:
Где ты видишь чтобы я говорил что строка будет одна?
 

Фанат

oncle terrible
Команда форума
Я тоже умею придераться к словам:
Ты за этим сюда пришел? может, поищешь другое место?

если ты еще не понял, от тебя требуется переформулировать свою задачу, БЕЗ упоминания бд.
причем ты это должен сделать САМОСТОЯТЕЛЬНО
 

drdiman

Guest
Ты за этим сюда пришел?
Вовсе нет.
Ладно, переформулирую задачу, в переменной есть значения, нужно циклом пройтись по этой переменной, как это сделать?
 

Фанат

oncle terrible
Команда форума
циклом можно пройтись по массиву.
чтобы получить массив из строки, надо разбить её на элементы с помощью функции [m]explode[/m]

о том, что тебе для стилей нужна именно другая таблица, я уже и заикаться не буду - с твоими способностями к пониманию это будет бесполезно
 

drdiman

Guest
Не ну почему бесполезно то? ну ты попробуй объяснить не все же такие спецы в РНР как ты, и в этом я не виноват, я только начинающий еще.

-~{}~ 20.02.05 14:49:

$lines = explode("\n", $style);
for($i=1; $i<count($i); $i++){
$style = substr(1, strlen($lines[$i]), $lines[$i]);
}
Делал так, не работает :(
 

drdiman

Guest
По идее счетать количество строк.
Вобще как мне построить цикл правильно? я не знаю что в условии писать
 

Фанат

oncle terrible
Команда форума
посчитать количество строк где?
в условии надо писать количество строк.
 

drdiman

Guest
Ладно я тут попыжился и сделал сам, если кому интересно вот как оно получилось.
$lines = explode("\n", $style[gb_style]);
for($i=1; $i<count($lines); $i++){
$stylename = explode("{", $lines[$i]);
$stylename=str_replace(".","",$stylename);
if(substr($stylename[0], 0, 1)=="A"){
$stylename=str_replace("A","",$stylename);
echo"<tr><td width=100% align=center class=reg_navin colspan=2><a href='#' class='$stylename[0]'>$stylename[0]</a></td></tr>";
}
else{
echo"<tr><td width=100% align=center class=$stylename[0] colspan=2>Название стиля: $stylename[0]</td></tr>";
}
}
Я понял свою ошибку в условии, я непонятно к чему счетал $i хоя перед этим объявил что она равна 1, на самом деле надо было счетать $lines (количество строк в моем примере). Ладно всем спасибо за оказанное внимание. Топик исчерпал себя, больше не буду вас мучить дурацкими вопросами.
 
Сверху