PDA

Просмотр полной версии : Вопрос по php как из базы выводить только 100 символов


9822
17.10.2009, 05:10
Привет народ, подключаюсь к своей db

$result = mysql_query("SELECT id,title,text,date FROM data ORDER BY date DESC, id DESC LIMIT 3",$db);

к примеру такой запрос

как сказать чтоб в $result попало только 100 символов первых из
таблицы text?

LEE_ROY
17.10.2009, 06:12
SELECT
LEFT(`text`, 100)
FROM
data;

9822
17.10.2009, 06:29
$result2 = mysql_query("SELECT LEFT(`text`, 100),id,title,date FROM data ORDER BY date DESC, id DESC",$db);

типо так ? ;/

уже по разному ставил не работает :(

LEE_ROY
17.10.2009, 08:24
все работает, ты чето химичиш у себя наверно ... :)
что говорит mysql_error() ?

9822
17.10.2009, 18:10
Lee_ROY .
твой метод мне не подошел, и у меня не работал не знаю по чему,
я решил данну проблему по другому, протсо написал новую функцию в do где вывожу новости.


if (strlen($myrow2['text']) > 255)
{
$moreThan255 = true;
$myrow2['text'] = substr($myrow2['text'],0,255);
}


теперь работает :)
вдруг нужно будет кому нибуть

nerezus
17.10.2009, 18:31
вдруг нужно будет кому нибуть Зачем? нормальное решение выше дали то.

9822
17.10.2009, 23:35
что зачем? то что выше дали у меня не заработало. для тех у кого не заработает есть альтернатива.

9822
18.10.2009, 01:08
вовпрос теперь в другом


$result = mysql_query("SELECT id,title,text,date FROM data ORDER BY date DESC, id DESC LIMIT 30",$db);



как к примеру обратится к таблице data, но вытощить РАНДОМАЛЬНО всего 30 записей?



допустим мне надо id 1,14,54,87,33,55,64,89,234,547 и т.д разных.

Isis
18.10.2009, 03:49
ORDER BY RAND() LIMIT 30

sowich
19.10.2009, 09:32
Lee_ROY .
if (strlen($myrow2['text']) > 255)
{
$moreThan255 = true;
$myrow2['text'] = substr($myrow2['text'],0,255);
}


Не совсем корректное решение по той причине что 255-й символ может быть в середине слова и соответственно предложение оборвется на пол слове. :)

Sharky
19.10.2009, 13:29
решений сказано достаточно...закрыто