Jump to content
  • 0

Вывести Диалог


sviloga
 Share

Question

Здравствуйте.

Возможно я задам ламерский вопрос, но прошу помощи.

Задача такая: нужно по щелчку по ссылке показать диалог с информацией из БД. Не отдельно всплывающее окно, а поверх основной страницы (аналог Delphi Form.ShowModal)

Извиняюсь за косноязычие. Отнеситесь к начинающему с пониманием.

Куда копать?

Link to comment
Share on other sites

25 answers to this question

Recommended Posts

  • 0
Это значит что должно быть что вроде div'a поверх основной страницы

если не знаете js, то можете заюзать любой jquery фреймворк который отвечает за вывод всплывающей инфы (картинки, текст...) только вместо всплывающего контента вставляете запрос к бд на вывод контента.

Link to comment
Share on other sites

  • 0
если не знаете js, то можете заюзать любой jquery фреймворк который отвечает за вывод всплывающей инфы (картинки, текст...) только вместо всплывающего контента вставляете запрос к бд на вывод контента.

Скачал jQuery.SimpleModal.

подключил: <script type="text/javascript" src="includes/jquery.js"></script>

Никак не пойму как его вызвать.

И что такое элемент jQuery?

Edited by sviloga
Link to comment
Share on other sites

  • 0

Если не нужно вызывать именно виндузовский диалог, то достаточно сделать абсолютный блок поверх всех элементов и в нем уже "рисовать" ваш диалог. Но данные надо считывать технологиями типа htmlHttpReques, т.е. без перезагрузки страницы, и тут вам все равно лучше освоить jQuery.

Link to comment
Share on other sites

  • 0

Разобрался с диалогом jQuery, но есть еще вопрос.

К примеру на странице есть таблица из БД. К каждой записи есть ссылка (показать описание). Каким образом можно выполнить php скрипт, который дернет информацию из БД?

Link to comment
Share on other sites

  • 0
используйте параметр в ссылке id=цифра-соответствующая-цифре-столбца-в-таблице.

используйте запрос SELECT для выборки данных из бд.

С ссылкой все понятно. Не понимаю как по щелчку мыши выполнить скрипт и отобразить результат в диалоге.

Нашел такой пример.

Там передается текст из текстового поля, а выдернуть параметр id из ссылки каким образом можно? Парсить ссылку?

Edited by sviloga
Link to comment
Share on other sites

  • 0
Там передается текст из текстового поля, а выдернуть параметр id из ссылки каким образом можно? Парсить ссылку?

нет, типа: if (isset($_GET['id'])) {тут запрос на выборку из бд}

а ссылка будет типа: http://mysite.ru/index.php?id=23

Edited by rus
Link to comment
Share on other sites

  • 0

Столкнулся с такой проблемой.

Строю таблицу и добавляю в каждом ряду кнопку просмотр. К каждой кнопке добавляю свойство id=table.id.

Через jQuery по событию клика пытаюсь считать атрибут id, но он почему то оказывается пустым. К тому же событие происходит при нажатии на любую кнопку на странице.

Как то можно установить какой либо уникальный признак для кнопки "Просмотр"? И почему $("input:button).attr("id") возвращает пустую строку?

ЗЫ: id не пустое, а выдает id самой первой кнопки на странице.

Edited by sviloga
Link to comment
Share on other sites

  • 0
я не силен в js, но в любом случае код пожалуйста в студию, а иначе вода получается.

//Select из БД
$result_sql = mysql_query($str_sql);
print "<table border=1>";
print "<tr><th>ID</th><th>Link</th></tr>";
while ($arr_result = mysql_fetch_array($result_sql))
{
print "<tr>";
print "<td>{$arr_result["id"]}</td>";
print "<td><input type=button id='{$arr_result["id"]}' value='Просмотр'></td>";
print "</tr>";
}

print "</table>";

//Обработка click()
$("input:button").click(function() {

var att = $("input:button").attr("id");

searchObj(att); //функция которая дергает скрипт поиска в БД
$("#dialog").dialog("open");
})

Событие возникает по нажатию на каждую кнопку, но id считывается только самой первой

Link to comment
Share on other sites

  • 0

1) непонятно, почему именно баттон, а не текстовая ссылка обработаная css?

2) почему:

searchObj(att); //функция которая дергает скрипт поиска в БД

?

ведь у вас задача стояла что бы по клику вывести диалоговое окно во весь экран из бд?

З.Ы. насчет js как уже сказал не особо силен, может щас придут гуру и скажут что не так и да, я бы все же чуть по другому бы сделал.

Link to comment
Share on other sites

  • 0
1) непонятно, почему именно баттон, а не текстовая ссылка обработаная css?

2) почему:

?

ведь у вас задача стояла что бы по клику вывести диалоговое окно во весь экран из бд?

З.Ы. насчет js как уже сказал не особо силен, может щас придут гуру и скажут что не так и да, я бы все же чуть по другому бы сделал.

1) Баттон как вариант, пробовал с ссылками - результат тот же;

2) По клику должно показаться окно с информацией по конкретному объекту, перед отображением необходимо эту информацию из БД дернуть (в этой процедуре происходит передача параметра id в скрипт и собственно формируется тело диалога)

Решил проблему с помощью jquery.fancybox-1.3.1

Link to comment
Share on other sites

  • 0

попробуй по этому примеру, что я привел тебе выше, вот в это место:

<div id="helper"></div>

вставить запрос к бд примерно таким образом:

ссылка: http://mysite.ru/index.php?id=23

<div id="helper">
<?php
$id = $_GET['id'];
if(isset($_GET['id']))
{
$result = mysql_query ("SELECT * FROM `table` WHERE `id` = $_GET['id']");
while ($res = mysql_fetch_array($result))
{
echo "тут вывод контента";
}
}
?>
</div>

Edited by rus
Link to comment
Share on other sites

  • 0

Почти решил. В IE7 не применяются стили. Куда комать?

попробуй по этому примеру, что я привел тебе выше, вот в это место:

<div id="helper"></div>

вставить запрос к бд примерно таким образом:

ссылка: http://mysite.ru/index.php?id=23

<div id="helper">
<?php
$id = $_GET['id'];
if(isset($_GET['id']))
{
$result = mysql_query ("SELECT * FROM `table` WHERE `id` = $_GET['id']");
while ($res = mysql_fetch_array($result))
{
echo "тут вывод контента";
}
}
?>
</div>

Я в принципе решил проблему. В ie7 не цепляются стили, не появляется кнопка Закрыть, но это можно решить сделав свою кнопку закрыть

Link to comment
Share on other sites

  • 0
Почти решил. В IE7 не применяются стили. Куда комать?

Я в принципе решил проблему. В ie7 не цепляются стили, не появляется кнопка Закрыть, но это можно решить сделав свою кнопку закрыть

я не телепат, мне трудно говорить абстрактно.

Link to comment
Share on other sites

  • 0
я не телепат, мне трудно говорить абстрактно.

Извиняюсь за косно язычие.

Подключаю файл css

<link rel="stylesheet" type="text/css" href="css/fancybox_/jquery.fancybox-1.3.1.css" media="screen" />

В FF3, Opera10 все нормально, но в IE7 от стиля работает только overlay.

Причем подключаю jquery.fancybox-1.2.4 вроде все нормально работает, но в этой версии нет поддержки iframe

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy