нужно получить случайное число.
вот код страницы test.php php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
function _imgUpdate() {
var randomnumber = rand(0,7);
$('#imgbox').get('test.php', { poster : randomnumber }, function(data) { alert(data); });
}
window.setInterval( _imgUpdate, 1000 );
});
</script>
</head>
<body>
<?php
$poster = isset($_GET['poster']) ? $_GET['poster'] : 0;
?>
<div id="imgbox">number of poster = <?php echo $poster; ?></div>
</body>
</html>
но он не работает.
подскажите где моя ошибка?
почему я не могу получить значение переменной $poster.
значение этой перменной мне обязательно нужно на этой же (test.php) странице.
спасибо за помощь и поддержку.
Спустя 9 минут, 20 секунд (9.05.2011 - 18:29) skolozhabskiy написал(а):
такой вариант тоже не работает:
<script type="text/javascript">
$(document).ready(function(){
$(function() {
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
setInterval(function () {
var randomnumber = rand(0,7);
$('#imgbox').get('test.php', { poster : randomnumber }, function(data) { alert(data); });
}, 1000 );
});
});
</script>
Спустя 9 секунд (9.05.2011 - 18:29) alex12060 написал(а):
Функции должны объявляться до этого:
$(document).ready(function(){
$(document).ready(function(){
Спустя 2 минуты (9.05.2011 - 18:31) skolozhabskiy написал(а):
alex12060, пожалуйста приведете пример, я не понял вашего пояснения.
такой вариант тоже не работает:
извините по тексту досадная опечатка - надо <script type="text/javascript">
спасибо за любую помощь.
такой вариант тоже не работает:
<script type="text/javascript">
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
$(document).ready(function(){
$(function() {
setInterval(function () {
var randomnumber = rand(0,7);
$('#imgbox').get('test.php', { poster : randomnumber }, function(data) { alert(data); });
}, 1000 );
});
});
</script>
извините по тексту досадная опечатка - надо <script type="text/javascript">
спасибо за любую помощь.
Спустя 15 часов, 24 минуты (10.05.2011 - 09:55) skolozhabskiy написал(а):
доброе утро,
прошу профессионалов подсказать где ошибка в моем коде и возможные варианты вывода информации в переменную php по данному коду. если не затруднит с примерами по приведенному коду. выполнение приведенного мною кода, в alert показывает, что переменной $poster присваиваются новые значения, но она почему-то по ходу кода реально (без alert!) не визуализируется. почему?
спасибо за любую помощь.
прошу профессионалов подсказать где ошибка в моем коде и возможные варианты вывода информации в переменную php по данному коду. если не затруднит с примерами по приведенному коду. выполнение приведенного мною кода, в alert показывает, что переменной $poster присваиваются новые значения, но она почему-то по ходу кода реально (без alert!) не визуализируется. почему?
спасибо за любую помощь.
Спустя 1 час, 39 минут, 37 секунд (10.05.2011 - 11:35) skolozhabskiy написал(а):
я задал слишком сложный вопрос?
просмотров более полусотни, а ответов никаких.
профессионалы, как решить данную проблему?
все же привел и полные коды и свои мысли.
где ошибка?
спасибо.
просмотров более полусотни, а ответов никаких.
профессионалы, как решить данную проблему?
все же привел и полные коды и свои мысли.
где ошибка?
спасибо.
Спустя 6 минут, 57 секунд (10.05.2011 - 11:42) sharki написал(а):
skolozhabskiy
Данная функция rand(max, min) при её вызове всегда выполняется? т.е ошибок она не вызывает, и дает то, что нужно?
Данная функция rand(max, min) при её вызове всегда выполняется? т.е ошибок она не вызывает, и дает то, что нужно?
Спустя 1 час, 55 минут, 55 секунд (10.05.2011 - 13:38) skolozhabskiy написал(а):
все работает отлично. в алерт я вижу нормальный вывод результата ответа от сервера, но не могу визуализировать ответ и получить значение переменной php для дальнейшей обработки без алерта. а он мне уже не нужен. что изменить или добавть в коде.
спасибо.
спасибо.
Спустя 42 минуты, 55 секунд (10.05.2011 - 14:21) sharki написал(а):
как я понял данный скрипт работает отлично, данные на сервер нормально отправляются, так же нормально и приходят в переменную data.
Что должно прийти с сервера? Как вы выдаете результат в PHP скрипте, хотя бы кусочек кода покажите
Что должно прийти с сервера? Как вы выдаете результат в PHP скрипте, хотя бы кусочек кода покажите
Спустя 36 минут, 9 секунд (10.05.2011 - 14:57) skolozhabskiy написал(а):
не только кусочек, а всю страницу я написал в первом посте. пожалуйста, посмотрите первый пост, чтобы заново не переписывать весь код. да, все отлично в data, только вывести я могу только увидев это в алерет, а мне нужно в конкретном коде, чтобы переменной было присвоено передаваемое значение.
спасибо
спасибо
Спустя 6 минут, 54 секунды (10.05.2011 - 15:04) sharki написал(а):
skolozhabskiy
В твоем коде плохо то, что при каждом вызове и вставке значения, будет дублироваться <div id="imgbox"></div> в итоге будет такая бесконечная вложенность =)
Странная логика данного скрипта, тогда лучше прям сразу подставлять в ДИВ полученное число, а не делать лишние действия.
$.get('test.php', { poster : randomnumber }, function(data) { $('#imgbox').html(data); });
<?php
$poster = isset($_GET['poster']) ? $_GET['poster'] : 0;
?>
<div id="imgbox">number of poster = <?php echo $poster; ?></div>
В твоем коде плохо то, что при каждом вызове и вставке значения, будет дублироваться <div id="imgbox"></div> в итоге будет такая бесконечная вложенность =)
Странная логика данного скрипта, тогда лучше прям сразу подставлять в ДИВ полученное число, а не делать лишние действия.
Спустя 1 час, 35 минут, 57 секунд (10.05.2011 - 16:40) skolozhabskiy написал(а):
спасибо, это работает, только я не понял как именно можно сразу вытащить из data нужное число и подставлять его в див? покажите примером, пожалуйста.
спасибо
спасибо
Спустя 6 минут, 23 секунды (10.05.2011 - 16:46) sharki написал(а):
skolozhabskiy
Имеется введу без отправки на сервер. Т.е напрямую
Имеется введу без отправки на сервер. Т.е напрямую
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
function _imgUpdate() {
var randomnumber = rand(0,7);
$('#imgbox').html("number of poster ="+randomnumber);
}
window.setInterval( _imgUpdate, 1000 );
});
</script>
</head>
<body>
<div id="imgbox">number of poster = 0</div>
</body>
</html>
Спустя 14 минут, 7 секунд (10.05.2011 - 17:00) skolozhabskiy написал(а):
так мне нужна переменная со значением изменяющимся с rand. так не получится. как-то ее нужно мне передать из java в php. вы мложете подсказать как?
спасибо за ответ
спасибо за ответ
Спустя 1 минута, 39 секунд (10.05.2011 - 17:02) sharki написал(а):
skolozhabskiy
А ну тогда как и было с аяксом, больше никак
А ну тогда как и было с аяксом, больше никак
Спустя 2 минуты, 5 секунд (10.05.2011 - 17:04) skolozhabskiy написал(а):
но при вашем изменении кода страница как-то странно ведет себя - постоянно перезагружается и не фоном, с подвисанием например оперы. может есть еще путь синтаксиса, как вытянуть это значение из data
спасибо
спасибо
Спустя 25 минут, 34 секунды (10.05.2011 - 17:30) sharki написал(а):
вот этого?
$.get('test.php', { poster : randomnumber }, function(data) { $('#imgbox').html(data); });
Спустя 26 минут, 31 секунда (10.05.2011 - 17:56) Guest написал(а):
при таком варианте :
через пару минут виснет браузер.
есть все же какое то решение как в фоновом режиме все же передать переменной php эти значения. метод чеез адресную строку не подходит. на аяксе это можно все же сделать?
Спасибо
$.get('test.php', { poster : randomnumber }, function(data) { $('#imgbox').html(data); });
через пару минут виснет браузер.
есть все же какое то решение как в фоновом режиме все же передать переменной php эти значения. метод чеез адресную строку не подходит. на аяксе это можно все же сделать?
Спасибо
Спустя 7 минут, 21 секунда (10.05.2011 - 18:03) sharki написал(а):
Смотри что получается, первую секунду он подгружает новый контент в див
Содержимое в контенте воот такое, и он сразу запускает свой интервал, получается уже двойной интервал, браузер ахиревает от этого, он опа, и еще раз этот кусок загрузил, получается у тебя на одной странице 1+(n+1)
надо выносить в отдельный файл вот этот кусок
Содержимое в контенте воот такое, и он сразу запускает свой интервал, получается уже двойной интервал, браузер ахиревает от этого, он опа, и еще раз этот кусок загрузил, получается у тебя на одной странице 1+(n+1)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
function _imgUpdate() {
var randomnumber = rand(0,7);
$('#imgbox').get('test.php', { poster : randomnumber }, function(data) { alert(data); });
}
window.setInterval( _imgUpdate, 1000 );
});
</script>
</head>
<body>
<?php
$poster = isset($_GET['poster']) ? $_GET['poster'] : 0;
?>
<div id="imgbox">number of poster = <?php echo $poster; ?></div>
</body>
</html>
надо выносить в отдельный файл вот этот кусок
<?php
echo isset($_GET['poster']) ? $_GET['poster'] : 0;
?>
Спустя 1 минута, 40 секунд (10.05.2011 - 18:05) sharki написал(а):
skolozhabskiy
Ты понимаешь что у тебя страницы дублируются? Получается эффект направления видеокамеры на телевизор в тот момент когда она выводит изображение на этот же телевизор.
Ты понимаешь что у тебя страницы дублируются? Получается эффект направления видеокамеры на телевизор в тот момент когда она выводит изображение на этот же телевизор.
Спустя 6 минут, 5 секунд (10.05.2011 - 18:11) Guest написал(а):
я понимаю, но мне нужна эта переменная именно на этой странице. есть какой-то иной выход?
Спустя 2 минуты, 48 секунд (10.05.2011 - 18:14) skolozhabskiy написал(а):
и как тогда подключить вот так в первый файл второй с
спасибо
<?php
echo isset($_GET['poster']) ? $_GET['poster'] : 0;
?>
<?php
include_once('test2.php');
?>
спасибо
Спустя 2 минуты, 51 секунда (10.05.2011 - 18:17) skolozhabskiy написал(а):
файл test2.php:
файл test1.php:
спасибо
<?php
$poster = isset($_GET['poster']) ? $_GET['poster'] : 0;
?>
файл test1.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
function _imgUpdate() {
var randomnumber = rand(0,7);
$.get('test2.php', { poster : randomnumber }, function(data) { $('#imgbox').html($('#imgbox', data)); });
}
window.setInterval( _imgUpdate, 1000 );
});
</script>
</head>
<body>
<?php
include_once('test2.php');
?>
<div id="imgbox">number of poster = <?php echo $poster; ?></div>
</body>
</html>
спасибо
Спустя 1 минута, 49 секунд (10.05.2011 - 18:19) sharki написал(а):
skolozhabskiy
Второй файл как обработчик, он там делает все манипуляции, все что угодно, и выдает только результат в data, вообще-то так аякс и должен работать.
Можно во втором файле генерить нужный кусок страницы, и все время просто подгружать содержимое в див
Получается что данный
обработчик обрабатывает и выдает свой результат, и помещает в div id="imgbox"></div>, если что-то серьезнее то так же в обработчике делай что хочешь, хоть из базы картинки загружай, хоть текст, а потом уже готовенькое подставится в див
Второй файл как обработчик, он там делает все манипуляции, все что угодно, и выдает только результат в data, вообще-то так аякс и должен работать.
Можно во втором файле генерить нужный кусок страницы, и все время просто подгружать содержимое в див
<body>
<div id="imgbox"></div>
</body>
</html>
Получается что данный
<?php
echo isset($_GET['poster']) ? $_GET['poster'] : 0;
?>
обработчик обрабатывает и выдает свой результат, и помещает в div id="imgbox"></div>, если что-то серьезнее то так же в обработчике делай что хочешь, хоть из базы картинки загружай, хоть текст, а потом уже готовенькое подставится в див
Спустя 2 минуты, 23 секунды (10.05.2011 - 18:21) sharki написал(а):
файл test2.php:
файл test1.php:
<?php
echo isset($_GET['poster']) ? $_GET['poster'] : 0;
?>
файл test1.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
function _imgUpdate() {
var randomnumber = rand(0,7);
$.get('test2.php', { poster : randomnumber }, function(data) { $('#imgbox').html(data) });
}
window.setInterval( _imgUpdate, 1000 );
});
</script>
</head>
<body>
<div id="imgbox"></div>
</body>
</html>
Спустя 12 минут, 1 секунда (10.05.2011 - 18:33) skolozhabskiy написал(а):
спасибо за ответы, но получается что не могу все равно получить и манипулировать переменной в первом файле, она только в нем отображается и все, а можно ее как-то в первый файл теперь вывести?
спасибо
спасибо
Спустя 30 минут, 18 секунд (10.05.2011 - 19:03) skolozhabskiy написал(а):
странная одна вещь, да так работает скрипт, но в дивах он сначала выводит, например по примеру 0, а затем ниже строкой только начинает менять значения. почему и как убрать этот ноль и ненужную эту строку.
первая строка:
вторая строка:
спасибо решение нашел,убрав значение по умолчанию.
спасибо
первая строка:
<div id="imgbox">0</div>
вторая строка:
<div id="imgbox">здесь только начинается отсчет на второй строке</div>
спасибо решение нашел,убрав значение по умолчанию.
спасибо
Спустя 7 минут, 8 секунд (10.05.2011 - 19:11) skolozhabskiy написал(а):
а можно повесить на вывод например картинок в данном примере, например какой-нибудь эффект по типу:
но так не работает
например при загрузке картинки один эффект например fadeIn, а при смене на другую fadeOut.
спасибо
$.get('test2.php', { poster : randomnumber }, function(data) { $('#imgbox').html(data).fadeIn(); });
но так не работает
например при загрузке картинки один эффект например fadeIn, а при смене на другую fadeOut.
спасибо
Спустя 9 минут, 28 секунд (10.05.2011 - 19:20) sharki написал(а):
По идее можно, надо просто пробовать
Спустя 9 минут, 17 секунд (10.05.2011 - 19:29) skolozhabskiy написал(а):
например так тоже ничего не получается:
$.get('test2.php', { poster : randomnumber }, function(data) { $('#imgbox').html(data); });
$('#imgbox > img').slideDown();
Спустя 55 минут, 43 секунды (10.05.2011 - 20:25) skolozhabskiy написал(а):
я несколько усложнил задачу.
во втором файле поставил обработчик загрузки таблицы из базы данных, а в первом добавил скрипт и селектор :
первый файл test1.php:
второй файл test2.php:
проблема в том, что селектор прекрасно работает, но загружается все равно только первая таблица.
подскажите что здесь не так?
спасибо
во втором файле поставил обработчик загрузки таблицы из базы данных, а в первом добавил скрипт и селектор :
первый файл test1.php:
<script type="text/javascript">
$(document).ready(function(){
$(function(){
$('#select_id').change(function(){
var value = $('#select_id option:selected').val();
$.ajax({
url: 'test2.php',
type: 'GET',
cache: false,
data:{option: value},
success: function(data){$('#imgbox').html(data); }
});
});
});
});
</script>
<select name="select_id" id="select_id">
<option value="0">- choose product -</option>
<option value="1">table1</option>
<option value="2">table2</option>
<option value="3">table3</option>
</select>
второй файл test2.php:
<?php
require_once('inc/global.inc.php'); // подключена база с таблицами (table1, table2, table3)
if (!isset($_GET['option'])) {
$_GET['option'] = 0;
}
switch ($_GET['option']) :
case 1 : $tablename = 'table1';
break;
case 2 : $tablename = 'table2';
break;
case 3 : $tablename = 'table3';
break;
default : $tablename = 'table1';
break;
endswitch;
$result = mysql_query("SELECT `field1`, 'field2`, `field3` FROM ".$tablename);
$num_rows = mysql_num_rows($result);
for ($i=0; $i<$num_rows; $i++)
{
$imgs[$i] = mysql_result($result,$i,0); // field1
$names[$i] = mysql_result($result,$i,1); // field2
}
if (isset($_GET['poster'])) {
$poster = $_GET['poster'];
?>
<span>table: <?php if (isset($tablename)) { echo $tablename; } ?></span><br />
<span>id: <?php if (isset($poster)) { echo $poster; } ?></span><br />
<img id="mask" src="<?php echo 'img/products/'.$imgs[$poster]; ?>"/><br />
<span>name: <?php if (isset($poster)) { echo $names[$poster]; } ?></span><br />
<?
}
?>
проблема в том, что селектор прекрасно работает, но загружается все равно только первая таблица.
подскажите что здесь не так?
спасибо
Спустя 4 минуты, 57 секунд (10.05.2011 - 20:30) inpost написал(а):
skolozhabskiy
while($row = mysql_fetch_assoc($res)) - почитай про это.
while($row = mysql_fetch_assoc($res)) - почитай про это.
Спустя 51 секунда (10.05.2011 - 20:31) sharki написал(а):
если все время первая то проблема либо с $_GET['option'] либо в обработчике
$imgs[$i] = mysql_result($result,$i,0); // field1
Покажи структуру таблицы в БД, можно сделать лаконичнее
$imgs[$i] = mysql_result($result,$i,0); // field1
Покажи структуру таблицы в БД, можно сделать лаконичнее
Спустя 32 минуты, 5 секунд (10.05.2011 - 21:03) skolozhabskiy написал(а):
нет с таблицами все нормально, первая и все остальные если по отдельности выводтся отлично, здесь проблема в этом коде, только где? что не так?
если поставить эхо после switch то показывает, что таблица переключается абсолютно нормально, но затем почему-то загружается в контент все равно первая ( то есть массив возвращается к первоначальному.)
а что мне даст while($row = mysql_fetch_assoc($res)) ?
спасибо
если поставить эхо после switch то показывает, что таблица переключается абсолютно нормально, но затем почему-то загружается в контент все равно первая ( то есть массив возвращается к первоначальному.)
а что мне даст while($row = mysql_fetch_assoc($res)) ?
спасибо
Спустя 1 минута, 42 секунды (10.05.2011 - 21:05) sharki написал(а):
skolozhabskiy
Выведи алертом alert()
Нормально все выбирает? и заносит в переменную
Выведи алертом alert()
var value = $('#select_id option:selected').val();
alert(value);
Нормально все выбирает? и заносит в переменную
Спустя 2 минуты, 43 секунды (10.05.2011 - 21:07) skolozhabskiy написал(а):
абсолютно нормально. селектор работает отлично!
Спустя 11 минут, 27 секунд (10.05.2011 - 21:19) sharki написал(а):
Я кстати не заметил чтобы здесь data:{option: value}, передавалось 2 переменные
Откуда $_GET['poster']? ну это мелоч
Только я вот сам не понимаю где ошибка, надо пробовать прям по очередности т.е
Проверить по шагам, если свитч нормально обрабатывается, значит надо глянуть print_r($imgs) и $names там всё нормально? вот прям закомментить эту часть
и чуть ниже написать
Откуда $_GET['poster']? ну это мелоч
Только я вот сам не понимаю где ошибка, надо пробовать прям по очередности т.е
Проверить по шагам, если свитч нормально обрабатывается, значит надо глянуть print_r($imgs) и $names там всё нормально? вот прям закомментить эту часть
if (isset($_GET['poster'])) {
$poster = $_GET['poster'];
?>
<span>table: <?php if (isset($tablename)) { echo $tablename; } ?></span><br />
<span>id: <?php if (isset($poster)) { echo $poster; } ?></span><br />
<img id="mask" src="<?php echo 'img/products/'.$imgs[$poster]; ?>"/><br />
<span>name: <?php if (isset($poster)) { echo $names[$poster]; } ?></span><br />
<?
}
и чуть ниже написать
echo "<pre>";
print_r($imgs);
echo "</pre>";
echo "<pre>";
print_r($names);
echo "</pre>";
Спустя 9 минут, 50 секунд (10.05.2011 - 21:29) skolozhabskiy написал(а):
массив после свича меняется номально, но после строк
магически снова возвращается к прежнему
if (isset($_GET['poster'])) {
$poster = $_GET['poster'];
?>
<span>table: <?php if (isset($tablename)) { echo $tablename; } ?></span><br />
<span>id: <?php if (isset($poster)) { echo $poster; } ?></span><br />
<img id="mask" src="<?php echo 'img/products/'.$imgs[$poster]; ?>"/><br />
<span>name: <?php if (isset($poster)) { echo $names[$poster]; } ?></span><br />
<?
}
магически снова возвращается к прежнему
Спустя 5 минут, 23 секунды (10.05.2011 - 21:34) sharki написал(а):
воооот) дебагинг крутая штука в практике не так ли?)
может все таки не стоит коверкать PHP с HTML?
и еще, if (isset($tablename)) { echo $tablename; } зачем повторные проверки? если они уже сделаны до этого, и в ЛЮБОМ случае будут =)
может все таки не стоит коверкать PHP с HTML?
и еще, if (isset($tablename)) { echo $tablename; } зачем повторные проверки? если они уже сделаны до этого, и в ЛЮБОМ случае будут =)
if (isset($_GET['poster'])) {
$poster = $_GET['poster'];
$str .= '<span>table:'.$tablename.'</span><br />'
.'<span>id:'.$poster.'</span><br />'
.'<img id="mask" src="img/products/'.$imgs[$poster].'"/><br />'
.' <span>name:'.$names[$poster].'</span><br />';
}
echo $str;
Спустя 48 минут, 2 секунды (10.05.2011 - 22:22) skolozhabskiy написал(а):
так тоже не работает:
где здесь ошибка - пишет что Notice: Undefined variable: str на строке " .' <span>name:'.$names[$poster].'</span><br />';"
что здесь не так?
<?php
require_once('inc/global.inc.php');
if (!isset($_GET['option'])) {
$_GET['option'] = 0;
}
switch ($_GET['option']) :
case 1 : $tablename = 'table1';
break;
case 2 : $tablename = 'table2';
break;
case 3 : $tablename = 'table3';
break;
default : $tablename = 'table1';
break;
endswitch;
$result = mysql_query("SELECT `id`, `img`, `name` FROM ".$tablename);
$num_rows = mysql_num_rows($result);
for ($i=0; $i<$num_rows; $i++)
{
$imgs[$i] = mysql_result($result,$i,1);
$names[$i] = mysql_result($result,$i,2);
}
if (isset($_GET['poster'])) {
$poster = $_GET['poster'];
$str .= '<span>table:'.$tablename.'</span><br />'
.'<span>id:'.$poster.'</span><br />'
.'<img id="mask" src="img/products/'.$imgs[$poster].'"/><br />'
.' <span>name:'.$names[$poster].'</span><br />';
}
?>
где здесь ошибка - пишет что Notice: Undefined variable: str на строке " .' <span>name:'.$names[$poster].'</span><br />';"
что здесь не так?
Спустя 7 минут, 17 секунд (10.05.2011 - 22:29) sharki написал(а):
Ты не ответил на вопрос, откуда $_GET['poster'] взялся? из-за него проблема походу.
А нотис убирается вот так
А нотис убирается вот так
if (isset($_GET['poster'])) {
$poster = $_GET['poster'];
$str = "";
$str .= '<span>table:'.$tablename.'</span><br />'
.'<span>id:'.$poster.'</span><br />'
.'<img id="mask" src="img/products/'.$imgs[$poster].'"/><br />'
.' <span>name:'.$names[$poster].'</span><br />';
}
echo $str;
Спустя 2 минуты, 54 секунды (10.05.2011 - 22:32) skolozhabskiy написал(а):
из первого же файла, с этого же мы начинали, вот:
мы просто добавили в прежние файлы селектор и выбрали из базы картинки с именами в массивы для выведения в первом файле в дивах.
массивы почему-то не меняют своих значений, в первый раз вроде изменили, а внутри конструкции, где постер проверятется и выводятся картинки снова становятся прежними.
может селектор после ответа сервера сбрасывается к начальному значению, тогда почему, вот его код еще раз:
в первом файле.
<script type="text/javascript">
$(document).ready(function(){
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
function _imgUpdate() {
var randomnumber = rand(0,7);
$.get('gallery.inc.php', { poster : randomnumber }, function(data) {
$('#imgbox').html(data);
});
}
window.setInterval( _imgUpdate, 3000 );
});
</script>
мы просто добавили в прежние файлы селектор и выбрали из базы картинки с именами в массивы для выведения в первом файле в дивах.
массивы почему-то не меняют своих значений, в первый раз вроде изменили, а внутри конструкции, где постер проверятется и выводятся картинки снова становятся прежними.
может селектор после ответа сервера сбрасывается к начальному значению, тогда почему, вот его код еще раз:
<script type="text/javascript">
$(document).ready(function(){
$(function(){
$('#select_id').change(function(){
var value = $('#select_id option:selected').val();
$.ajax({
url: 'gallery.inc.php',
type: 'GET',
cache: false,
data:{option: value},
success: function(data){
$('#imgbox').html(data);
// $("#imgbox").html($('#imgbox', data));
// alert(data);
}
});
});
});
});
</script>
в первом файле.
Спустя 3 минуты, 38 секунд (10.05.2011 - 22:36) sharki написал(а):
skolozhabskiy
Хм, а как ты думаешь попадет ТА переменная в этот файл?
Если этот файл подгружается этим скриптом
То в test2.php есть ТОЛЬКО $_GET['option'] больше ничего, есть нужна и та переменная, то надо передавать значение randomnumber в этот скрипт
Хм, а как ты думаешь попадет ТА переменная в этот файл?
Если этот файл подгружается этим скриптом
$.ajax({
url: 'test2.php',
type: 'GET',
cache: false,
data:{option: value},
success: function(data){$('#imgbox').html(data); }
});
То в test2.php есть ТОЛЬКО $_GET['option'] больше ничего, есть нужна и та переменная, то надо передавать значение randomnumber в этот скрипт
Спустя 3 минуты, 5 секунд (10.05.2011 - 22:39) skolozhabskiy написал(а):
и как тогда их соединить вместе, хочется уже добить эту тему.
Спустя 1 минута, 48 секунд (10.05.2011 - 22:41) skolozhabskiy написал(а):
так:
есть ошибки?
теперь снова на строке echo $str; пишет - Notice: Undefined variable: str in
выводится первая картинка и все, смены параметра постер нет.
<script type="text/javascript">
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
$(document).ready(function(){
$(function(){
$('#select_id').change(function(){
var value = $('#select_id option:selected').val();
var randomnumber = rand(0,7);
$.ajax({
url: 'test2.php',
type: 'GET',
cache: false,
data:{option: value, poster : randomnumber},
success: function(data){
$('#imgbox').html(data);
// $("#imgbox").html($('#imgbox', data));
// alert(data);
}
});
});
});
});
</script>
есть ошибки?
теперь снова на строке echo $str; пишет - Notice: Undefined variable: str in
выводится первая картинка и все, смены параметра постер нет.
Спустя 43 секунды (10.05.2011 - 22:41) sharki написал(а):
ЭТО
и это
На одной странице? статические?
<script type="text/javascript">
$(document).ready(function(){
$(function(){
$('#select_id').change(function(){
var value = $('#select_id option:selected').val();
$.ajax({
url: 'gallery.inc.php',
type: 'GET',
cache: false,
data:{option: value},
success: function(data){
$('#imgbox').html(data);
// $("#imgbox").html($('#imgbox', data));
// alert(data);
}
});
});
});
});
</script>
и это
<script type="text/javascript">
$(document).ready(function(){
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
function _imgUpdate() {
var randomnumber = rand(0,7);
$.get('gallery.inc.php', { poster : randomnumber }, function(data) {
$('#imgbox').html(data);
});
}
window.setInterval( _imgUpdate, 3000 );
});
</script>
На одной странице? статические?
Спустя 47 секунд (10.05.2011 - 22:42) sharki написал(а):
Если да, то последний твой вариант по идее правильный =)
Спустя 5 минут, 52 секунды (10.05.2011 - 22:48) skolozhabskiy написал(а):
я забыл еще интервал, вот поправил:
только и этот вариант не работает. почему? где ошибка?
<script type="text/javascript">
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
$(document).ready(function(){
$(function(){
var refresh = setInterval(function() {
$('#select_id').change(function(){
var value = $('#select_id option:selected').val();
var randomnumber = rand(0,7);
$.ajax({
url: 'gallery.inc.php',
type: 'GET',
cache: false,
data:{option: value, poster : randomnumber},
success: function(data){
$('#imgbox').html(data);
// $("#imgbox").html($('#imgbox', data));
// alert(data);
}
});
});
}, 3000 );
});
});
</script>
только и этот вариант не работает. почему? где ошибка?
Спустя 2 минуты, 46 секунд (10.05.2011 - 22:51) skolozhabskiy написал(а):
а как бороться с Notice: Undefined variable: str in на строке
if (isset($_GET['poster'])) {
$poster = $_GET['poster'];
$str = '<span>table:'.$tablename.'</span><br />';
$str .= '<span>id:'.$poster.'</span><br />';
$str .= '<img id="mask" src="img/products/'.$imgs[$poster].'"/><br />';
$str .= ' <span>name:'.$names[$poster].'</span><br />';
}
echo $str; - вот здесь эта ошибка!
Спустя 4 минуты, 10 секунд (10.05.2011 - 22:55) skolozhabskiy написал(а):
есть еще последний вопрос, а как передать в первый файл в скрипт
<script type="text/javascript">что максимальное значение в функции rand равно числу строк в таблице, это значение мы находим во втором файле - $num_rows = mysql_num_rows($result);
function rand(max, min) { и так далее
Спустя 1 минута, 2 секунды (10.05.2011 - 22:56) sharki написал(а):
а так попробуй
А Notice: Undefined variable: str говорит о том, что if (isset($_GET['poster'])) { данный блок не выполняется, и переменная пуста.
Можно поместить echo $str; в блок if (isset($_GET['poster'])) {
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
$(document).ready(function(){
function get_data () {
$('#select_id').change(function(){
var value = $('#select_id option:selected').val();
var randomnumber = rand(0,7);
$.ajax({
url: 'gallery.inc.php',
type: 'GET',
cache: false,
data:{option: value, poster : randomnumber},
success: function(data){
$('#imgbox').html(data);
// $("#imgbox").html($('#imgbox', data));
// alert(data);
}
});
});
}
var refresh = setInterval(get_data, 3000 );
});
А Notice: Undefined variable: str говорит о том, что if (isset($_GET['poster'])) { данный блок не выполняется, и переменная пуста.
Можно поместить echo $str; в блок if (isset($_GET['poster'])) {
Спустя 1 минута, 50 секунд (10.05.2011 - 22:58) skolozhabskiy написал(а):
понятно - так заработало, обратите внимание на предыдущий пост - последний вопрос по теме.
а все же как прикрепить сюда еще эффекты jquery& пробовал их прикрепить к $('#imgbox').html(data); - никакого эффекта.
спасибо
а все же как прикрепить сюда еще эффекты jquery& пробовал их прикрепить к $('#imgbox').html(data); - никакого эффекта.
спасибо
Спустя 1 минута, 30 секунд (10.05.2011 - 22:59) sharki написал(а):
skolozhabskiy
Чтобы что-то передать в PHP тобеш на сервер, нужно опять же воспользоваться аяксом, и по полученным данным делать еще один аякс чтобы получить то-что нужно...
Вообще надо продумывать это в голове и на листочке, как бы строить путь скрипта, смотреть на последовательность, помогает =))
Чтобы что-то передать в PHP тобеш на сервер, нужно опять же воспользоваться аяксом, и по полученным данным делать еще один аякс чтобы получить то-что нужно...
Вообще надо продумывать это в голове и на листочке, как бы строить путь скрипта, смотреть на последовательность, помогает =))
Спустя 1 минута, 15 секунд (10.05.2011 - 23:01) skolozhabskiy написал(а):
а вынести как-то фукцию во второй файл нельзя и потом передать значение в первый в виде параметра?
Спустя 2 минуты, 33 секунды (10.05.2011 - 23:03) skolozhabskiy написал(а):
пробовал так - $('#imgbox > img').fadeIn(); эффекта нет.
Спустя 1 минута, 48 секунд (10.05.2011 - 23:05) sharki написал(а):
хм.. вообще можно прям сразу подставит значение т.е
Получается так, что при первой загрузке странице, он получается кол-во и подставляет сразу в JS, а дальше уже он работает с другими данными
Получается так, что при первой загрузке странице, он получается кол-во и подставляет сразу в JS, а дальше уже он работает с другими данными
<?php
.....
$num_rows = mysql_num_rows($result);
....
?>
<script type="text/javascript">
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
$(document).ready(function(){
function get_data () {
$('#select_id').change(function(){
var value = $('#select_id option:selected').val();
var randomnumber = rand(0,<?php echo $num_rows;?>);
$.ajax({
url: 'gallery.inc.php',
type: 'GET',
cache: false,
data:{option: value, poster : randomnumber},
success: function(data){
$('#imgbox').html(data);
// $("#imgbox").html($('#imgbox', data));
// alert(data);
}
});
});
}
var refresh = setInterval(get_data, 3000 );
});
</script>
Спустя 1 минута, 12 секунд (10.05.2011 - 23:06) sharki написал(а):
А по эффектам я не смогу помочь, толком с ними не работал, только один раз побаловался =)
Спустя 18 минут, 9 секунд (10.05.2011 - 23:24) skolozhabskiy написал(а):
если $num_rows = mysql_num_rows($result); во втором файле, а скрипт в первом, то программа все время ругается Notice: Undefined index: 12 in на инексы несуществующие, видимо она не видит так <?php echo $num_rows;?>. есть еще какой-нибудь вариант?
Спустя 4 минуты, 57 секунд (10.05.2011 - 23:29) sharki написал(а):
хотя да...ну тогда как вариант можно первым аяксом заполучить кол-во по выбранному элементу, а вторым уже заполучить всё!)
Спустя 2 минуты, 56 секунд (10.05.2011 - 23:32) skolozhabskiy написал(а):
опять возвращаемся к двум скриптам - функциям? или эта функция правильная и остается без изменения. только при такой конструкции обновляется селектор тоже много раз, это оптимально или можно его обновить только один раз, а обновлять только случайное значение randomnumber?
Спустя 10 минут, 48 секунд (10.05.2011 - 23:43) sharki написал(а):
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
$(document).ready(function(){
function get_data () {
$('#select_id').change(function(){
var value = $('#select_id option:selected').val();
$.ajax({
url: 'gallery.inc.php',
type: 'GET',
cache: false,
data:{option: value, op: 1},
success: function(data){
randomnumber = rand(0,data);
}
});
$.ajax({
url: 'gallery.inc.php',
type: 'GET',
cache: false,
data:{option: value, poster : randomnumber, op: 0},
success: function(data){
$('#imgbox').html(data);
// $("#imgbox").html($('#imgbox', data));
// alert(data);
}
});
});
}
var refresh = setInterval(get_data, 3000 );
});
<?php
require_once('inc/global.inc.php');
if (!isset($_GET['option'])) {
$_GET['option'] = 0;
}
if($_GET['op']) {
switch ($_GET['option']) :
case 1 : $tablename = 'table1';
break;
case 2 : $tablename = 'table2';
break;
case 3 : $tablename = 'table3';
break;
default : $tablename = 'table1';
break;
endswitch;
$result = mysql_query("SELECT `id`, `img`, `name` FROM ".$tablename);
$num_rows = mysql_num_rows($result);
echo $num_rows;
}
else {
switch ($_GET['option']) :
case 1 : $tablename = 'table1';
break;
case 2 : $tablename = 'table2';
break;
case 3 : $tablename = 'table3';
break;
default : $tablename = 'table1';
break;
endswitch;
$result = mysql_query("SELECT `id`, `img`, `name` FROM ".$tablename);
$num_rows = mysql_num_rows($result);
for ($i=0; $i<$num_rows; $i++)
{
$imgs[$i] = mysql_result($result,$i,1);
$names[$i] = mysql_result($result,$i,2);
}
if (isset($_GET['poster'])) {
$poster = $_GET['poster'];
$str .= '<span>table:'.$tablename.'</span><br />'
.'<span>id:'.$poster.'</span><br />'
.'<img id="mask" src="img/products/'.$imgs[$poster].'"/><br />'
.' <span>name:'.$names[$poster].'</span><br />';
}
}
?>
Спустя 4 минуты, 7 секунд (10.05.2011 - 23:47) skolozhabskiy написал(а):
вариант с $_SESSION['numrows'] = $num_rows; не прошел, не видит он количество строк в таблице.
Спустя 1 минута, 19 секунд (10.05.2011 - 23:48) sharki написал(а):
skolozhabskiy
И не увидит =) т.к она создаться в другом файле, а эта страница не обновится, следовательно доступа к ней не будет
И не увидит =) т.к она создаться в другом файле, а эта страница не обновится, следовательно доступа к ней не будет
Спустя 6 минут, 15 секунд (10.05.2011 - 23:55) skolozhabskiy написал(а):
ругается с Notice: Undefined index: op in потом на все функции sql.
Спустя 13 минут, 29 секунд (11.05.2011 - 00:08) skolozhabskiy написал(а):
randomnumber не работает. выводятся индексы типа 53, 85 и так далее. в чем проблема?
Спустя 11 минут, 44 секунды (11.05.2011 - 00:20) sharki написал(а):
Наверное надо взять в кавычки op: "0" попробуй..
Спустя 7 минут, 5 секунд (11.05.2011 - 00:27) sharki написал(а):
только и в скрипте надо исправить на if($_GET['op']=="1") {
Спустя 2 минуты, 17 секунд (11.05.2011 - 00:29) skolozhabskiy написал(а):
все равно индексы randomnumber = rand(0,data); на алерте неверные и намного выше реального количества строк, он беорет каие-то значения неведомо откуда. код не хочет работать ну все же что-то в этом коде не так?
Спустя 4 минуты, 12 секунд (11.05.2011 - 00:33) sharki написал(а):
skolozhabskiy
в data приходит кол-во $num_rows = mysql_num_rows($result); проверь, просто выведи алертом, то кол-во приходит? по идее то, если нет, то пройди туда и заккоменть $num_rows = mysql_num_rows($result); и добавь чуть ниже
$num_rows = 23;
в data приходит кол-во $num_rows = mysql_num_rows($result); проверь, просто выведи алертом, то кол-во приходит? по идее то, если нет, то пройди туда и заккоменть $num_rows = mysql_num_rows($result); и добавь чуть ниже
$num_rows = 23;
Спустя 13 минут, 24 секунды (11.05.2011 - 00:47) skolozhabskiy написал(а):
не хочет код работать никак.
Спустя 14 минут, 45 секунд (11.05.2011 - 01:02) sharki написал(а):
skolozhabskiy
Я спать) А так идея тебе понятна? т.е ты передаешь еще одну переменную как идентификатор обработчику, если он есть то получить кол-во и отдать т.е echo кол-во, где ты принимаешь ответ у клиента и передаешь его функции рандома, он рандомит и опять передает обработчику, но уже с другим идентификатором, чтобы не было путаницы.
Попробуй реализовать. База вообщем то есть. Метод тыка такая профессия программиста)))
Я спать) А так идея тебе понятна? т.е ты передаешь еще одну переменную как идентификатор обработчику, если он есть то получить кол-во и отдать т.е echo кол-во, где ты принимаешь ответ у клиента и передаешь его функции рандома, он рандомит и опять передает обработчику, но уже с другим идентификатором, чтобы не было путаницы.
Попробуй реализовать. База вообщем то есть. Метод тыка такая профессия программиста)))
Спустя 9 часов, 39 минут, 37 секунд (11.05.2011 - 10:41) skolozhabskiy написал(а):
доброе утро всем.
да идея вроде понятна, только вот если в строку
всем спасибо
да идея вроде понятна, только вот если в строку
data:{option: value, poster : randomnumber, op: "0"},поставить конкретное значение, например 5, то выводится картинка од номером пять, шесть - шесть и так далее. а в алерте на строке
randomnumber = rand(0,data);все время показывает NAN (randomnumber = NAN)! хотя data в алерте показывает правильное числи строк из условия if ($_GET['op'] == "1") {. setintegval не работает. в общем не видит переменную randomnumber один аякс из другого. может есть какие-то идеи как сделать, чтобы эта конструкция заработала и можно было бы передавать randomnumber из одного аякса в другой или где здесь ошибка.
всем спасибо
Спустя 1 час, 52 минуты, 18 секунд (11.05.2011 - 12:34) sharki написал(а):
Попробуй так
function rand(max, min) {
if ( max ) {
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * (min + 1));
}
}
$(document).ready(function(){
function get_data () {
$('#select_id').change(function(){
var value = $('#select_id option:selected').val();
$.ajax({
url: 'gallery.inc.php',
type: 'GET',
cache: false,
data:{option: value, op: "on"},
success: function(data){
randomnumber = rand(0,data);
$.ajax({
url: 'gallery.inc.php',
type: 'GET',
cache: false,
data:{option: value, poster : randomnumber, op: "off"},
success: function(data){
$('#imgbox').html(data);
}
});
}
});
});
}
var refresh = setInterval(get_data, 3000 );
});
<?php
require_once('inc/global.inc.php');
if (!isset($_GET['option'])) {
$_GET['option'] = 0;
}
if($_GET['op']=="on") {
switch ($_GET['option']) :
case 1 : $tablename = 'table1';
break;
case 2 : $tablename = 'table2';
break;
case 3 : $tablename = 'table3';
break;
default : $tablename = 'table1';
break;
endswitch;
$result = mysql_query("SELECT `id`, `img`, `name` FROM ".$tablename);
$num_rows = mysql_num_rows($result);
echo $num_rows;
}
else {
switch ($_GET['option']) :
case 1 : $tablename = 'table1';
break;
case 2 : $tablename = 'table2';
break;
case 3 : $tablename = 'table3';
break;
default : $tablename = 'table1';
break;
endswitch;
$result = mysql_query("SELECT `id`, `img`, `name` FROM ".$tablename);
$num_rows = mysql_num_rows($result);
for ($i=0; $i<$num_rows; $i++)
{
$imgs[$i] = mysql_result($result,$i,1);
$names[$i] = mysql_result($result,$i,2);
}
if (isset($_GET['poster'])) {
$poster = $_GET['poster'];
$str .= '<span>table:'.$tablename.'</span><br />'
.'<span>id:'.$poster.'</span><br />'
.'<img id="mask" src="img/products/'.$imgs[$poster].'"/><br />'
.' <span>name:'.$names[$poster].'</span><br />';
}
}
?>
Спустя 7 минут, 45 секунд (11.05.2011 - 12:41) skolozhabskiy написал(а):
спасибо, попробую
Спустя 1 час, 21 минута, 57 секунд (11.05.2011 - 14:03) skolozhabskiy написал(а):
спасибо, все работает. еще бы как-то эффекты повесить.
Спустя 16 минут, 18 секунд (11.05.2011 - 14:20) sharki написал(а):
Ну неужели 
А по эффектам создай новую тему, и там спроси насчет эффектов JQ, может тут есть кто знает

А по эффектам создай новую тему, и там спроси насчет эффектов JQ, может тут есть кто знает