Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30

Вопрос по PHP

26.04.2011, 18:49. Показов 1109. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть Таблица состоит из 5 столбцов и допустим 10-15 строк. Верхняя строка - это заголовки столбцов,
при клике на которые таблица должна сортироваться по значениям данной колонки.

Не знаю как сделать по клику чтобы сортировалась. (с самой сортировкой без клика проблем нет)
Помогите.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.04.2011, 18:49
Ответы с готовыми решениями:

Вопрос о безопасности такого включения PHP -JS-PHP
Собственно, вопрос о безопасности такого включения. Есть страница с расширением php. В ней в хеаде небольшой js, а внутри него -...

вопрос. страницы вида page1.php?1111, page1.php?22
скажите плз, уважаемые ... поисковики рассматирвают нижепреведённые страницы как разные или же как одну и ту же (в результате...

Вопрос по php
Ребят, только начал изучать пхп и возник маленький вопрос. Как правильнее будет написать head в коде пхп? Без использования echo...

18
 Аватар для amarox
9 / 8 / 0
Регистрация: 03.04.2011
Сообщений: 48
26.04.2011, 19:19
javascript в помощь.
<td onclick="proc1()">
а в proc1 делаете что нужно
надеюсь я задал правильный путь а дальше гугл в помощь вариантов масса
1
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30
26.04.2011, 20:02  [ТС]
Спасибо... А без ява скрипта только на php можно сделать?
0
 Аватар для amarox
9 / 8 / 0
Регистрация: 03.04.2011
Сообщений: 48
26.04.2011, 20:07
насколько я знаю нельзя...
0
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30
26.04.2011, 20:25  [ТС]
я только не знаю совсем ява скрипт((( Там же надо в теги его брать <script атрибут имя языка> а тут код </script>
У меня проблема в том, что я печатаю саму таблицу через пхп... А в пхп коде нельзя скрипт подключать(( вот посмотри:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Сортировка</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<script language="javascript">
<pre>
<?php

$mas["id"]=array("1"=>"12","2"=>"1","3"=>"9","4"=> "3","5"=>"2");
$mas["Дата заказа"]=array("1"=>"13.01.2010","2"=>"6.06.1989 ","3"=>"27.07.1964","4"=>"12.06.1989","5 "=>"21.02.1988");
$mas["Время"]=array("1"=>"13:00","2"=>"16:00","3"=>"8 :00","4"=>"12:00","5"=>"1:00");
$mas["Состояние"]=array("1"=>"Выполнен","2"=>"Отложен","3 "=>"Ожидает","4"=>"Отменен","5"=>"Отложе н");
$mas["Значение"]=array("1"=>"45","2"=>"12","3"=>"87","4" =>"4","5"=>"45");

echo "<table width=1000 border=1>";
echo "<tr>";

echo "<td>";
echo "id";
echo "</td>";

echo "<td>";
echo "Дата заказа";
echo "</td>";

echo "<td>";
echo "Состояние";
echo "</td>";

echo "<td>";
echo "Время";
echo "</td>";

echo "<td>";
echo "Значение";
echo "</td>";
</script>
echo "</tr>";
echo "<tr>";

echo "<td>";
for ($i=1;$i<6;$i++)
echo "".$mas["id"]["$i"]."<br>";
echo "</td>";

echo "<td>";
for ($i=1;$i<6;$i++)
echo "".$mas["Дата заказа"]["$i"]."<br>";
echo "</td>";

echo "<td>";
for ($i=1;$i<6;$i++)
echo "".$mas["Время"]["$i"]."<br>";
echo "</td>";

echo "<td>";
for ($i=1;$i<6;$i++)
echo "".$mas["Состояние"]["$i"]."<br>";
echo "</td>";

echo "<td>";
for ($i=1;$i<6;$i++)
echo "".$mas["Значение"]["$i"]."<br>";
echo "</td>";
echo "</tr>";

echo "</table>";
?>
</pre>

</body>
</html>
0
 Аватар для amarox
9 / 8 / 0
Регистрация: 03.04.2011
Сообщений: 48
26.04.2011, 21:16
ну почему же нельзя

прерывай пхп код ?> где тебе нужно и вставляй туда обычные html теги в том числе и эвентовые функции про которые я выше писал а потом снова начинай пхп код <?

не вижу проблемы никакой

а сам ява скрипт удобнее записать в отдельный файл например script.js а в html просто добавить сверху строчку
HTML5
1
<script type="text/javascript" src="script.js"></script>
добавлять надо в секции head
0
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30
26.04.2011, 21:26  [ТС]
А то что в другом коде скрипт лучше. Это то понятно)))

покажи в моем коде плиз который скинул... как реализовать это клик... Просто постоянно ошибки. как то не так пишу, чтоли
0
 Аватар для amarox
9 / 8 / 0
Регистрация: 03.04.2011
Сообщений: 48
26.04.2011, 21:35
ну я так понял что клик нужен вот здесь

PHP
1
2
3
echo "<td>";
echo "Дата заказа";
echo "</td>";
тогда это реализовать можно вот так

PHP
1
2
3
?>
<td onclick="func_click();">Дата заказа</td>
<?
0
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30
26.04.2011, 22:13  [ТС]
Нельзя в скобках <? ?> пхп кода указывать просто нтмл теги... Мне кажется ты ошибся
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
26.04.2011, 22:34
Что бы велосипед не изобретать на яваскрипте, можно использовать jquery и плугин к нему tablesorter... это во первых.
А во вторых с какого перепуга нельзя сортировать с помощью php?
0
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30
26.04.2011, 22:48  [ТС]
да сортировать я знаю как функции в php существуют)))
Непонятно как сделать клик мышью правильно... чтобы кликал и происходила сортировка...
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
26.04.2011, 23:02
Если использовать php, то сортировка будет происходить с перезагрузкой страницы.
Т.е. в таблице в заголовке вместо простых букв писать ссылки, типа
HTML5
1
2
<td><a href="?order=id">id</a></td><td><a href="?order=date">Дата заказа</a></td>
и так далее
Ну а дальше получить эту переменную $_GET['order'] в которой хранится значение по которому сортировать.
1
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30
26.04.2011, 23:07  [ТС]
Насчет ссылки неплохая идея)))
Не понял зачем переменную получать с get... мне же сортировать столбец надо соответственный...
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
26.04.2011, 23:16
Ну и сортируй соответственный, не вижу проблемы.
0
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30
27.04.2011, 10:50  [ТС]
Все парень спасибо получилось))) Понял, я что ты имеешь в виду))

Добавлено через 11 часов 13 минут
Возникла проблема... В момент нажатия на ссылку id. Переменной or1 присваивается $or='id' потом достаю из глобального массива ее... И по нажатию то есть сортирую нужный столбец...
Потом нажимаю на ссылку значение... сортируется столбец значений, а столбец где id обратно переходит в обратное состояние. Вот этого не надо. Не знаю как исправить...
Посмотри в коде может знаешь...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Сортировка</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<?php
$mas["id"]=array("0"=>"12","1"=>"1","2"=>"9","3"=> "3","4"=>"2");
$mas["Дата заказа"]=array("0"=>"13.01.2010","1"=>"6.06.1989 ","2"=>"27.07.1964","3"=>"12.06.1989","4 "=>"21.02.1988");
$mas["Время"]=array("0"=>"13:00","1"=>"16:00","2"=>"8 :00","3"=>"12:00","4"=>"1:00");
$mas["Состояние"]=array("0"=>"Выполнен","1"=>"Отложен","2 "=>"Ожидает","3"=>"Отменен","4"=>"Отложе н");
$mas["Значение"]=array("0"=>"45","1"=>"12","2"=>"87","3" =>"4","4"=>"45");

$or1=$_GET['or1'];
$or2=$_GET['or2'];
$or3=$_GET['or3'];
$or4=$_GET['or4'];
$or5=$_GET['or5'];

echo "<table width=1000 border=1>";
echo "<tr>";

echo "<td>";
echo "<a href='?or1=id'>"."id"."</a>";
echo "</td>";

echo "<td>";
echo "<a href='?or2=Дата заказа'>"."Дата заказа"."</a>";
echo "</td>";

echo "<td>";
echo "<a href='?or3=Время'>"."Время"."</a>";
echo "</td>";

echo "<td>";
echo "<a href='?or4=Состояние'>"."Состояние"."</a>";
echo "</td>";

echo "<td>";
echo "<a href='?or5=Значение'>"."Значение"."</a>";
echo "</td>";

echo "</tr>";

echo "<tr>";

echo "<td>";
if($or1=='id')
sort($mas["id"]);
for ($i=0;$i<count($mas["id"]);$i++)
echo "".$mas["id"]["$i"]."<br>";
echo "</td>";

echo "<td>";
for ($i=0;$i<count($mas["Дата заказа"]);$i++)
echo "".$mas["Дата заказа"]["$i"]."<br>";
echo "</td>";

echo "<td>";
for ($i=0;$i<count($mas["Время"]);$i++)
echo "".$mas["Время"]["$i"]."<br>";
echo "</td>";

echo "<td>";
for ($i=0;$i<count($mas["Состояние"]);$i++)
echo "".$mas["Состояние"]["$i"]."<br>";
echo "</td>";

echo "<td>";
if($or5=='Значение')
sort($mas["Значение"]);
for ($i=0;$i<count($mas["Значение"]);$i++)
echo "".$mas["Значение"]["$i"]."<br>";
echo "</td>";

echo "</tr>";
echo "</table>";
?>
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
27.04.2011, 11:20
мне же сортировать столбец надо соответственный...
Или всё таки нужно сортировать всю таблицу но по соответственному столбцу?
0
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30
27.04.2011, 14:36  [ТС]
мда так и надо... извиняюсь ошибся...
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
27.04.2011, 17:27
Кое чего поправил...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Сортировка</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
 
<?php
$mas["id"]=array("0"=>"12","1"=>"1","2"=>"9","3"=>"3","4"=>"2");
$mas["date"]=array("0"=>"13.01.2010","1"=>"6.06.1989","2"=>"27.07.1964","3"=>"12.06.1989","4"=>"21.02.1988");
$mas["time"]=array("0"=>"13:00","1"=>"16:00","2"=>"08:00","3"=>"12:00","4"=>"01:00");
$mas["state"]=array("0"=>"Выполнен","1"=>"Отложен","2"=>"Ожидает","3"=>"Отменен","4"=>"Отложен");
$mas["value"]=array("0"=>"45","1"=>"12","2"=>"87","3"=>"4","4"=>"45");
 
//Если есть значение по которому сортировать, то он запоминается
//иначе используется значение по умолчанию
if( isset( $_GET['or'] ) )
    $or = $_GET['or'];
else
    $or = 'id';
//сортировка массива
//использется функция asort, чтобы сохранить ключи!
asort( $mas[$or] );
 
echo "
    <table width=1000 border=1>
    <tr>
        <td><a href='?or=id'>id</a></td>
        <td><a href='?or=date'>Дата заказа/a></td>
        <td><a href='?or=time'>Время</a></td>
        <td><a href='?or=state'>Состояние</a></td>
        <td><a href='?or=value'>Значение</a></td>
    </tr>";
//Вывод всех значений в зависимости от расположения ключей в отсортированном массиве
foreach( $mas[$or] AS $key=>$value )
{
    echo "
    <tr>
        <td>".$mas["id"][$key]."<br></td>
        <td>".$mas["date"][$key]."<br></td>
        <td>".$mas["time"][$key]."<br></td>
        <td>".$mas["state"][$key]."<br></td>
        <td>".$mas["value"][$key]."<br></td>
    </tr>";
}
echo "</table>";
?>
1
0 / 0 / 1
Регистрация: 26.04.2011
Сообщений: 30
28.04.2011, 13:20  [ТС]
спасибо))) Помог))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2011, 13:20
Помогаю со студенческими работами здесь

Вопрос во js и php
Вопрос первый: как через js записать переменную например name со значением например тест, на определенное время, например на 7...

вопрос по php gd
всем доброва времени суток скажите как можно реальзовать такое например: текстовое поле вводиш текст нажимаешь далее, потом надо выбрать...

Вопрос по MySQL и PHP
В базе данных есть 2 таблицы. program и category. Данные забираются сразу из двух таблиц (JOIN), В обоих таблицах есть поле name, Данные...

Вопрос чайника (php)
Не нашел подходящего раздела, так что сюда. В домашних условиях пытаюсь изучить php. Проблема вот в чем: создаю файл с разширением php....

вопрос по php + mysql
у меня на сайте есть audio flash player. при нажатии на название песни, переход на другую страницу где и стоит плеер. как реализовать чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru