[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: обработка нажатий на submit кнопке
CyberOrcX
ребят, в общем нужно, чтобы одно нажатие на кнопке вызывало сортировку по ID по возрастанию, а еще нажатие сортировку по ID наоборот....

<input type='submit' value='ID' name='sortByID'>



Спустя 3 минуты, 5 секунд (29.07.2010 - 21:04) Lenarfate написал(а):
а какие данные сортируются?откуда,файлы или mysql?

Спустя 1 минута, 36 секунд (29.07.2010 - 21:05) CyberOrcX написал(а):
mysql

Спустя 2 минуты, 35 секунд (29.07.2010 - 21:08) CyberOrcX написал(а):
я знаю, что нужно sql запрос такой делает, если по возрастанию
SELECT * FROM table_name ORDER BY id ASC
и в обратном
SELECT * FROM table_name ORDER BY id DESC

Спустя 3 минуты, 37 секунд (29.07.2010 - 21:11) Lenarfate написал(а):
ну и все.


if($_POST['sortByID'])
{
//тут запрос
}

Спустя 3 минуты, 58 секунд (29.07.2010 - 21:15) CyberOrcX написал(а):
<?php  
//переменные для передачи
$User_NickName = $_POST['User_NickName'];
$User_Creativity2 = $_POST['User_Creativity2'];
$linkToFile = $_POST['linkToFile'];
$UserFileExt = $_POST['UserFileExt'];

//кнопка "Отфильтровать"
$doFilter = $_POST['doFilter'];

//кнопки для добавления, удаления и сохранения изменений
$addBtn = $_POST['addBtn'];
$deleteBtn = $_POST['deleteBtn'];
$saveBtn = $_POST['saveBtn'];

//сортировки
$sortByID = $_POST['sortByID'];
$sortByNickName = $_POST['sortByNickName'];
$sortByCreativity = $_POST['sortByCreativity'];
$sortByFileExtension = $_POST['sortByFileExtension'];

//изначально никакая кнопка сортировки не нажата
Global $sortByIDwasClicked;

Global $show_query;


//если была нажата кнопка "+", то добавить запись в бд
if (isset($addBtn))
{
if (isset($User_NickName) && isset($User_Creativity2) && isset($linkToFile) &&
isset($UserFileExt))
{
mysql_connect('localhost', 'root', '');
mysql_select_db('dbUsers');

$addQuery = "INSERT INTO partFiles (partNickName, partCreativity, partLinkToFile, partFileExt)
VALUES('
$User_NickName', '$User_Creativity2', '$linkToFile', '$UserFileExt')";
mysql_query($addQuery);

mysql_close();
}
}


if (isset($sortByID))
{
mysql_connect('localhost', 'root', '');
mysql_select_db('dbUsers');

$show_query = "SELECT * FROM partFiles ORDER BY partFileID DESC";

mysql_close();
}

echo "<center>
<form action='partFiles.php' method='POST'>
<table cellspacing='0' cellPadding='5' width='500' height='200'>
<tr>
<!-- Пробел над кнопками -->
<td colspan='2'>
 
</td>

<!-- Пробел -->
<td width='5' height='30'>
 
</td>

<!-- Поле ввода 'Ник-нейм' -->
<td width='70' height='30' align='center'>
Ник-нейм
</td>

<!-- Метка 'Вид творчества' -->
<td width='100' height='30' align='center'>
Вид творчества
</td>

<!-- Метка 'Ссылка на файл' -->
<td width='70' height='30' align='center'>
Ссылка на файл
</td>

<!-- Метка 'Расширение файла' -->
<td width='70' height='30' align='center'>
Расширение файла
</td>

<!-- Пустота, над кнопкой Отфильтровать -->
<td width='100' height='30'>
 
</td>
</tr>

<tr>
<!-- Кнопка 'X', т.е. удалить -->
<td width='30' height='30'>
<input type='submit' value='X' name='deleteBtn'>
</td>

<!-- Кнопка '+', т.е. добавить -->
<td width='30' height='30'>
<input type='submit' value='+' name='addBtn'>
</td>

<!-- Пробел -->
<td width='30' height='30'>
 
</td>

<!-- Поле ввода 'Ник-нейм' -->
<td width='70' height='30' align='left'>
<input type='text' value='Ник_нейм' size='15' name='User_NickName'>
</td>

<!-- Список 'Вид творчества' -->
<td width='100' height='30'>
<select size='1' name='User_Creativity2'>
<option value='Танцоры' select>Танцоры</option>
<option value='Художники'>Художники</option>
<option value='Музыканты'>Музыканты</option>
<option value='Композиторы, исполнители'>Композиторы, исполнители</option>
<option value='Поэты, писатели'>Поэты, писатели</option>
<option value='Диджеи, MC'>Диджеи, MC</option>
</select>
</td>

<!-- Поле ввода 'Ссылка на файл', нужно будет поменять kartinka.jpg -->
<td width='70' height='30'>
<input type='text' value='zvezda-nn.ru/kartinka.jpg' size='18' name='linkToFile'>
</td>

<!-- Список 'Расширение файла' -->
<td width='70' height='30'>
<select size='1' name='UserFileExt'>
<option value='jpg' select>jpg</option>
<option value='gif'>gif</option>
<option value='mp3'>mp3</option>
<option value='wav'>wav</option>
<option value='wma'>wma</option>
<option value='doc'>doc</option>
<option value='txt'>txt</option>
<option value='swf'>swf</option>
<option value='flv'>flv</option>
<option value='avi'>avi</option>
<option value='mpg'>mpg</option>
<option value='mov'>mov</option>
</select>
</td>

<!-- Кнопка 'Отфильтровать' -->
<td width='100' height='30'>
<input type='button' value='Отфильтровать' size='23' name='doFilter'>
</td>
</tr>

<!-- Горизонтальная линия -->
<tr>
<td colspan='7' height='1'>
<hr width='670' height='1' align='left'>
</td>
</tr>

<!-- За горизонтальной линией -->
<tr>
<!-- Пробел под кнопками -->
<td colspan='2'>
 
</td>

<!-- Метка '№' файла -->
<td width='5' height='30' align='center'>
<input type='submit' value='№' name='sortByID'>
</td>

<!-- Поле ввода 'Ник-нейм' -->
<td width='70' height='30' align='center'>
<input type='submit' value='Ник-нейм' name='sortByNickName'>
</td>

<!-- Метка 'Вид творчества' -->
<td width='100' height='30' align='center'>
<input type='submit' value='Вид творчества' name='sortByCreativity'>
</td>

<!-- Метка 'Ссылка на файл' -->
<td width='70' height='30' align='center'>
Ссылка на файл
</td>

<!-- Метка 'Расширение файла' -->
<td width='70' height='30' align='center'>
<input type='submit' value='Расширение файла' name='sorByFileExtension'>
</td>

<!-- Пустота, над кнопкой Отфильтровать -->
<td width='100' height='30'>
 
</td>
</tr>"
;

mysql_connect('localhost', 'root', '');
mysql_select_db('dbUsers');

$show_query = "SELECT * FROM partFiles ORDER BY partFileID DESC";

$sql_show_query = $show_query;
$Qresult = mysql_query($sql_show_query);

while ($row = mysql_fetch_assoc($Qresult))
{
echo "<tr>";
//Кнопка "Сохранить" изменения
echo "<td width='50' height='30' align='center'>
<input type='submit' value='Сохр.' name='saveBtn'>
</td>"
;

//CheckBox "Выбрать для действия"
echo "<td width='20' height='30' align='center'>
<input type='checkbox' name='checkBoxAction[]'> 
</td>"
;

//Поле ввода №
echo "<td width='5' height='30' align='center'>
<input type='text' value='"
.$row['partFileID']."' size='5' name='User_ID'>
</td>"
;

//поле ввода "Ник-нейм"
echo "<td width='70' height='30' align='center'>
<input type='text' value='"
.$row['partNickName']."' size='15' name='userNickName'>
</td>"
;

//поле ввода "Вид творчества"
echo "<td width='100' height='30' align='left'>
<input type='text' value='"
.$row['partCreativity']."' size='22' name='userCreativity'>
</td>"
;

//Поле ввода "Ссылка на файл"
echo "<td width='70' height='30' align='left'>
<input type='text' value='"
.$row['partLinkToFile'].". size='15' name='userLinkToFile'>
</td>"
;

//Поле ввода "Расширение файла"
echo "<td width='70' height='30' align='center'>
<input type='text' value='"
.$row['partFileExt']."' size='10' name='userFileExt'>
</td>"
;
echo "</tr>";
echo "<tr>";
echo "<td colspan='7' height='1'>
<hr align='left' color='#f0f0f0'>
</td>"
;
echo "</tr>";
}

mysql_free_result($Qresult);

mysql_close();

echo " </table>
</form>
</center>"
;
?>

Спустя 1 минута, 44 секунды (29.07.2010 - 21:17) Lenarfate написал(а):
засунь в форматтер код, не читаемо

Спустя 32 секунды (29.07.2010 - 21:18) CyberOrcX написал(а):
нужно сортировать, если я нажимаю на кнопку №, которая в коде находится после <!-- За горизонтальной линией -->

а направление сортировки указывается DESC, если нажал на кнопку, потом если нажал, то уже ASC, а потом обратно DESC

Спустя 7 минут, 20 секунд (29.07.2010 - 21:25) Lenarfate написал(а):
могу предложить сделать не кнопкой, а селектом

Спустя 19 минут, 40 секунд (29.07.2010 - 21:45) CyberOrcX написал(а):
в смысле? попробуй свой код вставь ...

Спустя 2 минуты, 33 секунды (29.07.2010 - 21:47) Lenarfate написал(а):
какой свой код?ты же пишешь. сделай типа

<select name="sortByID">
<option
value="desc">desc</option>
<option
value="asc">asc</option>
</select>



и танцуй от этого.так точно будет работать

Спустя 29 секунд (29.07.2010 - 21:48) Ice написал(а):
Всмысле вставь? Не вставляется? А чего такие портянки километровые пихать-ТА?

Спустя 29 секунд (29.07.2010 - 21:48) Lenarfate написал(а):
для пущей радости можешь аякс добавить, чтоб сортировка менялась без перезагрузки страницы

Спустя 6 минут, 51 секунда (29.07.2010 - 21:55) CyberOrcX написал(а):
селект не поможет...
мне нужно точно таким образом..
слово заказчика, а заказчик всегда прав...

Спустя 2 минуты, 55 секунд (29.07.2010 - 21:58) Lenarfate написал(а):
тогда делай гипперссылку, завуалируй под кнопку. и при нажатии меняй ее href. а от получаемых параметров уже меняй сортировку.
фантазия тут нужна smile.gif

Спустя 10 минут (29.07.2010 - 22:08) CyberOrcX написал(а):
блин, кошмар, не получается, пример пожалуйста.. очень прошу...

Спустя 7 минут, 20 секунд (29.07.2010 - 22:15) Lenarfate написал(а):
это долго, думай сам. принцип объяснил

Спустя 1 час, 5 минут, 19 секунд (29.07.2010 - 23:21) sergeiss написал(а):
"Я фигею, дорогая редакция".... wink.gif Такой простой вопрос - и столько много разных мнений, вплоть до аякса...

А проще не пробовали? При первом заходе на страницу создаем скрытый (hidden) инпут с величиной DESC. После нажатия сабмита смотрим, что там сидит, в этом инпуте. Естественно, что переход должен быть на эту же страницу!
Используем параметр для сортировки данных. При создании следующего экземпляра страницы записываем в этот же параметр ASC.
А далее цикл повторяется. Т.е. жмем на сабмит, выполняем сортировку, опять меняем величину, только уже на DESC и т.д.

Спустя 1 минута, 24 секунды (29.07.2010 - 23:22) Lenarfate написал(а):
блин была мысля по поводу hidden но почему то не озвучил))

Спустя 13 часов, 49 минут, 11 секунд (30.07.2010 - 13:11) CyberOrcX написал(а):
if (isset($sortByID))
{
mysql_connect('localhost', 'root', '');
mysql_select_db('dbUsers');

$show_query = "SELECT * FROM partFiles ORDER BY partFileID ".$sortingByID;

if ($sortingByID == "ASC")
$sortingByID = "DESC";

if ($sortingByID == "DESC")
$sortingByID == "ASC";

mysql_close();
}


<input type='submit' value='№' name='sortByID'>
<input
type='hidden' value='ASC' name='sortingByID'>

Спустя 3 часа, 3 минуты, 18 секунд (30.07.2010 - 16:14) CyberOrcX написал(а):
народ, ну вы где?

Спустя 53 секунды (30.07.2010 - 16:15) Lenarfate написал(а):
??

Спустя 3 дня, 23 часа, 35 минут, 37 секунд (4.08.2010 - 15:51) CyberOrcX написал(а):
не работает код короче

Спустя 6 минут, 13 секунд (4.08.2010 - 15:57) CyberOrcX написал(а):
вот он код...
пожалуйста объясните что у меня тут не работает....
и как все это исправить?
очень прошу... пожалуйста....

Спустя 4 дня, 2 часа, 4 минуты, 24 секунды (8.08.2010 - 18:02) CyberOrcX написал(а):
ладно, забейте на все это...

Спустя 13 часов, 57 минут, 8 секунд (9.08.2010 - 07:59) neversmile написал(а):
мб не проффесионально, но работает)

<?php

require 'connect.php';

$sort = $_GET['sort'];

if($sort == ''){
echo "<a href='?sort=asc'>ID</a><br>";
$result3 = mysql_query("SELECT * FROM contact");
while($row3 = mysql_fetch_array($result3)){
echo $row3['id'];
echo "<br>";
}
}



if($sort == 'asc'){
echo "<a href='?sort=desc'>ID</a><br>";
$result = mysql_query("SELECT * FROM contact ORDER BY id ASC");
while($row = mysql_fetch_array($result)){
echo $row['id'];
echo "<br>";
}
}


if($sort == 'desc'){
echo "<a href='?sort=asc'>ID</a><br>";
$result2 = mysql_query("SELECT * FROM contact ORDER BY id DESC");
while($row2 = mysql_fetch_array($result2)){
echo $row2['id'];
echo "<br>";
}
}



?>

Спустя 7 часов, 33 минуты, 59 секунд (9.08.2010 - 15:33) CyberOrcX написал(а):
да, работает....
буду вылизывать...

Спустя 3 минуты, 13 секунд (9.08.2010 - 15:36) neversmile написал(а):
if($sort == 'asc'){
echo "<a href='?sort=desc'>ID</a><br>";
$result = mysql_query("SELECT * FROM contact ORDER BY id ASC");

}

if($sort == 'desc'){
echo "<a href='?sort=asc'>ID</a><br>";
$result = mysql_query("SELECT * FROM contact ORDER BY id DESC");

}
while($row = mysql_fetch_array($result)){
echo $row['id'];
echo " ";
echo $row['topic'];
echo "<br>";
}


сокращенный вариант

Спустя 3 минуты, 16 секунд (9.08.2010 - 15:39) CyberOrcX написал(а):
а ты мой код посмотрел?... там невозможно это интегрировать...

Спустя 2 минуты, 25 секунд (9.08.2010 - 15:42) neversmile написал(а):
Зачем мне твой код...я сделал это для себя, увидел тему и решил предложить свой вариант тебе...
Быстрый ответ:

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