SQL при нажатии на кнопку

Статус
В этой теме нельзя размещать новые ответы.

Zeluboba

Новичок
Привет!

У меня таблица, где каждая строка - тикет, есть отдельная колонка с кнопками для каждого тикета (открыть/закрыть), которые привязаны к форме через html. вывод таблицы идет в while-е.
если код, по которому закрывается тикет, оставить внутри while-а, то закрываются все тикеты, если вне - то переменная $data['id'] опеределяется как ноль. как можно это реализовать?:(
 

Фанат

oncle terrible
Команда форума
Это нужно реализовать в другом скрипте.
код, по которому закрывается тикет, помещаешь в другой файл.
делаешь его экшеном формы.

дальше тренируешься отправлять форму.

но сначала надо понять, как работает РНР, и почему "внутри вайла" никогда не будет работать
что на самом деле это три разных действия, а не одно
тебе сюда: http://phpfaq.ru/na_tanke
 

Zzepish

Новичок
Фанат
Ты удалил сообщения?
Я ж вроде норм все расписал через аякс
 

Zeluboba

Новичок
Это нужно реализовать в другом скрипте.
код, по которому закрывается тикет, помещаешь в другой файл.
делаешь его экшеном формы.

дальше тренируешься отправлять форму.

но сначала надо понять, как работает РНР, и почему "внутри вайла" никогда не будет работать
что на самом деле это три разных действия, а не одно
тебе сюда: http://phpfaq.ru/na_tanke
какие три действия?:S Вы меня озадачили :(
 

Фанат

oncle terrible
Команда форума
1. РНР скрипт выполняется и выводит форму.
2. в браузере пользователь нажимает на кнопку
3. РНР скрипт выполняется и сохраняет выбор пользователя.

Никаких "SQL при нажатии на кнопку" быть в принципе не может. Об этом надо было прочитать по ссылке, которую я дал выше
 

Zeluboba

Новичок
1. РНР скрипт выполняется и выводит форму.
2. в браузере пользователь нажимает на кнопку
3. РНР скрипт выполняется и сохраняет выбор пользователя.

Никаких "SQL при нажатии на кнопку" быть в принципе не может. Об этом надо было прочитать по ссылке, которую я дал выше
кхм, прочитал.
 

Фанат

oncle terrible
Команда форума
вот теперь надо планировать свои действия, понимая, что "внутри while" никто ждать действий пользователя не будет.
и для простоты сделать обработчик формы в другом файле
 

Zeluboba

Новичок
вот теперь надо планировать свои действия, понимая, что "внутри while" никто ждать действий пользователя не будет.
и для простоты сделать обработчик формы в другом файле
подскажите, что вы считаете под обработчиком формы, если Вас это не затруднит... учиться желание есть^^
 

Фанат

oncle terrible
Команда форума
обработчик формы.
скрипт, который указан в параметре action тега form
 

Фанат

oncle terrible
Команда форума
в HTML таблице формы могут быть как на каждой строке своя, так и одна общая на всех.
проще сделать для каждой свою.
 

Фанат

oncle terrible
Команда форума
с одинаковыми name никаких проблем не будет. Именно поэтому форма на каждой строке и проще. главное, чтобы value были разные
id на сервер не передаётся, так что отношения к вопросу не имеет.
 

Zeluboba

Новичок
не понял.
это у тебя первая форма, что ли - ты до сих пор ни одну не делал?
что Вы, делал) а про action я просто забыл, позор) там URL на Php скрипт который будет выполнять действие в зависимости от Id и value формы же?
кусок кода:

PHP:
	echo '<form id="form" name="form" method="post" action="">';
	echo '<td align="center">';

	if($data['completed'] == "0") {
		echo '<button type="submit" name="ticketopen" id="ticketopen" disabled>Открыть</button><br/>';
	} else if($data['completed'] == "1") {
		echo '<button type="submit" name="ticketopen" id="ticketopen">Открыть</button><br/>';
	}

	echo '<button type="submit" name="ticketcomment" id="ticketcomment">Коммент</button><br/>';

	if($data['completed'] == "0") {
		echo '<button type="submit" name="ticketclose" id="ticketclose">Закрыть</button>';
	} else if($data['completed'] == "1") {
		echo '<button type="submit" name="ticketclose" id="ticketclose" disabled>Закрыть</button>';
	}

	echo '</td>';
	echo '</form>';
это внутри while-а, т.е. форма выводится для каждой строки, т.е. тикета) как видите, action есть, но он пустой, хех.
Я надеюсь мне не придется делать три разных action-а для открытия, закрытия и комментария, а то, куда я буду посылать юзера по action-у, в зависимости от значений будет выполнять то или иное действие.
если я нуб, простите)
 

Фанат

oncle terrible
Команда форума
во-первых, если ты говоришь о форме, то не надо здесь показывать первый шаг. форма, с которой работает пользователь - это второй шаг, и никакого пхп в ней нету. поэтому показывать надо форму, а не пхп.
во-вторых, по факту у тебя и должно быть три экшена. фактически у тебя три разных действия - что значит три разных кода.
да, их можно объединить в один файл. но в этом файле их все равно придётся их разделять.
поэтому, чтобы новичкам меньше путаться, желательно делать отдельный скрипт на каждый экшен.
потом, когда у тебя всё заработает, можно будет сделать 1 или даже оставить пустым, запилив весь код в одном файле.

но это всё мелочи.
главная проблема в том, что ты не передаёшь своими формами на сервер никакой полезной информации.
 

Фанат

oncle terrible
Команда форума
кстати, комментарий ведь - это отдельная форма, со своим экшеном.
то есть, эту кнопку надо делать методом GET, в отличие от остальных двух.
 

Zeluboba

Новичок
кстати, комментарий ведь - это отдельная форма, со своим экшеном.
то есть, эту кнопку надо делать методом GET, в отличие от остальных двух.
да, я знаю что коммент посредством GET Запроса нужно оформляь.

я и не говорю что в form-е есть PHP, хм)

мне интересно как оформить файлы с действиями, но я только догадываюсь.. проверить, задана ли переменная/введен ли текст в textare-ю посредством POST/GET(textarea же) запроса, потом узнать номер тикета, потом выполнить обработанный запрос в бд...
увы, знаний не хватает. я опять прошу прощения, если говорю глупости, мне всего 16 лет :Р
 

Фанат

oncle terrible
Команда форума
я и не говорю что в form-е есть PHP, хм)
не говоришь. ты его показываешь. а должен показывать HTML
да, я знаю что коммент посредством GET Запроса нужно оформляь.
добавление комментария должно делаться методом POST
а ссылка на страницу с формой добавления - методом GET
мне интересно как оформить файлы с действиями
ты же говорил, что это не первая твоя форма?
как-то ты раньше оформлял?

ну окей, ладно, мог забыть.
вообще, действий там немного.
во-первых, ты должен сначала передать на сервер "номер" тикета.
для этого его надо добавить в форму. в твоих бутонах не хватает параметра value с id тикета.
во-вторых, на сервере просто проверяешь, пришёл ли в массиве $_POST элемент ticketclose, и если пришёл - то выполняешь SQL запрос
 

Zeluboba

Новичок
не говоришь. ты его показываешь. а должен показывать HTML

добавление комментария должно делаться методом POST
а ссылка на страницу с формой добавления - методом GET

ты же говорил, что это не первая твоя форма?
как-то ты раньше оформлял?

ну окей, ладно, мог забыть.
вообще, действий там немного.
во-первых, ты должен сначала передать на сервер "номер" тикета.
для этого его надо добавить в форму. в твоих бутонах не хватает параметра value с id тикета.
во-вторых, на сервере просто проверяешь, пришёл ли в массиве $_POST элемент ticketclose, и если пришёл - то выполняешь SQL запрос
пусть будет первая форма?)

во-вторых, на сервере просто проверяешь, пришёл ли в массиве $_POST элемент ticketclose, и если пришёл - то выполняешь SQL запрос
это я примерно и представлял, вот у меня кусочек кода предварительного, написан для ticketcomment-а, но по сути подойдет только для close/open-а

PHP:
	if(isset($_POST['ticketcomment'])) {

		if (!empty($ticketcomment)) {

			$sql4 = mysql_query("


INSERT INTO  '.$config['mysql_table'].' (
`id` ,
`tid` ,
`user` ,
`message` ,
`timestamp`
)
VALUES (
NULL ,  '".$data['id']."',  '".$config['username']."',  '".$ticketcomment."',  '".$config['time']."'
)



") ;

			// ололо

		}
	}*/
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху