[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выполнение скрипта без перехода в фаил со скриптом
DenisovVSh
Как передать значение формы в фаил со скриптом и выполнить его оставаясь на первой странице?
Суть такова: есть файл index.html к нему подключаются файлы(при помощи SSI) .рнр со скриптами, которые работают с базой и выводят результаты запросов.
Вот текст index.html
<div class="head">
<!--Подключаем меню-->
<!--#include virtual="./blocks/menu.php" -->

</div>
<div
class="list_content">
<div
class="list">
<!--Подключаем меню с именами художников -->
<!--#include virtual="./blocks/list_name.php" -->

</div>
<div
class="content">
<!--Подключаем контент-->
<!--#include virtual="./blocks/content.php" -->

</div>
</div>


Скрипт еще не отлажен! Это навигация по списку художников

<?php
include '../blocks/connect_db.php';
if(!empty($_POST['limit_back'])){$limit_back = $_POST['limit_back'];}
else {$limit_back = 0;}
if(!empty($_POST['limit_next'])){$limit_next = $_POST['limit_next'];}
else {$limit_next = 0;}
if(!empty($_POST['limit_old'])){$limit_old = $_POST['limit_old'];}
$result = mysql_query("SELECT id FROM users", $db);
$myrow = mysql_fetch_array($result);
$navig_min = $myrow["id"];
$navig_max = mysql_num_rows($result);
if(isset ($limit_back)){$limit = $limit_old - 24;} else {$limit = 0;}
if(isset ($limit_next)){$limit = $limit_old + 24;} else {$limit = 0;}

print $limit_back."<br />".$limit_next;
print "
<form action='' method='post' name='form'>
<input name='limit_old' type='hidden' value='"
.$limit."'>
<input name='limit_back' type='hidden' value='24'>
<input type='submit' name='submit' id='submit' value='OK'>
</form>"
;
$result = mysql_query("SELECT id, name FROM users order by name limit $limit, 24", $db);
while($myrow = mysql_fetch_array($result))
{
$id = $myrow['id'];
$summ_picture = mysql_query("SELECT id_user FROM picture where id_user = '$id'", $db);
$summ = mysql_num_rows($summ_picture);
printf("
<a href='./index.html' class='list_name'>%s<font class='summ_projects'>  (%s)</font></a>
"
, $myrow['name'], $summ);}
print "
<form action='' method='post' name='form'>
<input name='limit_old' type='hidden' value='"
.$limit."'>
<input name='limit_next' type='hidden' value='24'>
<input type='submit' name='submit' id='submit' value='OK'>
</form>"
;
?>





Спустя 47 минут, 5 секунд (5.03.2011 - 12:47) vagrand написал(а):
Ajax вам поможет

Спустя 6 минут, 30 секунд (5.03.2011 - 12:53) DenisovVSh написал(а):
vagrand
а при помощи рнр это можно реализовать?

Спустя 37 минут, 37 секунд (5.03.2011 - 13:31) Renden написал(а):
DenisovVSh
Если адрес страницы меняться не должен то на пхп ни как.
Ну а если можно менять то можно собственно твой срипт сделать например функцией (допустим run), и вызывать её в коде если допустим нажали ссылку <a href="index.php?run">Go</a>
а так index.php?run

//твой хтмл код
//...
//Место где ты хочешь выполнить скрипт

if (isset($_GET['run'])) {
echo run();
}


в идеале конечно ajax рулит=)

Спустя 21 час, 5 минут, 42 секунды (6.03.2011 - 10:37) vagrand написал(а):
Цитата
а при помощи рнр это можно реализовать?


AJAX это всего лишь технология для отправки запроса на сервер без перезагрузки страницы браузера (что Вам и нужно). А на каком серверном языке Вы обработаете этот запрос дело уже Ваше.
В дополнение хочу сказать что для php скрипта совершенно нет никакой разницы как его запросили - при помощи перезагрузки браузера или при помощи ajax.

Спустя 2 дня, 21 час, 28 секунд (9.03.2011 - 07:37) DenisovVSh написал(а):
Цитата (vagrand @ 6.03.2011 - 08:37)
AJAX это всего лишь технология для отправки запроса на сервер без перезагрузки страницы браузера (что Вам и нужно).

vagrand
А можно как то по подробнее(какой нить пример или ссылку), я просто не работал с AJAX

Спустя 2 часа, 40 минут, 5 секунд (9.03.2011 - 10:17) Renden написал(а):
DenisovVSh
Смотри всторону jquery form в инете полно манов.

Спустя 59 минут, 9 секунд (9.03.2011 - 11:16) gaserge написал(а):
на jQuery и php примерно так это будет выглядеть:


function doSome( info, id ) {
ShowLoading(''); // здесь можно запустить функцию которая запускается во время отправки (например - подождите, загрузка)

// здесь запускаем нужный пхп скрипт без перезагрузки страницы - по сути формируется обычный $_GET запрос, здесь: ?go_info=строка1&go_id=строка2

$.get("obrabotchik.php", { go_info: info, go_id: id }, function(data){

HideLoading(''); // прячем (подождите загрузка)

$("#news" + id).html(data); // сюда возращаем результат работы скрипта

});
};


в пхп скрипте ловим результат вот так:
$info = $_REQUEST['go_info'];
$id = $_REQUEST['go_id'];



в штмл так:
<input type="submit" onclick="doSome(); return false;" value="Отправить">
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.