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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вызов функций

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Как передать input имя функции?
Djastin
Отправлено: 01 Мая, 2015 - 20:29:37
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




Есть три php функции в одном скрипте. Вывод осуществляется в этом же скрипте. Как сделать так, что бы можно было вызывать по одной функции за раз? Скажем, нажатием input.
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Мая, 2015 - 20:38:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




 
 Top
caballero
Отправлено: 01 Мая, 2015 - 21:08:23
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




[quote=Djastin][/quote]
как минимум начните учить PHP чтобы не задавать глупых вопросов.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
dcc0
Отправлено: 01 Мая, 2015 - 21:26:11
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Что означает "за раз"? За один такт, вдох, вызов?

(Отредактировано автором: 01 Мая, 2015 - 21:26:28)



-----
Март 2021. Бросил программирование
 
 Top
Djastin
Отправлено: 01 Мая, 2015 - 23:01:19
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




Я уже второй день гуглю-яндексю. Нихочется учить весь JavaScript и jQuery для такой простой задачи. У меня ведь нету данных, которые мне нужно передать серверу, нужно просто выполнить функции. Это же проще, чем обработка отправляемых данных. Я раньше делал запросы в MySQL с помощью хидеров. Но тут даже хидеры не помогают, так как невозможно из инпута передать не имя скрипта и имя функции. Нуж что ж, если это нельзя решить как-то просто, то придётся изучать весь AJAX.

(Отредактировано автором: 01 Мая, 2015 - 23:16:58)

 
 Top
exlant
Отправлено: 01 Мая, 2015 - 23:22:38
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




Цитата:
Скажем, нажатием input.

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

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


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Мда, адепты php, похоже, просто обязаны находить решения не имея условий задачи.

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

Верно я говорю?


-----
Март 2021. Бросил программирование
 
 Top
Djastin
Отправлено: 01 Мая, 2015 - 23:36:36
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




Вот есть набор SQL запросов к БД. Результаты запросов сразу выводятся вот так:

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


Выводятся все запросы сразу. Я хотел сделать так, что бы можно было активировать запрос и вывод по одному (нажатием кнопки). Но, возможно ли это?
Подскажите, если кто знает, что проще, реализовать пересылку данных запроса на страницу запроса средствами PHP или без jQuery здесь не обойтись?
 
 Top
dcc0
Отправлено: 01 Мая, 2015 - 23:38:42
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Убери цикл и сделай инкремент переменной на кнопку, переменную в запрос mysql, для параметра limit.


-----
Март 2021. Бросил программирование
 
 Top
exlant
Отправлено: 02 Мая, 2015 - 03:14:32
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




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.  

В общем какой вопрос, такой ответ!
 
 Top
Djastin
Отправлено: 02 Мая, 2015 - 12:50:26
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




exlant Что значит передать значение? Мне нужно из формы просто активировать выполнение функции. Форма и функция могут быть в одном скрипте? Я уже это раньше пробовал. Не работало. Думал, может неверно задаю синтаксис активации для функции из кнопки. Попробовал в точности по вашему пример. Не работает.

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

Так инкремент в переменной же не запустит весь цикл. Одну строку можно будет получать тогда одним нажатием кнопки?

(Отредактировано автором: 02 Мая, 2015 - 12:51:01)

 
 Top
DelphinPRO
Отправлено: 02 Мая, 2015 - 13:43:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Djastin пишет:
Думаю нужно помещать функции и формы в отдельные фреймворки.

чего??? O_o

Вы простыми человеческими словами объясните задачу. Без попытки использования терминологии программистов (у вас это совершенно не получается =) ). Думаю, отвечающим будет легче вас понять.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
dcc0
Отправлено: 02 Мая, 2015 - 13:49:23
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Цитата:
Выводятся все запросы сразу. Я хотел сделать так, что бы можно было активировать запрос и вывод по одному (нажатием кнопки).


Правильно ли мы понимаем, что по нажатию кнопки нужно вывести одну запись? Нажать еще раз - вывести другую. Нажать еще - вывести третью?
И только одну запись.
Если так, то цикл не нужен.


-----
Март 2021. Бросил программирование
 
 Top
Djastin
Отправлено: 02 Мая, 2015 - 14:26:40
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




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>";
 
 Top
dcc0
Отправлено: 02 Мая, 2015 - 15:10:55
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




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

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

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


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

(Отредактировано автором: 02 Мая, 2015 - 15:13:11)



-----
Март 2021. Бросил программирование
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB