19:18

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
[ok]

Здравствуйте.
Заранее извиняюсь, если вопрос идиотский и грубый (скорее всего так и есть).

Можно ли на php сделать обработку событий типа onclick и т.д.?
Если нельзя, то как передать данные из js в php-функцию, которая находится в том же файле и запустить её?

Проще говоря:
1) Есть php-файл, который содержит набор функций и генерацию html.
2) При открытии странички, производится запрос к бд и генерируется select со списком, допустим, пользователей.
3) Пользователь кликает по имени какого-нибудь пользователя.
4) На этот самый onclick нужно считать значение select'а (value которое) и передать его функции, которая описана в том же файле. Ну и соответственно запустить её на выполнение.

Я вижу 2 пути:
1) каким-то образом сделать обработку событий на php (что вроде как некорректно, ибо он на сервере и работает вроде только при первом считывании).
2) сделать обработку на js и из него передавать данные php-функции (что тоже не знаю как сделать).

Вопрос, можно ли это как-то решить, или всё же придётся крутиться с аяксом?

Комментарии
06.04.2012 в 19:27

Аккаунт для использования в публичных местах. Основной ник - Trotil.
PHP должен в цикле генерировать html код следующего содержания:

<div onclick="f('Name1')">Name1</div><br>
<div onclick="f('Name2')">Name2</div><br>
<div onclick="f('Name3')">Name3</div><br>

То есть как-то так:

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("<div onclick="f('%s')">%s</div><br>", $row[0], $row[0]);
}

Не, стоп. Неправильно понял задачу.
06.04.2012 в 19:29

fire-dragon
все делаеть тупо в лоб:

1 обращение формирует несколько ссылок

<a href="do.php?id=5&action=delete">Delete user5</a>
<a href="do.php?id=6&action=delete"; >Delete user6</a>
<a href="do.php?id=7&action=delete"; >Delete user7</a>
<a href="do.php?id=8&action=delete"; >Delete user8</a>

При загрузке вы проверяете нет ли параметра id и action если есть что то делаете, если нет то просто выводите этот список

www.php.ru/manual/reserved.variables.get.html
06.04.2012 в 19:54

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
fire-dragon, Спасибо. Попробую.
06.04.2012 в 21:04

The day that you stop running is the day that you arrive.
PHP - исполняется на сервере, отдаётся пользователю только то, что вы решили вывести. Браузер пользователя видит только текст(HTML), который вы отдаете, и ничего не знает про код, который исполняется в PHP.
JS - исполняется у пользователя.

В рамках одной инстанции одного скрипта им не сойтись никогда.

из PHP в JS можно передать переменную, сгенерировав и JS, и его переменную прямо из PHP.

Так что просто в файле пишете:
if (!empty($_GET['myvar']))
{
//передали данные - нажали на кнопку или ещё что, в общем, вызвали GET /sсriрt.php?myvar=1
}
else
{

//не передали данные - можем написать список пользователей со ссылками на них вида <a href=/sсriрt.php?myvar=1>пользователь #1</a>

}

т.е. проверили, передана ли через GET переменная - вывели тот или иной кусок кода
06.04.2012 в 21:07

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Ясно. Всем спасибо.