Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Всплывающего окна
Форумы портала PHP.SU » » Вопросы новичков » Всплывающего окна

Страниц (2): [1] 2 »
 

1. vlggera - 10 Февраля, 2014 - 21:45:07 - перейти к сообщению
Нужна помощь.не могу довести до ума скрип что-бы правильно работал.
Ситуация такая: есть таблица с рецептами пользователей, есть страница где в цикле выводятся названия рецептов.Хочу сделать что-бы при нажатии на название рецепта его описание выводилось в всплывающем окне.Проблема в том что при нажатие на название всплывают все окна рецептов. Как сделать что-бы окно всплывало одно и с нужной информацией. Вот скрипт:

CODE (htmlphp):
скопировать код в буфер обмена
  1. $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");
  2.  
  3. $myrow = mysql_fetch_array($result);
  4.  
  5. do
  6. {
  7. printf ("
  8. <div class='popup tabs_info'>
  9.                 <a class='close' href='#'>Close</a>
  10.                 <h2>%s</h2>            
  11.                 <div class='selectTabs'>
  12.                         <ul class='lineTabs'>
  13.                                 <li class='active'><a href='#'>Ингридиенты</a></li>
  14.                                 <li><a href='#'>Способ приготовления</a></li>
  15.                         </ul>
  16.                         <div class='tab_content'>
  17.                                 <div class='tab1'>
  18.                                         <p>%s</p>
  19.                                 </div>
  20.                                 <div class='tab2'>
  21.                                         <p>%s</p>
  22.                                 </div>
  23.                         </div>
  24.                 </div>                 
  25.         </div>
  26.        
  27. <div class='link_group'>
  28.     <a class='show_popup' rel='tabs_info' href='#'>%s</a>
  29. </div><br>",$myrow['name'],$myrow['ingrid'],$myrow['text'],$myrow['name']);
  30. }
  31.  
  32. while($myrow = mysql_fetch_array($result));
  33. ?>
2. esterio - 11 Февраля, 2014 - 11:09:57 - перейти к сообщению
первая причина по которой у Вас нифига не получилось: урокы Попова. Для решения проблемы читаем статью от пользователя даного форума
http://forum.php.su/topic.php?fo...33&topic=793
3. vlggera - 11 Февраля, 2014 - 11:54:51 - перейти к сообщению
esterio пишет:
первая причина по которой у Вас нифига не получилось: урокы Попова. Для решения проблемы читаем статью от пользователя даного форума
http://forum.php.su/topic.php?forum=33&topic=793


Да согласен начинал 2 или 3 года назад по его урокам, но понял что туфта.Стараюсь сам разбираться. Согласен код написан коряво, но код который я выложил хоть что то вывел.Пытался вынести скрипт вывода окна за пределы цикла,ни чего не выводит.Создавал переменные с подстановкой в скрипт окна,вывод только первого рецепта.Пытался передать функции id рецепта, но не знаю как. Может ли страница передать данные самой себе.
4. esterio - 11 Февраля, 2014 - 12:15:40 - перейти к сообщению
попробуйте включить вывод ошибок
5. Мелкий - 11 Февраля, 2014 - 12:16:31 - перейти к сообщению
К PHP вопрос, в сущности, отношения не имеет.
Если вам дали 10 яблок и сказали "покажи яблоко" - показать одно, два, три или все 10 яблок - все варианты являются верными. Иначе говоря - в JS коде отображения всплывающего окна никак не различается, что именно надо показать.
Есть предположение, что существует связь между rel='tabs_info' и css-классом tabs_info и они должны попарно совпадать для одного рецепта и различаться для разных рецептов.
6. IllusionMH - 11 Февраля, 2014 - 12:21:09 - перейти к сообщению
vlggera, пишите рецепт сразу под заголовком. Потом всплывающим окном показывайте соседний с заголовком элемент.
7. vlggera - 11 Февраля, 2014 - 13:15:36 - перейти к сообщению
Мелкий пишет:
К PHP вопрос, в сущности, отношения не имеет.
Если вам дали 10 яблок и сказали "покажи яблоко" - показать одно, два, три или все 10 яблок - все варианты являются верными. Иначе говоря - в JS коде отображения всплывающего окна никак не различается, что именно надо показать.
Есть предположение, что существует связь между rel='tabs_info' и css-классом tabs_info и они должны попарно совпадать для одного рецепта и различаться для разных рецептов.


нужно реализовать подстановку данных из базы в плагин popup
8. IllusionMH - 11 Февраля, 2014 - 13:28:47 - перейти к сообщению
vlggera, мы догадались. Перечитайте еще раз цитату. Мелкий в последнем предложении явно указал на проблему - отсутствие связи между конкретным заголовком и блоком для попапа. Вы должны залезть в документацию и посмотреть как в плагине организуется связь и сделать так, чтобы она была уникальна для каждой пары заголовок-попап.
К примеру добавлять ид к классу и rel, или просто наращиваемый индекс.
9. vlggera - 11 Февраля, 2014 - 14:17:24 - перейти к сообщению
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>
10. code358 - 11 Февраля, 2014 - 14:28:37 - перейти к сообщению
Попов не Попов, разницы не много.. Главное, чтобы вы не создавали для каждого товара свое окно, иначе страница у вас будет весить 5-10мб, а кому оно надо?
Я посоветую вам плагин arcticModal, зайдите на оф.сайт и скачайте его, там есть несколько примеров (AJAX), которые вам помогут.
11. IllusionMH - 11 Февраля, 2014 - 14:39:05 - перейти к сообщению
vlggera, <?php echo $myrow['ingrid']; ?>
если я не разучился читать, то проблема изначально в том, что всплывают все окна.
vlggera пишет:
Проблема в том что при нажатие на название всплывают все окна рецептов

это проблема с реализацией клиентской части
IllusionMH пишет:
Вы должны залезть в документацию и посмотреть как в плагине организуется связь и сделать так, чтобы она была уникальна для каждой пары заголовок-попап.
12. vlggera - 11 Февраля, 2014 - 15:17:10 - перейти к сообщению
IllusionMH пишет:
vlggera, <?php echo $myrow['ingrid']; ?>
если я не разучился читать, то проблема изначально в том, что всплывают все окна.
vlggera пишет:
Проблема в том что при нажатие на название всплывают все окна рецептов

это проблема с реализацией клиентской части
IllusionMH пишет:
Вы должны залезть в документацию и посмотреть как в плагине организуется связь и сделать так, чтобы она была уникальна для каждой пары заголовок-попап.


в том то и дело что скрипт нарыл в инете,понравился, решил попробовать у себя..документации нет просто скрипт.
13. IllusionMH - 11 Февраля, 2014 - 15:28:07 - перейти к сообщению
vlggera, ну ну. Там небось это в файлике без комментраия в начале что это за плагин.
Ну или мы как тыжпрограммисты должны угадывать как в том неизвестном скрипте это реализовано?

На правах гадалки: (не забыть $i=0; перед циклом)
CODE (htmlphp):
скопировать код в буфер обмена
  1. <div class='popup tabs_info<?php echo ++i; ?>'>
  2.                 <a class='close' href='#'>Close</a>
  3.                 <h2><?php echo $myrow['name']; ?></h2>            
  4.                 <div class='selectTabs'>
  5.                         <ul class='lineTabs'>
  6.                                 <li class='active'><a href='#'>Ингридиенты</a></li>
  7.                                 <li><a href='#'>Способ приготовления</a></li>
  8.                         </ul>
  9.                         <div class='tab_content'>
  10.                                 <div class='tab1'>
  11.                                         <p><?php echo $myrow['ingrid']; ?></p>
  12.                                 </div>
  13.                                 <div class='tab2'>
  14.                                         <p><?php echo $myrow['text']; ?></p>
  15.                                 </div>
  16.                         </div>
  17.                 </div>                
  18.         </div>
  19.        
  20. <div class='link_group'>
  21.     <a class='show_popup' rel='tabs_info<?php echo i; ?>' href='#'><?php echo $myrow['name']; ?></a>
  22. </div>
14. vlggera - 11 Февраля, 2014 - 15:32:30 - перейти к сообщению
IllusionMH пишет:
vlggera, ну ну. Там небось это в файлике без комментраия в начале что это за плагин.
Ну или мы как тыжпрограммисты должны угадывать как в том неизвестном скрипте это реализовано?

На правах гадалки: (не забыть $i=0; перед циклом)
CODE (htmlphp):
скопировать код в буфер обмена
  1. <div class='popup tabs_info<?php echo ++i; ?>'>
  2.                 <a class='close' href='#'>Close</a>
  3.                 <h2><?php echo $myrow['name']; ?></h2>            
  4.                 <div class='selectTabs'>
  5.                         <ul class='lineTabs'>
  6.                                 <li class='active'><a href='#'>Ингридиенты</a></li>
  7.                                 <li><a href='#'>Способ приготовления</a></li>
  8.                         </ul>
  9.                         <div class='tab_content'>
  10.                                 <div class='tab1'>
  11.                                         <p><?php echo $myrow['ingrid']; ?></p>
  12.                                 </div>
  13.                                 <div class='tab2'>
  14.                                         <p><?php echo $myrow['text']; ?></p>
  15.                                 </div>
  16.                         </div>
  17.                 </div>                
  18.         </div>
  19.        
  20. <div class='link_group'>
  21.     <a class='show_popup' rel='tabs_info<?php echo i; ?>' href='#'><?php echo $myrow['name']; ?></a>
  22. </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>
15. IllusionMH - 11 Февраля, 2014 - 15:38:35 - перейти к сообщению
vlggera, и что я должен здесь увидеть?
Выводите отдельно все заголовки. Потом выводити соответствующие тексты.
Можете разметку для заголовков склеивать в 1 строку, во вторую строку склеивать содержимое табов(какие тут попапы?).
потом вставить это в соответствующие места в разметке.

 

Powered by ExBB FM 1.0 RC1