mysql_num_rows
Спасибо
тут, в принципе уже готовый показ баннеров и прочей хрени. Переделать под систему баннерных показов не сложно.
Сорри, за то что кидаю на манликс, просто сейчас прибираюсь в папке Web-Coding, привлекли внимание их скрипты.
Скачиваешь
Сорри, за то что кидаю на манликс, просто сейчас прибираюсь в папке Web-Coding, привлекли внимание их скрипты.
тут, в принципе уже готовый показ баннеров и прочей хрени. Переделать под систему баннерных показов не сложно.
Сорри, за то что кидаю на манликс, просто сейчас прибираюсь в папке Web-Coding, привлекли внимание их скрипты.[/QUOTE]
Спасибо за ссылку, но это не совсем то что надо, скрипт работает на текстовых файлах(так бы я и сам разобрался, благо примеров куча), но мне надо пример при работе с mysql, самый простой - пример -
[QUOTE=DiFor]Скачиваешь
Сорри, за то что кидаю на манликс, просто сейчас прибираюсь в папке Web-Coding, привлекли внимание их скрипты.[/QUOTE]
Спасибо за ссылку, но это не совсем то что надо, скрипт работает на текстовых файлах(так бы я и сам разобрался, благо примеров куча), но мне надо пример при работе с mysql, самый простой - пример -
1) Таблица, поля (ID, path, caption)
2) Скрипт рандомом выкидывает значения от (0-кол-во_строк_в_таблице)+1.
3) По этому рандому хватаешь из по ключу ID значения path и caption для картинки.
4) Банальным echo "<img=".$path." alt=".$caption.">"; выводишь на страничку.
Спасибо[/QUOTE]
Легче скачать наверное скрипт ротации баннеров со статистикой и разобраться в нём.
так и сделаю
1) Таблица, поля (ID, path, caption)
2) Скрипт рандомом выкидывает значения от (0-кол-во_строк_в_таблице)+1.
3) По этому рандому хватаешь из по ключу ID значения path и caption для картинки.
4) Банальным echo "<img=".$path." alt=".$caption.">"; выводишь на страничку.[/QUOTE]
Блин, понимаешь, в таблице, в одном поле хранится html-код баннеров и его просто надо вывести на страницу случайным образом, всё таки последую своему убеждению описаному выше!
Но всё же спасибо за помощь
Во втором случае поступай так:
$Result - набор записей из таблицы, которые выбрал.
А дальше $Baner = $Result[rand(0, count($Result)-1)];
Спасибо[/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());
$num=rand(0,$cnt);
$banner=mysql_query("SELECT * FROM banners LIMIT ".$num.",1;") or die(mysql_error());
Код:
$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());
$num=rand(0,$cnt);
$banner=mysql_query("SELECT * FROM banners LIMIT ".$num.",1;") or die(mysql_error());
Только мне кажется что правильнее будет так,
покрайней мере работает случайный вывод.
$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');
$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.
$cnt в данном случае - Resource. А тебе нужет Integer.[/QUOTE]
Я может чего то путаю или непонимаю?
Я получил количество(Integer) записей
$cnt=mysql_query("SELECT count(*) FROM banners");
И сгенерировал случайное число
$num=rand(0,$cnt -1);
Я получил количество(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 = mysql_fetch_row($res);
и вот уже в $cnt[0] будет сидеть число. Хотя лично я не люблю mysql_fetch_row/mysq_fetch_array.... Лично я предпочитаю работать с объектами - mysql_fetch_object (а если быть совсем честным, то я стандартные функции вообще не использую)
Надо так:
Код:
$res=mysql_query("SELECT count(*) FROM banners");
$cnt = mysql_fetch_row($res);
$cnt = mysql_fetch_row($res);
и вот уже в $cnt[0] будет сидеть число. Хотя лично я не люблю mysql_fetch_row/mysq_fetch_array.... Лично я предпочитаю работать с объектами - mysql_fetch_object (а если быть совсем честным, то я стандартные функции вообще не использую)[/QUOTE]
Если ресурс, почему всё работает?
Цитата:
Лично я предпочитаю работать с объектами - mysql_fetch_object (а если быть совсем честным, то я стандартные функции вообще не использую)
Вот и я ж о том... :)
Сегодня с утра набросал класс (точнее - два). А то старый у меня на PHP4, да и как-то там всё шибко запущено...
Вот, кому интересно, мои наброски (в вложении)
А что работает?
По сути у тебя получается выражение rand(0, -1) Вот это и работает.
Если не веришь, напиши var_dump($cnt) и убедись, что это ресурс.
Сегодня с утра набросал класс (точнее - два). А то старый у меня на PHP4, да и как-то там всё шибко запущено...
[/QUOTE]
эххх... Интересно конечно, но в качестве основной библиотеки не тянет уж извини... Так чисто для себя любимого поиграться конечно интересно... Но для серьезных проектов, чтобы обеспечить миграцию с MySQL в Oracle переменой одного параметра да еще с поддержкой транзакций... В общем ADODB рулит. =)
Ну, во-первых, это наброски. Что сейчас понадобилось, то и написал.
А во-вторых - не дай Б-г мне столкнуться с Оракулом, работая на PHP... :)
Всё это расчитано на MySQL и PgSQL, максимум на DB2 и IB. Чистый интерфейс для общения с PHP-интерфейсом этих интерфейсоффф, я бы сказал :D
[QUOTE=mfender]Всё это расчитано на MySQL и PgSQL, максимум на DB2 и IB.[/QUOTE] Что "это"? Что вы имеете ввиду?
По сути у тебя получается выражение rand(0, -1) Вот это и работает.
Если не веришь, напиши var_dump($cnt) и убедись, что это ресурс.[/QUOTE]
На странице из базы данных выводятся случайным образом баннеры(после обновления) по одному
"Это" - это те буквы, которые я напечатал в тех файлах.
Спасибо[/QUOTE]
Спор сторон какой-то начинается
[QUOTE=mfender]"Это" - это те буквы, которые я напечатал в тех файлах.[/QUOTE]:D :D