Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

mysql_num_rows

387
21 сентября 2006 года
Ihbif19
421 / / 28.10.2004
Подскажите пожалуйста, как можно сделать случайный вывод баннера из базы данных без всякой статистики, просто вывести баннер из одного поля и всё?

Спасибо
14K
21 сентября 2006 года
DiFor
23 / / 27.06.2006
Скачиваешь тут, в принципе уже готовый показ баннеров и прочей хрени. Переделать под систему баннерных показов не сложно.

Сорри, за то что кидаю на манликс, просто сейчас прибираюсь в папке Web-Coding, привлекли внимание их скрипты.
387
21 сентября 2006 года
Ihbif19
421 / / 28.10.2004
[QUOTE=DiFor]Скачиваешь тут, в принципе уже готовый показ баннеров и прочей хрени. Переделать под систему баннерных показов не сложно.

Сорри, за то что кидаю на манликс, просто сейчас прибираюсь в папке Web-Coding, привлекли внимание их скрипты.[/QUOTE]
Спасибо за ссылку, но это не совсем то что надо, скрипт работает на текстовых файлах(так бы я и сам разобрался, благо примеров куча), но мне надо пример при работе с mysql, самый простой - пример -
14K
21 сентября 2006 года
DiFor
23 / / 27.06.2006
Ок, алгоритм напишу, код сам напишешь, или попросишь хелпа у кого нить.

1) Таблица, поля (ID, path, caption)
2) Скрипт рандомом выкидывает значения от (0-кол-во_строк_в_таблице)+1.
3) По этому рандому хватаешь из по ключу ID значения path и caption для картинки.
4) Банальным echo "<img=".$path." alt=".$caption.">"; выводишь на страничку.
387
21 сентября 2006 года
Ihbif19
421 / / 28.10.2004
[QUOTE=Ihbif17]Подскажите пожалуйста, как можно сделать случайный вывод баннера из базы данных без всякой статистики, просто вывести баннер из одного поля и всё?

Спасибо[/QUOTE]
Легче скачать наверное скрипт ротации баннеров со статистикой и разобраться в нём.
так и сделаю
387
21 сентября 2006 года
Ihbif19
421 / / 28.10.2004
[QUOTE=DiFor]Ок, алгоритм напишу, код сам напишешь, или попросишь хелпа у кого нить.

1) Таблица, поля (ID, path, caption)
2) Скрипт рандомом выкидывает значения от (0-кол-во_строк_в_таблице)+1.
3) По этому рандому хватаешь из по ключу ID значения path и caption для картинки.
4) Банальным echo "<img=".$path." alt=".$caption.">"; выводишь на страничку.[/QUOTE]
Блин, понимаешь, в таблице, в одном поле хранится html-код баннеров и его просто надо вывести на страницу случайным образом, всё таки последую своему убеждению описаному выше!
Но всё же спасибо за помощь
8
21 сентября 2006 года
mfender
3.5K / / 15.06.2005
Вопрос как-то не совсем ясен: требуется случайно выбрать ряд из таблицы с помощью SQL, или же просто выбрать из набора записей ряд?
Во втором случае поступай так:
$Result - набор записей из таблицы, которые выбрал.
А дальше $Baner = $Result[rand(0, count($Result)-1)];
4
22 сентября 2006 года
mike
3.7K / / 01.10.2002
[QUOTE=Ihbif17]Подскажите пожалуйста, как можно сделать случайный вывод баннера из базы данных без всякой статистики, просто вывести баннер из одного поля и всё?

Спасибо[/QUOTE]
Я бы сделал так:

 
Код:
$cnt=mysql_result(mysql_query("SELECT count(*) FROM banners"),0,0);
$num=rand(0,$cnt);
$banner=mysql_query("SELECT * FROM banners LIMIT ".$num.",1;") or die(mysql_error());
387
22 сентября 2006 года
Ihbif19
421 / / 28.10.2004
[QUOTE=mike]Я бы сделал так:

 
Код:
$cnt=mysql_result(mysql_query("SELECT count(*) FROM banners"),0,0);
$num=rand(0,$cnt);
$banner=mysql_query("SELECT * FROM banners LIMIT ".$num.",1;") or die(mysql_error());
[/QUOTE]
Только мне кажется что правильнее будет так,
покрайней мере работает случайный вывод.

$cnt=mysql_query("SELECT count(*) FROM banners");
$num=rand(0,$cnt -1);
$banner=mysql_query("SELECT * FROM banners LIMIT ".$num."1");
echo mysql_result($banner,$num,'banner_468_60');
8
22 сентября 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=Ihbif17]$cnt=mysql_query("SELECT count(*) FROM banners");
$num=rand(0,$cnt -1);
$banner=mysql_query("SELECT * FROM banners LIMIT ".$num."1");
echo mysql_result($banner,$num,'banner_468_60');[/QUOTE]
Так точно ничего не получится.
$cnt в данном случае - Resource. А тебе нужет Integer.
387
22 сентября 2006 года
Ihbif19
421 / / 28.10.2004
[QUOTE=mfender]Так точно ничего не получится.
$cnt в данном случае - Resource. А тебе нужет Integer.[/QUOTE]
Я может чего то путаю или непонимаю?

Я получил количество(Integer) записей
$cnt=mysql_query("SELECT count(*) FROM banners");

И сгенерировал случайное число
$num=rand(0,$cnt -1);
13
22 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=Ihbif17]Я может чего то путаю или непонимаю?

Я получил количество(Integer) записей
$cnt=mysql_query("SELECT count(*) FROM banners");

И сгенерировал случайное число
$num=rand(0,$cnt -1);[/QUOTE]

Это ресурс, а не число!!!
Надо так:
 
Код:
$res=mysql_query("SELECT count(*) FROM banners");
$cnt = mysql_fetch_row($res);

и вот уже в $cnt[0] будет сидеть число. Хотя лично я не люблю mysql_fetch_row/mysq_fetch_array.... Лично я предпочитаю работать с объектами - mysql_fetch_object (а если быть совсем честным, то я стандартные функции вообще не использую)
387
22 сентября 2006 года
Ihbif19
421 / / 28.10.2004
[QUOTE=RussianSpy]Это ресурс, а не число!!!
Надо так:
 
Код:
$res=mysql_query("SELECT count(*) FROM banners");
$cnt = mysql_fetch_row($res);

и вот уже в $cnt[0] будет сидеть число. Хотя лично я не люблю mysql_fetch_row/mysq_fetch_array.... Лично я предпочитаю работать с объектами - mysql_fetch_object (а если быть совсем честным, то я стандартные функции вообще не использую)[/QUOTE]
Если ресурс, почему всё работает?
8
22 сентября 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Лично я предпочитаю работать с объектами - mysql_fetch_object (а если быть совсем честным, то я стандартные функции вообще не использую)


Вот и я ж о том... :)

Сегодня с утра набросал класс (точнее - два). А то старый у меня на PHP4, да и как-то там всё шибко запущено...

Вот, кому интересно, мои наброски (в вложении)

8
22 сентября 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=Ihbif17]Если ресурс, почему всё работает?[/QUOTE]
А что работает?
По сути у тебя получается выражение rand(0, -1) Вот это и работает.
Если не веришь, напиши var_dump($cnt) и убедись, что это ресурс.
13
22 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=mfender]
Сегодня с утра набросал класс (точнее - два). А то старый у меня на PHP4, да и как-то там всё шибко запущено...
[/QUOTE]
эххх... Интересно конечно, но в качестве основной библиотеки не тянет уж извини... Так чисто для себя любимого поиграться конечно интересно... Но для серьезных проектов, чтобы обеспечить миграцию с MySQL в Oracle переменой одного параметра да еще с поддержкой транзакций... В общем ADODB рулит. =)
8
22 сентября 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=RussianSpy]эххх... Интересно конечно, но в качестве основной библиотеки не тянет уж извини... Так чисто для себя любимого поиграться конечно интересно... Но для серьезных проектов, чтобы обеспечить миграцию с MySQL в Oracle переменой одного параметра да еще с поддержкой транзакций... В общем ADODB рулит. =)[/QUOTE]
Ну, во-первых, это наброски. Что сейчас понадобилось, то и написал.
А во-вторых - не дай Б-г мне столкнуться с Оракулом, работая на PHP... :)
Всё это расчитано на MySQL и PgSQL, максимум на DB2 и IB. Чистый интерфейс для общения с PHP-интерфейсом этих интерфейсоффф, я бы сказал :D
13
22 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=mfender]Всё это расчитано на MySQL и PgSQL, максимум на DB2 и IB.[/QUOTE] Что "это"? Что вы имеете ввиду?
387
22 сентября 2006 года
Ihbif19
421 / / 28.10.2004
[QUOTE=mfender]А что работает?
По сути у тебя получается выражение rand(0, -1) Вот это и работает.
Если не веришь, напиши var_dump($cnt) и убедись, что это ресурс.[/QUOTE]
На странице из базы данных выводятся случайным образом баннеры(после обновления) по одному
8
22 сентября 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=RussianSpy]Что "это"? Что вы имеете ввиду?[/QUOTE]
"Это" - это те буквы, которые я напечатал в тех файлах.
387
22 сентября 2006 года
Ihbif19
421 / / 28.10.2004
[QUOTE=Ihbif17]Подскажите пожалуйста, как можно сделать случайный вывод баннера из базы данных без всякой статистики, просто вывести баннер из одного поля и всё?

Спасибо[/QUOTE]
Спор сторон какой-то начинается
13
22 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=mfender]"Это" - это те буквы, которые я напечатал в тех файлах.[/QUOTE]:D :D
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог