Нужна помощь.не могу довести до ума скрип что-бы правильно работал.
Ситуация такая: есть таблица с рецептами пользователей, есть страница где в цикле выводятся названия рецептов.Хочу сделать что-бы при нажатии на название рецепта его описание выводилось в всплывающем окне.Проблема в том что при нажатие на название всплывают все окна рецептов. Как сделать что-бы окно всплывало одно и с нужной информацией. Вот скрипт:
CODE (
htmlphp):
скопировать код в буфер обмена
$result = mysql_query("SELECT id,name,ingrid,text FROM recept_user WHERE user_id = '$user_id' and cat = '$cat' ORDER BY name LIMIT $start, $num");
$myrow = mysql_fetch_array($result);
do
{
printf ("
<div class='popup tabs_info'>
<a class='close' href='#'>Close</a>
<h2>%s</h2>
<div class='selectTabs'>
<ul class='lineTabs'>
<li class='active'><a href='#'>Ингридиенты</a></li>
<li><a href='#'>Способ приготовления</a></li>
</ul>
<div class='tab_content'>
<div class='tab1'>
<p>%s</p>
</div>
<div class='tab2'>
<p>%s</p>
</div>
</div>
</div>
</div>
<div class='link_group'>
<a class='show_popup' rel='tabs_info' href='#'>%s</a>
</div><br>",$myrow['name'],$myrow['ingrid'],$myrow['text'],$myrow['name']);
}
while($myrow = mysql_fetch_array($result));
?>
esterio пишет:первая причина по которой у Вас нифига не получилось: урокы Попова. Для решения проблемы читаем статью от пользователя даного форума
http://forum.php.su/topic.php?forum=33&topic=793
Да согласен начинал 2 или 3 года назад по его урокам, но понял что туфта.Стараюсь сам разбираться. Согласен код написан коряво, но код который я выложил хоть что то вывел.Пытался вынести скрипт вывода окна за пределы цикла,ни чего не выводит.Создавал переменные с подстановкой в скрипт окна,вывод только первого рецепта.Пытался передать функции id рецепта, но не знаю как. Может ли страница передать данные самой себе.
попробуйте включить вывод ошибок
К PHP вопрос, в сущности, отношения не имеет.
Если вам дали 10 яблок и сказали "покажи яблоко" - показать одно, два, три или все 10 яблок - все варианты являются верными. Иначе говоря - в JS коде отображения всплывающего окна никак не различается, что именно надо показать.
Есть предположение, что существует связь между rel='tabs_info' и css-классом tabs_info и они должны попарно совпадать для одного рецепта и различаться для разных рецептов.
vlggera, пишите рецепт сразу под заголовком. Потом всплывающим окном показывайте соседний с заголовком элемент.
Мелкий пишет:К PHP вопрос, в сущности, отношения не имеет.
Если вам дали 10 яблок и сказали "покажи яблоко" - показать одно, два, три или все 10 яблок - все варианты являются верными. Иначе говоря - в JS коде отображения всплывающего окна никак не различается, что именно надо показать.
Есть предположение, что существует связь между rel='tabs_info' и css-классом tabs_info и они должны попарно совпадать для одного рецепта и различаться для разных рецептов.
нужно реализовать подстановку данных из базы в плагин popup
vlggera, мы догадались. Перечитайте еще раз цитату. Мелкий в последнем предложении явно указал на проблему - отсутствие связи между конкретным заголовком и блоком для попапа. Вы должны залезть в документацию и посмотреть как в плагине организуется связь и сделать так, чтобы она была уникальна для каждой пары заголовок-попап.
К примеру добавлять ид к классу и rel, или просто наращиваемый индекс.
IllusionMH пишет:vlggera, мы догадались. Перечитайте еще раз цитату. Мелкий в последнем предложении явно указал на проблему - отсутствие связи между конкретным заголовком и блоком для попапа. Вы должны залезть в документацию и посмотреть как в плагине организуется связь и сделать так, чтобы она была уникальна для каждой пары заголовок-попап.
К примеру добавлять ид к классу и rel, или просто наращиваемый индекс.
честно не понимаю при чем здесь style классы..
rel включает плагин окна
подстановку нужно сделать здесь
Плагин popup:
<div class="popup tabs_info">
<a class="close" href="#">Close</a>
<h2>Вкладки (tabs)</h2>
<div class="selectTabs">
<ul class="lineTabs">
<li class="active"><a href="#">Ингредиенты</a></li>
<li><a href="#">Способ приготовления</a></li>
</ul>
<div class="tab_content">
<div class="tab1">
<p>
Нужно подставить $myrow['ingrid']</p>
</div>
<div class="tab2">
<p>
Нужно подставить $myrow['text']</p>
</div>
</div>
</div>
</div>
Попов не Попов, разницы не много.. Главное, чтобы вы не создавали для каждого товара свое окно, иначе страница у вас будет весить 5-10мб, а кому оно надо?
Я посоветую вам плагин arcticModal, зайдите на оф.сайт и скачайте его, там есть несколько примеров (AJAX), которые вам помогут.
vlggera,
<?php echo $myrow['ingrid']; ?>
если я не разучился читать, то проблема изначально в том, что всплывают все окна.
vlggera пишет:Проблема в том что при нажатие на название всплывают все окна рецептов
это проблема с реализацией клиентской части
IllusionMH пишет:Вы должны залезть в документацию и посмотреть как в плагине организуется связь и сделать так, чтобы она была уникальна для каждой пары заголовок-попап.
IllusionMH пишет:vlggera,
<?php echo $myrow['ingrid']; ?>
если я не разучился читать, то проблема изначально в том, что всплывают все окна.
vlggera пишет:Проблема в том что при нажатие на название всплывают все окна рецептов
это проблема с реализацией клиентской части
IllusionMH пишет:Вы должны залезть в документацию и посмотреть как в плагине организуется связь и сделать так, чтобы она была уникальна для каждой пары заголовок-попап.
в том то и дело что скрипт нарыл в инете,понравился, решил попробовать у себя..документации нет просто скрипт.
vlggera, ну ну. Там небось это в файлике без комментраия в начале что это за плагин.
Ну или мы как тыжпрограммисты должны угадывать как в том неизвестном скрипте это реализовано?
На правах гадалки: (не забыть
$i=0; перед циклом)
CODE (
htmlphp):
скопировать код в буфер обмена
<div class='popup tabs_info<?php echo ++i; ?>'>
<a class='close' href='#'>Close</a>
<h2><?php echo $myrow['name']; ?></h2>
<div class='selectTabs'>
<ul class='lineTabs'>
<li class='active'><a href='#'>Ингридиенты</a></li>
<li><a href='#'>Способ приготовления</a></li>
</ul>
<div class='tab_content'>
<div class='tab1'>
<p><?php echo $myrow['ingrid']; ?></p>
</div>
<div class='tab2'>
<p><?php echo $myrow['text']; ?></p>
</div>
</div>
</div>
</div>
<div class='link_group'>
<a class='show_popup' rel='tabs_info<?php echo i; ?>' href='#'><?php echo $myrow['name']; ?></a>
</div>
IllusionMH пишет:vlggera, ну ну. Там небось это в файлике без комментраия в начале что это за плагин.
Ну или мы как тыжпрограммисты должны угадывать как в том неизвестном скрипте это реализовано?
На правах гадалки: (не забыть
$i=0; перед циклом)
CODE (
htmlphp):
скопировать код в буфер обмена
<div class='popup tabs_info<?php echo ++i; ?>'>
<a class='close' href='#'>Close</a>
<h2><?php echo $myrow['name']; ?></h2>
<div class='selectTabs'>
<ul class='lineTabs'>
<li class='active'><a href='#'>Ингридиенты</a></li>
<li><a href='#'>Способ приготовления</a></li>
</ul>
<div class='tab_content'>
<div class='tab1'>
<p><?php echo $myrow['ingrid']; ?></p>
</div>
<div class='tab2'>
<p><?php echo $myrow['text']; ?></p>
</div>
</div>
</div>
</div>
<div class='link_group'>
<a class='show_popup' rel='tabs_info<?php echo i; ?>' href='#'><?php echo $myrow['name']; ?></a>
</div>
Вот оригинал:
<!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>Попапы</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<!--<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>-->
<script type="text/javascript" src="js/my_scripts.js"></script>
</head>
<body>
<div class="link_group">
<a class="show_popup" rel="reg_form" href="#">Зарегистрируйтесь</a>
<a class="show_popup" rel="photo_win" href="#">Галерея</a>
<a class="show_popup" rel="tabs_info" href="#">Окно со вкладками</a>
</div>
<div class="popup reg_form">
<a class="close" href="#">Close</a>
<h2>Регистрация на сайте</h2>
<form method="post" action="">
<label for="login">Введите логин:</label>
<input type="text" name="login" />
<label for="password">Введите пароль:</label>
<input type="password" name="password" />
<input type="submit" value="Войти" />
</form>
</div>
<div class="popup photo_win">
<a class="close" href="#">Close</a>
<h2>Галерея</h2>
<div class="img_wrap">
<img alt="" src="images/pic_1.png" />
<img alt="" src="images/pic_2.png" />
<img alt="" src="images/pic_3.png" />
<img alt="" src="images/pic_2.png" />
<img alt="" src="images/pic_3.png" />
<img alt="" src="images/pic_1.png" />
</div>
</div>
<div class="popup tabs_info">
<a class="close" href="#">Close</a>
<h2>Вкладки (tabs)</h2>
<div class="selectTabs">
<ul class="lineTabs">
<li class="active"><a href="#">Удобства вкладок</a></li>
<li><a href="#">Преимущества вкладок</a></li>
</ul>
<div class="tab_content">
<div class="tab1">
<p>Tabs - элемент интерфейса для отображения группы документов таким образом, что только 1 активный документ показан, а остальные спрятаны. Пришёл этот элемент интерфейса в компьютеры из офисного быта: папки с документами разделялись такими закладками на группы. Ну и конечно телефонные книги часто разделены табами по алфавиту.</p>
</div>
<div class="tab2">
<p><img alt="" src="/images/tabs.jpg" /> Табы показаны в одном месте, рядом. Отсюда — удобство навигации. И целостность навигации, что тоже важно. Все уже привыкли к табам, так как видят и используют их везде (те же телефонные книжки, каталоги в библиотеках, и т.д.). А значит и домохозяйка знает, как они работают.</p>
</div>
</div>
</div>
</div>
</body>
</html>