Сделать выборку из базы и собрать все в массив

ratatue

Новичок
Сделать выборку из базы и собрать все в массив

Нужно приблизительно следующее:
Есть БД в таблице test существует поле id. Нужно собрать данные из базы и записать их в массив выход хотелось бы получить следующий.

array ("id1","id2","id3", .... и т.д пока существуют записи)

Никак не могу понять как изобразить. Заранее спасибо.
 

Фанат

oncle terrible
Команда форума
Loshadka, ему ,Скорее, по массивам мануал нужен

ratatue, а зачем тебе такой массив?
 

ratatue

Новичок
*****
Хочу изобразить что-то вроде:

$pattern = array ("/(анальгин\S{0,4})/", "/(аспирин\S{0,4})/");
$replace = array ("<a href='ссылка на статью про анальгин'>\\1</a>", "<a href='ссылка на статью про аспирин'>\\1</a>");
$text = 'Сегодня мы расскажем вам про анальгин и анальгиновые препараты (препараты на основе анальгина)';
$text = preg_replace($pattern, $replace, $text);
 

Фанат

oncle terrible
Команда форума
И вот нафига надо писать про "поле id"?

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

ratatue

Новичок
поле id я как пример дал. Суть то получить
array ("/(анальгин\S{0,4})/", "/(аспирин\S{0,4})/");

В общем у меня получилась следующее

$result = mysql_query("SELECT * FROM test");
while ($row = mysql_fetch_array($result)) {
$pattern = array ("/(%s\S{0,4})/", $row['keyword']);
$replace = array ("<a href='go.php=%s'>\\1</a>", $row['id']);
$text = $row['text'];
$text_new = preg_replace($pattern, $replace, $text); <- ругается*
print $text_new; }

Вот только ругается гадина типо что-то ему не экранировал. Не фига не догоняю ... Гляньте свежим взглядом плз.
*(preg_replace Delimiter must not be alphanumeric or backslash)
 

Фанат

oncle terrible
Команда форума
не СОЗДАНИЯ массива, а ДОБАВЛЕНИЯ в массив.
переделывай.

и еще. не надо делать 10 дел за раз, если ни одного из них делать не умеешь.
делать надо что-то одно.
ты просил "id1","id2","id3"? вот и делай его.
и только после того, как сделаешь - добавляй свои закорючечки.
 

ratatue

Новичок
Не догнал. Можно любой пример ?

-~{}~ 03.12.08 15:46:

$result = mysql_query("SELECT id FROM test");
$row = mysql_fetch_array($result);
$pattern = array();
$i = 0;
while ($array = mysql_fetch_array($result)) {
$pattern[$i] = $array[0];
$i++;
}

-~{}~ 03.12.08 15:46:

Так ?
 

ratatue

Новичок
Странно но он только 1 запись в массив загнал

-~{}~ 03.12.08 16:21:

Из 10
 

Фанат

oncle terrible
Команда форума
проверь, сколько раз цикл выполняется.
отлаживай свою программу, выводя по её ходу значения переменных
 

ratatue

Новичок
Всё попёрло :)
$result = mysql_query("SELECT id FROM test");
/**$row = mysql_fetch_array($result);**/ Лишняя строка
$pattern = array();
$i = 0;
while ($array = mysql_fetch_array($result)) {
$pattern[$i] = $array[0];
$i++;
}
 

ratatue

Новичок
Я не программист, я так около плавающий ... Хотя даже около плавающим назвать нельзя. :)

-~{}~ 03.12.08 16:47:

Остался у меня ещё одни вопросик как в этот массив добавить (свои закорючечки)

Массив получился
array ('id1','id2','id3'....)
а мне нужен вот такого вида
array ('<a href='id1'>id1</a>','<a href='id2'>id2</a>','<a href='id3'>id3</a>'....)
 

Фанат

oncle terrible
Команда форума
Начнем с того, что "такой вид" у тебя работать не будет, пхп напишет об ошибке.

тренируйся.
напиши скрипт из двух строчек
<?
$id=1;
echo "нужная строка";
как только получишь, что хотел, вместо echo пишешь оператор присвоения переменной и вставляешь в свой код
 

toxic steel

Новичок
ratatue, с кавычками бардак. Вы бы вкурили их назначение, заодно по разнице ' и " прошлись бы. не лишнее.
 
Сверху