Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » mysql,php: вывод вывод строки как массива

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть ячейка со значением типа  
1, 2 , 6, 8, 12  
Как преобразовать это в массив, чтоб выводило
0 => 1
1 => 2
2 => 6
3 => 8
4 => 12
и тд ?
 
Зы: есть какие-нибудь примеры грабберов контента?




Исправил название /Cheery/

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 15:57 16-01-2007 | Исправлено: Cheery, 17:03 16-01-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
http://www.php.net/manual/ru/function.explode.php

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 16:06 16-01-2007
TBFG



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
koc
 

Цитата:
есть какие-нибудь примеры грабберов контента?

Получишь по жопе от модеров: одна тема -  один вопрос.
 
http://forum.ru-board.com/topic.cgi?forum=35&topic=1179#1

Всего записей: 584 | Зарегистр. 10-07-2004 | Отправлено: 16:11 16-01-2007
DenDruiD



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
print_r($my_array, true) - вернет отформатированный массив
print_r($my_array, false) - просто выведет его.
 
print (nl2br(print_r($my_array, true)));

Всего записей: 51 | Зарегистр. 31-01-2005 | Отправлено: 16:43 16-01-2007
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
TBFG
я имел ввиду чтобы мне это через php граббить. Как например это в pover movie list реализовано.
 
6epcepk
 
спасибо, буду разбираться.
 

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 21:28 16-01-2007
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите вогнать его в мускл.
Форма:
<select name=\"genre[]\" multiple=\"yes\">
<option value=\"1\">1</option>
<option value=\"2\">2</option>
<option value=\"3\">3</option>
<option value=\"4\">4</option>
</select>
 
Отправляю переменную genre, оно мне 0 отправляет туда.
Напишите плизз цикл такой, чтоб он перебрал весь массив, согнав его в одну переменную, разделяя элементы массива каким-нибудь знаком(например _ ).
Ну типа
$a=genre[1] + _ + genre[2];
только в цикле и знаки нужные расставьте. А потом я эту переменную загоню в мускл.
 
Зы: я заметил, что напрочь отказываюсь самостоятельно думать. Так же было и с Паскалем, пока не стали его в универе учить
 

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 16:29 17-01-2007
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
<?php
$var=join("_",$_REQUEST['genre']);
?>

Цитата:
Зы: я заметил, что напрочь отказываюсь самостоятельно думать. Так же было и с Паскалем, пока не стали его в универе учить  

Свою проблему ты понимаешь, а решение видишь?

----------
Damn Metal

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 16:47 17-01-2007
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Хы!!! Какой цикл? Зачем он нужен, если можно воспользоваться функцией, обратной explode?
Brodyaga
Спасибо. Чувствую себя неполноценным.

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 17:54 17-01-2007
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Прдолжаем наш концерт, посвященный дню гимназиста! Сейчас Федя Белкин расскажет вам стихотворение гимназиста (с)
 
Постановка задачи:
Имеется таблица main (столбик cat), таблица categories(столбики cid, title).
Выбираем некую ячейку из main, преобразовываем ее значение в массив $genre.
 
Пока мне все было ясно. Теперь проблемы.
Теперь необходимо вывести title из тех ячеек таблицы categories , в которых cid равно элементам массива.
 
Мне кижется, что это нужно делать через многомерный массив, но я не знаю как это реализовать.  
 
Зы: а еще я понял, что не умею читать манулы.

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 00:22 18-01-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Запрос:

Код:
SELECT A.* FROM main A
INNER JOIN categories B ON B.cid = A.cat

 
На выходе мы получаем:
Код:
 
+---+------------+-------------+
| ИД | Название | Категория |
+---+------------+-------------+
|  1  | Nokia 5    |    Phones   |
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
+---+------------+-------------+
|  9  | Samsung |       TV       |
+---+------------+-------------+

 
лучше опишите свою задача, чувствую изобретаете велосипед

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 01:58 18-01-2007
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
http://koc.bivip.ru/1.xls - тут более понятно написано.

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 11:46 18-01-2007
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ну вот более конкретно:
 
Таблица main
+---+------------+
| id  | cid           |
+---+------------+
|  1  | 1_3_4      |  
/\/\/\/\/\/\/\/\/\/\
+---+------------+
|  9  | 2_3_5      |  
+---+------------+
 
Таблица categories
+---+---------+
| cid |   title   |
+---+---------+
|  1  | a         |  
+---+---------+
|  2  | b         |  
+---+---------+
|  3  | c         |  
+---+---------+
|  4  | d         |  
+---+---------+
|  5  | e         |  
+---+---------+
|  6  | f          |  
+---+---------+
/\/\/\/\/\/\/\/\/\
|  n  | z         |  
+---+---------+
 
Для 1 из таблицы main должно вывести a c d
Для 9 - b c e.
Зы: можно конечно превратить в массив типа $arr(1,3,4) и в цикле для каждого элемента выдирать значение title (select * from categories where cid=$arr[$i]) , но это будет много запросов. В общем хэлп!  

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 16:07 19-01-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Неправильно вы сделали архитектуру базы данных.
Для таблиц, связь между которыми многие-ко-многим необходимо сделать таблицу-связку, где будут содераться записи вида (сдвоенный ключ): идентификатор из таблицы main, идентификатор категории.

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 00:20 20-01-2007
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
6epcepk

Цитата:
идентификатор из таблицы main, идентификатор категории.

а если несколько будет категорий на одну ячейку таблицы main?
Можно примерчик?

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 14:10 20-01-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Например, новость с идентификатором 5 располагается в двух категориях: Культура (15), Мероприятия (16).
Соответственно в таблице-связке мы имеем две записи:
5 - 15
5 - 16

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 22:22 20-01-2007
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
6epcepk
во-во, так мне и нужно. Как это реализовать?

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 17:26 21-01-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Что не получается реализовать? Вы пытались подумать как это делается для начала?
 
Алгоримт добавления новости:
1) Добавляем новость;
3) Идем в цикле по выбранным категориям для новости и заносим в таблицу-связку идентификатор добавленной новости и идентификатор категории.
 
Алгоритм выборки новостей для заданной категории:

Код:
SELECT * FROM news WHERE id IN (SELECT news_id FROM news-categories WHERE category_id = ?)

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 18:18 21-01-2007
koc



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
в общем смотрите ,как мне это удалось реализовать => http://koc.bivip.ru/  
На одну игру несколько категорий. Точь в точь как на Ag.ru. Без таблицы-связки. Создаю массив. Ну как-нить прокомментируйте.

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 15:10 13-02-2007
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » mysql,php: вывод вывод строки как массива


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru