Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод баннера из mysql по случайному числу из javascript
 
 автор: mihdan   (05.03.2010 в 13:04)   письмо автору
 
 

В HTML вставляется код


<script language="JavaScript">
var r1 = Math.round(Math.random() * 4294967295);
var r2 = Math.round(Math.random() * 4294967295);
document.write('<sc'+'ript src="http://'+document.domain+'/banners/test.php?cat=' + r1 + '&' +'i=' + r2 + '&side=top"></sc'+'ript>');
</script>


БД:


CREATE TABLE IF NOT EXISTS `banner` (
  `id_banner` bigint(8) NOT NULL AUTO_INCREMENT,
  `cat` enum('sport','car','politic','тест') NOT NULL DEFAULT 'car',
  `download_banner` varchar(100) NOT NULL DEFAULT '',
  `url` varchar(255) NOT NULL DEFAULT '',
  `content` text NOT NULL,
  `width` int(3) NOT NULL DEFAULT '0',
  `height` int(3) NOT NULL DEFAULT '0',
  `view` bigint(8) NOT NULL DEFAULT '0',
  `count_view` bigint(8) NOT NULL DEFAULT '0',
  `count_click` bigint(8) NOT NULL DEFAULT '0',
  `bid_close` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id_banner`)
) ENGINE=MyISAM  DEFAULT CHARSET=koi8r AUTO_INCREMENT=207 ;


Вопрос: как на основе случайно сгенерированого числа r2 в javascript показать баннер, если он ни коем образом не связан с id_banner?

  Ответить  
 
 автор: buldovsky   (05.03.2010 в 13:19)   письмо автору
 
   для: mihdan   (05.03.2010 в 13:04)
 

Зачем потребовалось генерировать случайное число в JS?
Почему бы просто не выводить случайную запись из MySQL

  Ответить  
 
 автор: mihdan   (05.03.2010 в 13:47)   письмо автору
 
   для: buldovsky   (05.03.2010 в 13:19)
 

Чтобы не нагружать сервер, чтобы не поттосовать результаты. Это большой экспиремент - условия, которого менять нельзя

  Ответить  
 
 автор: sim5   (05.03.2010 в 13:20)   письмо автору
 
   для: mihdan   (05.03.2010 в 13:04)
 

А от обратного? Что нельзя случайный баннер из имеющихся по обычному запросу клиента?

  Ответить  
 
 автор: mihdan   (05.03.2010 в 13:49)   письмо автору
 
   для: sim5   (05.03.2010 в 13:20)
 

К сожалению нет!
В эксперименте важен факт того, что генериться на клиенте. Это значение передаётся в РНР-скрипт, который на основе этого числа должен показать баннер (тут проблема) и вывести в результате <img rsc="баннер на основе случайного числа из js" />

  Ответить  
 
 автор: mihdan   (05.03.2010 в 15:24)   письмо автору
 
   для: mihdan   (05.03.2010 в 13:49)
 

По неизвестной причине модератор перетащил тему в mysql, хотя вопрос был по РНР, возможно я и не прав

  Ответить  
 
 автор: sim5   (06.03.2010 в 08:29)   письмо автору
 
   для: mihdan   (05.03.2010 в 13:49)
 

И в чем суть этого эксперимента?

  Ответить  
 
 автор: mihdan   (07.03.2010 в 02:29)   письмо автору
 
   для: sim5   (06.03.2010 в 08:29)
 

Честно сказать - не знаю, да и знать не очень хочется. Вопрос в другом, как это можно реализовать? В голову приходит только одно: посчитать количество всех баннеров, из сгенерированого числа взять последние n-цифр меньше количества баннеров.

Например:
r1 = 123456789;
count = 123;
id_banner = 89 (берем последние 2 цифры)

Есть другие предложения?

  Ответить  
 
 автор: sim5   (07.03.2010 в 04:25)   письмо автору
 
   для: mihdan   (07.03.2010 в 02:29)
 

Неа, нет, я смысла не вижу в этом эксперименте. )

  Ответить  
 
 автор: mihdan   (08.03.2010 в 16:23)   письмо автору
 
   для: sim5   (07.03.2010 в 04:25)
 

Какая разница есть смысл или нет? Пытаюсь реализовать задачу которую мне поставили. Думал вы хоть на мысль натолкнете, куда копать...

  Ответить  
 
 автор: sim5   (08.03.2010 в 16:32)   письмо автору
 
   для: mihdan   (08.03.2010 в 16:23)
 

Разделите случайное на счетчик, извлеките корень, умножте на два, может так лучше будет :)
Ну вы можете объяснить смысл генерации этого числа ради того, чтобы взять две крайних цифры? Почему вы уверены, что они будут всегда разными? Ну генерируйте уж тогда число не привосходящее число реальных баннеров, а то такая математика и не понять ради чего.
Если до меня не доходит смысл, я в ступоре ;-)

  Ответить  
 
 автор: mihdan   (09.03.2010 в 15:31)   письмо автору
 
   для: sim5   (08.03.2010 в 16:32)
 

>Ну вы можете объяснить смысл генерации этого числа ради того, чтобы взять две крайних цифры?

Смысл товарищи их СЕО редко объясняют. Знаю одно, что эти большие числа при показе баннера кладутся в таблицу banners_stat (id, id_banner, r1, r2) и потом нужны для какого то непонятного мне эксперимента.

>Разделите случайное на счетчик, извлеките корень, умножте на два, может так лучше будет :)

Возможно, попробовать стоит :)

>Почему вы уверены, что они будут всегда разными?
Я не говорю, что они будут уникальные, понимаю, что в некоторый момент времени они могут совпасть.

> Ну генерируйте уж тогда число не привосходящее число реальных баннеров, а то такая математика и не понять ради чего.

Это было первым условием, как не надо делать, естественно сразу так и реализовал, за что был наказан :)

В test.php написано


<?php
header
('Content-type: application/javascript');
?>
document.writeln('<img src="banners/test/jpg" width="88" height="31">');

  Ответить  
 
 автор: Trianon   (08.03.2010 в 16:38)   письмо автору
 
   для: mihdan   (08.03.2010 в 16:23)
 

Разница есть.
Если нет смысла - не следует напрягать людей проблемой, порожденной чьей-то прихотью.

  Ответить  
 
 автор: mihdan   (09.03.2010 в 15:35)   письмо автору
 
   для: Trianon   (08.03.2010 в 16:38)
 

Не соглашусь, если задачу поставили -" значит, это кому-то нужно, значит, это - необходимо."

  Ответить  
 
 автор: Дмитрий Смаль   (07.03.2010 в 09:00)   письмо автору
 
   для: mihdan   (05.03.2010 в 13:04)
 

это реализовать можно только с ajax, так как переменная на джаваскрипт генерируется после того как пхп уже закончило работать и страницу получил браузер

нужно сделать чтобы после генерации числа запускался файл где есть запрос к БД, и результат вставлять в нужное место

  Ответить  
 
 автор: sim5   (07.03.2010 в 13:08)   письмо автору
 
   для: Дмитрий Смаль   (07.03.2010 в 09:00)
 

Вы уверены, что ajax тут панацея, и прямо таки необходимость?

  Ответить  
 
 автор: Красная_шляпа   (08.03.2010 в 23:20)   письмо автору
 
   для: sim5   (07.03.2010 в 13:08)
 

Ну можно еще жабоскриптом перенаправлять и что дальше, а аякс неплохая вещь замена фреймам

  Ответить  
 
 автор: Красная_шляпа   (08.03.2010 в 23:21)   письмо автору
 
   для: sim5   (07.03.2010 в 13:08)
 

Ну можно еще жабоскриптом перенаправлять и что дальше, а аякс неплохая вещь замена фреймам, сосать бы он упел вообще цены бы ему не было

  Ответить  
 
 автор: mihdan   (09.03.2010 в 15:53)   письмо автору
 
   для: Красная_шляпа   (08.03.2010 в 23:21)
 

:) порадовал

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования