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. Djastin - 01 Мая, 2015 - 20:29:37 - перейти к сообщению
Есть три php функции в одном скрипте. Вывод осуществляется в этом же скрипте. Как сделать так, что бы можно было вызывать по одной функции за раз? Скажем, нажатием input.
2. DeepVarvar - 01 Мая, 2015 - 20:38:56 - перейти к сообщению
3. caballero - 01 Мая, 2015 - 21:08:23 - перейти к сообщению
[quote=Djastin][/quote]
как минимум начните учить PHP чтобы не задавать глупых вопросов.
4. dcc0 - 01 Мая, 2015 - 21:26:11 - перейти к сообщению
Что означает "за раз"? За один такт, вдох, вызов?
5. Djastin - 01 Мая, 2015 - 23:01:19 - перейти к сообщению
Я уже второй день гуглю-яндексю. Нихочется учить весь JavaScript и jQuery для такой простой задачи. У меня ведь нету данных, которые мне нужно передать серверу, нужно просто выполнить функции. Это же проще, чем обработка отправляемых данных. Я раньше делал запросы в MySQL с помощью хидеров. Но тут даже хидеры не помогают, так как невозможно из инпута передать не имя скрипта и имя функции. Нуж что ж, если это нельзя решить как-то просто, то придётся изучать весь AJAX.
6. exlant - 01 Мая, 2015 - 23:22:38 - перейти к сообщению
Цитата:
Скажем, нажатием input.

Цитата:
так как невозможно из инпута передать не имя скрипта и имя функции.

с какого-такого инпута? В форме много разных инпутов, если про них речь конечно! Куда передать, кому передать? Больше конкретики, больше!
Вопрос из области догадайтесь сами, что имел автор ввиду..
7. dcc0 - 01 Мая, 2015 - 23:36:28 - перейти к сообщению
Мда, адепты php, похоже, просто обязаны находить решения не имея условий задачи.

Видимо, надо нажать на кнопку submit 1 раз, получить выполнение одной функции, потом нажать на другую, получить другую функцию и т.д.

Верно я говорю?
8. Djastin - 01 Мая, 2015 - 23:36:36 - перейти к сообщению
Вот есть набор SQL запросов к БД. Результаты запросов сразу выводятся вот так:

PHP:
скопировать код в буфер обмена
  1. while ($row = mysqli_fetch_row($result))
  2. { echo "<pre>Позиция$row[0]"; }


Выводятся все запросы сразу. Я хотел сделать так, что бы можно было активировать запрос и вывод по одному (нажатием кнопки). Но, возможно ли это?
Подскажите, если кто знает, что проще, реализовать пересылку данных запроса на страницу запроса средствами PHP или без jQuery здесь не обойтись?
9. dcc0 - 01 Мая, 2015 - 23:38:42 - перейти к сообщению
Убери цикл и сделай инкремент переменной на кнопку, переменную в запрос mysql, для параметра limit.
10. exlant - 02 Мая, 2015 - 03:14:32 - перейти к сообщению
Djastin
jQuery это js фреймворк
AJAX это технология, с помощью которой можно сделать запрос к серверу, не перезагружая страничку в браузере! Ее можно осуществить простым js, а можно с помощью какого то фреймворка, например jQuery.

Код, который вы привели, обрабатывает какой то один запрос к базе, и циклом выводит какие то записи из бд! Что вы имеете ввиду под "Результаты запросов" если у вас всего один запрос???

скорей ТС просто не понимает, как передать значение из формы php обработчику, все очень просто:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form name="form1" action="" method="post">
  3.     <input type="submit" value="form1">
  4.     <input type="hidden" name="func_name" value="func1">
  5. </form>
  6. <form name="form2" action="" method="post">
  7.     <input type="submit" value="form2">
  8.     <input type="hidden" name="func_name" value="func2">
  9. </form>
  10.  

в том же файле
PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_POST['func_name'])){
  3.     $func_name = $_POST['func_name'];
  4.     echo $func_name;
  5. }
  6.  

В общем какой вопрос, такой ответ!
11. Djastin - 02 Мая, 2015 - 12:50:26 - перейти к сообщению
exlant Что значит передать значение? Мне нужно из формы просто активировать выполнение функции. Форма и функция могут быть в одном скрипте? Я уже это раньше пробовал. Не работало. Думал, может неверно задаю синтаксис активации для функции из кнопки. Попробовал в точности по вашему пример. Не работает.

Думаю нужно помещать функции и формы в отдельные фреймворки. Ну, что бы они были вроде как на одной страничке но одновременно в разных. Не знаю, насколько это сложная процедура. Можно ли фреймворки задать простыми какими-нибудь тегами или атрибутами...?
(Добавление)
dcc0 пишет:
Убери цикл и сделай инкремент переменной на кнопку, переменную в запрос mysql, для параметра limit.

Так инкремент в переменной же не запустит весь цикл. Одну строку можно будет получать тогда одним нажатием кнопки?
12. DelphinPRO - 02 Мая, 2015 - 13:43:55 - перейти к сообщению
Djastin пишет:
Думаю нужно помещать функции и формы в отдельные фреймворки.

чего??? O_o

Вы простыми человеческими словами объясните задачу. Без попытки использования терминологии программистов (у вас это совершенно не получается =) ). Думаю, отвечающим будет легче вас понять.
13. dcc0 - 02 Мая, 2015 - 13:49:23 - перейти к сообщению
Цитата:
Выводятся все запросы сразу. Я хотел сделать так, что бы можно было активировать запрос и вывод по одному (нажатием кнопки).


Правильно ли мы понимаем, что по нажатию кнопки нужно вывести одну запись? Нажать еще раз - вывести другую. Нажать еще - вывести третью?
И только одну запись.
Если так, то цикл не нужен.
14. Djastin - 02 Мая, 2015 - 14:26:40 - перейти к сообщению
DelphinPRO как же на форуме программистов обходится без терминологии программистов? Улыбка dcc0

dcc0 в том то и дело что по нажатию одной кнопки мне нужно вывести целый ряд результатов запросов:

function a {
Запрос 1
Вывод

Запрос 2
Вывод
}

function b {
Запрос 1
Вывод

Запрос 2
Вывод
}

Одним сложным запросом на вывод послать нельзя так как перед каждым циклом идёт печать заголовка вывода.


PHP:
скопировать код в буфер обмена
  1. echo "<pre>Категория 1";
  2. echo "<pre>Категория 2";
  3.  
  4. $query ="SELECT name FROM position WHERE  type=1 AND category>1";
  5. $result = mysqli_query($link, $query) or die("Ошибка" . mysqli_error($link));
  6. while ($row = mysqli_fetch_row($result))
  7. { echo "<pre>Позиция $row[0]"; }

(Добавление)
Вот тут разбирал пример
http://javascript[dot]ru/forum/showt[dot][dot][dot]ead.php?p=322202

Там вроде как поток вывода перенаправляется в форму вывода всего лишь двумя тэгами:
echo "<div>".$sql['p_title']."</div>";
15. dcc0 - 02 Мая, 2015 - 15:10:55 - перейти к сообщению
Цитата:
том то и дело что по нажатию одной кнопки мне нужно вывести целый ряд результатов запросов:

Ладно, тогда не надо удалять цикл, если вывод из одной таблицы, то добавить записи из других категорий - столбцов.

PHP:
скопировать код в буфер обмена
  1. while ($row = mysqli_fetch_row($result))
  2. { echo "<pre>Позиция $row[position1]
  3. $row[position2]
  4. $row[position3]
  5. $row[position4]";
  6. }


С терминологией надо разобраться - понять, что есть база данных, таблица, столбцы в таблице. Для этого надо зайти в phpmyadmin и хорошенько изучить устройство типовой таблицы.

 

Powered by ExBB FM 1.0 RC1