Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/27: Рейтинг темы: голосов - 27, средняя оценка - 4.85
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73

Создание редактора навыков для игр

13.08.2012, 22:01. Показов 5747. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решила создавать параметры давая INT сортирующее параметры навыка и в COMMENT записала имена параметров. Каждая строка это 1 навык. Но я немогу скрепить примечания со значениями строки навыка так чтобы значения были кнопками для сортировки по параметру.
MySQL и сайт:
redactor.zip
Хочу добиться этого:
Диздок Редактора навыков2.zip
Предполагаемая сохранка игры:
Данные Ymi.zip
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.08.2012, 22:01
Ответы с готовыми решениями:

Достаточно ли навыков для разработки онлайн-игры?
Доброго времени суток! Есть идея создания онлайн игры (стратегии, уже обдумал что и как в ней будет) и несколько вопросов. Несколько слов...

Составить програму для навыков сложения и вычитания
Пpогpамма в диалоге генерирует необходимую пpоцедуpу ("+" или "-") и два опеpанда, затем спрашивает сумму или pазность. Пpи...

создание веб редактора БД
Доброго времени суток! веб технологиями начал заниматься недавно. подскажите пожалуйста, как вывести Бд из mysql, чтобы ее редактировать...

50
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
08.09.2012, 03:14  [ТС]
Студворк — интернет-сервис помощи студентам
Помогите с сонными кнопочками (нажатие иногда вызывает ошибку)

Удаление и перемещение работают как нада.
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <title>Редактор навыков</title>
  <style type="text/css">
#layer1 {
z-index: 1; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
 
#layer2 {
z-index: 2; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
  </style>
 </head>
 <body>
  <div id="layer1">
    <img src="" width="100%" height="99%">
  </div>
  <div id="layer2" width="100%" height="100%">
<?php 
//                  ^ ~~~ ^
// Сонные кнопочки  /^.  ^\
//                   \ v /
// плин не вышли >_<
$cnpAp = "<input type='Submit' value=∧ style='font-size: 10px; font-weight:bold; color:green; padding: 0' onclick='sleep(1)'>";
$cnpDown = "<input type='Submit' value=∨ style='font-size: 10px; font-weight:bold; color:green; padding: 0' onclick='sleep(1)'>";
$cnpDelete = "<input type='Submit' value=☢ style='font-size: 10px; color:red; padding: 0' onclick='sleep(1)'>";
// Главное Меню:
echo "<table align='center' border='1' width='20%' bgcolor='#FFFFE1'><tr>";
echo "<td width='22px' align='center'><form method='post'><input type='hidden' name='ASK' value='$ASK'>$cnpAp</form>";
echo "<td align='center'><form method='post'><input type='hidden' name='Create' value='$Create'><input type='Submit' value='Создать новый навык'; style='font-style:italic; color:green'></form></td>";
echo "<td width='22px' align='center'><form method='post'><input type='hidden' name='DESK' value='$DESK'>$cnpDown</form></td>";
echo "</tr></table><br>";
// Данные пользователя:
$host = "localhost";
$user = "Dreika";
$password = "Dreika";
$db = "redactor";
// Соединение с бд:
mysql_connect( $host, $user, $password );
mysql_select_db( 'redactor' );
mysql_query("SET NAMES cp1251");
// Сортировка по полю:
$sort = "id";
$stroka = mysql_query("SELECT `$sort` FROM `skill` ORDER BY `$sort` ASC");
// Значение последней строки для массива:
$stroks = mysql_num_rows($stroka)-1;
// Сортируем и записываем запрос в переменную:
$pole = mysql_query("SELECT * FROM `skill` ORDER BY '$stroka' ASC");
// Значение последнего поля для массива:
$poles = mysql_num_fields($pole)-1;
// Обработка кнопок:
if(isset($_POST['Create'])) {
$sql = "INSERT INTO `skill` (`Имя навыка:`, `Создатели:`, `Редактировано:`, `Принадлежность:`) VALUES ('[<span style=\'color:red\'>Свойства</span>]', '$user', '', '[<span style=\'color:red\'>Свойства</span>]');";
mysql_query($sql) or die(mysql_error());
header('Location: create.php');};
if(isset($_POST['up'])) {
$up = $_POST['up']+1;
$up1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION ='{$_POST['up']}'"), 0);
$up2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$up'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$up1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$up2`";
mysql_query($sql) or die(mysql_error());
header('Location: index.php');};
if(isset($_POST['down'])) {
$down = $_POST['down']+1;
$down0 = $down+1;
$down1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down'"), 0);
$down2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down0'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$down1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$down2`";
mysql_query($sql) or die(mysql_error());
header('Location: index.php');};
if(isset($_POST['Delete1'], $_POST['Delete2'])) {
$Delete1 = (mysql_field_name($pole, $_POST['Delete1']));
$Delete2 = $_POST['Delete2']+1;
$sql = "UPDATE `skill` SET `$Delete1` = '' WHERE `skill`.`id` = '$Delete2';";
mysql_query($sql) or die(mysql_error("<p >Ошибка при выполнении запроса.</p>"));
header('Location: index.php');};
// Передаём запрос двухмерному массиву $result:
 if ( !$pole ) die ( "<p >Ошибка при выполнении запроса.</p>" );
 if ( mysql_num_rows($pole) > 0 )
 {
     while ( $new = mysql_fetch_array($pole) )  
     {
          $result[] = $new;
     }
 }
 // Вывод навыков:
  = 0;
for (;;) 
{
 if ( > $stroks) break;
 // Меню навыков:
 echo "<table border='1' width='100%' bgcolor='#FFFFE1'>";
 echo "<tr>";
 echo "<td width='30%'>", mysql_field_name($pole, 1), " <a style='text-decoration: none' href='URL[1]'>", $result[][1], "</a></td>";
 echo "<td width='50%'>", mysql_field_name($pole, 2), " <a style='text-decoration: none' href='URL[2]'>", $result[][2], "</a></td>"; 
 echo "<td COLSPAN='4' width='20%'>", mysql_field_name($pole, 3), " <a style='text-decoration: none' href='URL[3]'>", $result[][3], "</a></td>";
 echo "</tr>";
 // Вывод параметров навыков:
 for ($o=4; $o<($poles); $o++)
 {
  if ($result[][$o] !== "")
    {
    echo "<tr>";
    echo "<td COLSPAN=3 width='100%'>", mysql_field_name($pole, $o), "<a href='URL[$o]'> ", $result[][$o], "</a></td>";
    echo "<td width='22px' align='center'>"; if (4<$o) {echo "<form method='post'><input type='hidden' name='up' value='$o'>$cnpAp</form>";} echo "</td>";
    echo "<td width='22px' align='center'>";if ($o<$poles-1) {echo "<form method='post'><input type='hidden' name='down' value='$o'>$cnpDown</form>";} echo "</td>";
    echo "<td width='22px'align='center'><form method='post'><input type='hidden' name ='Delete1' value='$o'><input type='hidden' name='Delete2' value='$х'>$cnpDelete</form></td>";
    echo "</tr>";
    } 
  }
 echo "<tr>";
 echo "<td>", mysql_field_name($pole, $poles), " <a href='URL[3]'>", $result[][$poles], "</a></td>";
 echo "<td><a style='text-decoration: none' href=$edit[$х]>Редактировать в отдельном окне</a></td>";
 echo "<td COLSPAN='4'><a style='text-decoration: none' href='$DeleteSkill[$х]'>Удалить навык</a></td>";
 echo "</tr>";
 echo "</table><br>";
 ++;}
?>
  </div>
 </body>
</html>
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
09.09.2012, 23:00  [ТС]
Немогу присвоить положение scrollbar для _GET , чтобы при нажатии кнопки положение скрола сохранялось (неудобно что при нажатии сдвигает страницу вверх). Может кто нибудь помоч?
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?php 
// Данные пользователя:
$host = "localhost";
$user = "Dreika";
$password = "Dreika";
$db = "redactor";
// Соединение с бд:
mysql_connect( $host, $user, $password );
mysql_select_db( 'redactor' );
mysql_query("SET NAMES cp1251");
// Сортировка по полю (по умолчанию):
$sor = "Создано:";
// Порядок сортировки:
 
if (!empty($_GET["ord"])) {$ord = $_GET["ord"];};
if ($ord !== "DESC") {$ord = "ASC";};
$stroka = mysql_query("SELECT `$sor` FROM `skill` ORDER BY '$sor' $ord");
// Значение последней строки для массива:
$stroks = mysql_num_rows($stroka)-1;
// Сортируем и записываем запрос в переменную:
$pole = mysql_query("SELECT * FROM `skill` ORDER BY `$sor` $ord");
// Значение последнего поля для массива:
$poles = mysql_num_fields($pole)-1;
// Обработка кнопок:
if(isset($_POST['Create'])) {
$sql = "INSERT INTO `skill` (`Имя навыка:`, `Создатели:`, `Редактировано:`, `Принадлежность:`) VALUES ('[<span style=\'color:red\'>Свойства</span>]', '$user', '', '[<span style=\'color:red\'>Свойства</span>]');";
mysql_query($sql) or die(mysql_error());
header('Location: create.php');
exit();};
if(isset($_POST['up'])) {
$up = $_POST['up']+1;
$up1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION ='{$_POST['up']}'"), 0);
$up2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$up'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$up1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$up2`";
header("Location: index.php");};
if(isset($_POST['down'])) {
$down = $_POST['down']+1;
$down0 = $down+1;
$down1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down'"), 0);
$down2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down0'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$down1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$down2`";
mysql_query($sql) or die(mysql_error());
$y = 60;
header("Location: index.php");};
if(isset($_POST['Delete1'], $_POST['Delete2'])) {
$Delete1 = (mysql_field_name($pole, $_POST['Delete1']));
$Delete2 = $_POST['Delete2'];
$sql = "UPDATE `skill` SET `$Delete1` = '' WHERE `skill`.`id` = '$Delete2';";
mysql_query($sql) or die(mysql_error("<p >Ошибка при выполнении запроса.</p>"));
mysql_query($sql) or die(mysql_error());
header("Location: index.php");};
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
<html>
 <head>
  <title>Редактор навыков</title>
<script type=»text/javascript» src=»jquery.js»></script>
 
<script type=»text/javascript» src=»jquery.mousewheel.min.js»></script>
 
<script type=»text/javascript» src=»jquery.em.js»></script>
 
<script type=»text/javascript» src=»jScrollPane.js»></script>
 
<link rel=»stylesheet» type=»text/css» media=»all» href=»jScrollPane.css» />
  
  <style type="text/css">
#layer1 {
z-index: 1; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
 
#layer2 {
z-index: 2; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
  </style>
 </head>
 
 <body onload="$(function() {$('.scroll-pane').jScrollPane();});">
  <div id="layer1">
    <img src="" width="100%" height="99%">
  </div> 
 <div id="layer2" width="100%" height="100%"><?php
// сохранение местоположения непашет
$y = $_POST['Delete1'];
echo $y;
// Кнопки:
$cnpAp = "<input type='Submit' value=∧ style='font-size: 10px; font-weight:bold; color:green; padding: 0'>";
$cnpDown = "<input type='Submit' value=∨ style='font-size: 10px; font-weight:bold; color:green; padding: 0'>";
$cnpDelete = "<input type='Submit' value=☢ style='font-size: 10px; color:red; padding: 0'>";
// Главное Меню:
echo "<table align='center' border='1' width='20%' bgcolor='#FFFFE1'><tr>";
echo "<td width='22px' align='center'><form method='get' action='index.php'><input type='hidden' name='ord' value='ASC'>$cnpAp</form>";
echo "<td align='center'><form method='post'><input type='hidden' name='Create' value='$Create'><input type='Submit' value='Создать новый навык'; style='font-style:italic; color:green'></form></td>";
echo "<td width='22px' align='center'><form method='get' action='index.php'><input type='hidden' name='ord' value='DESC'>$cnpDown</form></td>";
echo "</tr></table><br>";
// Передаём запрос двухмерному массиву $result:
 if ( !$pole ) die ( "<p >Ошибка при выполнении запроса.</p>" );
 if ( mysql_num_rows($pole) > 0 )
 {
     while ( $new = mysql_fetch_array($pole) )  
     {
          $result[] = $new;
     }
 }
 // Вывод навыков:
 $d = 0;
 for (;;) 
{
 if ($d > $stroks) break;
 // Меню навыков:
 echo "<table border='1' width='100%' bgcolor='#FFFFE1'>";
 echo "<tr>";
 echo "<td width='30%'>", mysql_field_name($pole, 1), " <a style='text-decoration: none' href='URL[1]'>", $result[$d][1], "</a></td>";
 echo "<td width='50%'>", mysql_field_name($pole, 2), " <a style='text-decoration: none' href='URL[2]'>", $result[$d][2], "</a></td>"; 
 echo "<td COLSPAN='4' width='20%'>", mysql_field_name($pole, 3), " <a style='text-decoration: none' href='URL[3]'>", $result[$d][3], "</a></td>";
 echo "</tr>";
 // Вывод параметров навыков:
 for ($o=4; $o<($poles); $o++)
 {
  if ($result[$d][$o] !== "")
    {
    echo "<tr>";
    echo "<td COLSPAN=3 width='100%'>", mysql_field_name($pole, $o), "<a href='URL[$o]'> ", $result[$d][$o], "</a></td>";
    echo "<td width='22px' align='center'>"; if (4<$o) {echo "<form method='post' action='index.php'><input type='hidden' name='up' value='$o'>$cnpAp</form>";} echo "</td>";
    echo "<td width='22px' align='center'>";if ($o<$poles-1) {echo "<form method='post' action='index.php'><input type='hidden' name='down' value='$o'>$cnpDown</form>";} echo "</td>";
    echo "<td width='22px'align='center'><form method='post' action='index.php'><input type='hidden' name ='Delete1' value='$o'><input type='hidden' name='Delete2' value='"; echo $result[$d][0], "'>$cnpDelete</form></td>";
    echo "</tr>";
    } 
  }
 echo "<tr>";
 echo "<td>", mysql_field_name($pole, $poles), " <a href='URL[3]'>", $result[$d][$poles], "</a></td>";
 echo "<td><a style='text-decoration: none' href=$edit[$d]>Редактировать в отдельном окне</a></td>";
 echo "<td COLSPAN='4'><a style='text-decoration: none' href='$DeleteSkill[$d]'>Удалить навык</a></td>";
 echo "</tr>";
 echo "</table><br>";
 $d++;}
 ?></div>
 </body>
</html>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
09.09.2012, 23:47

Не по теме:

Dreika, когда же Вы будете выкладывать именно тот код, который нужен, без лишнего?



Цитата Сообщение от Dreika Посмотреть сообщение
Немогу присвоить положение scrollbar для _GET , чтобы при нажатии кнопки положение скрола сохранялось (неудобно что при нажатии сдвигает страницу вверх)
аяксом отправляете на другой скрипт данные, обрабатываете их и возвращаете обратно. Сдвигает страницу вверх потому что перезагружает
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
10.09.2012, 02:58  [ТС]
я стараюсь найти как прочесть положение страницы у пользователя и при обновлении страницы тельце странички прочитает положение каким нибудь методом.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head></head>
 
<body onload="window.scrollTo(0, <?php echo $_GET["y"]; ?>)">
<div id="layer2" width="100%" height="100%"><?php
 
if(isset($_POST['up'])) {
$up = $_POST['up']+1;
$up1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION ='{$_POST['up']}'"), 0);
$up2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$up'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$up1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$up2`";
echo "<form method='get' action='index.php'><input type='hidden' name='y' value='<SCRIPT LANGUAGE='javascript'>write.document.body.scrollTop.clientY;</SCRIPT></form>"
header('Location: index.php');};
 
echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
 
echo "<form method='post' action='index.php'><input type='hidden' name='up' value='$o'>$cnpAp</form>";
 
?></div></body>
</html>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
10.09.2012, 07:55
Еще раз скажу, зачем мучаться с определением координат и передвижением страницы? Передавайте запросы аяксом

Добавлено через 9 минут
JavaScript
1
2
3
4
5
6
7
8
9
10
<script>
$(document).ready(function() {
$('#send').click(function() {
$.post('file.php', {'value':$('#send').val()}, function (answer) {
$('#див_для_результата').empty(); #очистка дива
$('#див_для_результата').append(answer); #добавление ответа
});
});
});
</script>
HTML5
1
2
3
<form method="post">
<input type="button" id="send" name="send" value="значение" />
</form>
file.php:
PHP
1
2
3
4
if(isset($_POST['value'])) {
#делаете нужные действия и выводите результат
echo 'Вы нажали кнопку со значением ',$_POST['value'];
}
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
10.09.2012, 09:12  [ТС]
Я в аяксом никак не могу разобраться. у меня scrollTop упрямо ставит 0 где бы я на обновляла или нажимала кнопку. Кнопки генерируются массивом я не представляю как их аяксом. Мне бы тока передать положение scrollTop методом _GET в <body onload="window.scrollTo(0, <?php echo $_GET["y"]; ?>)">
Пожалуйста покажи как аяксом работать с кнопками в массивах

Добавлено через 1 час 0 минут
Скрипт не работает почему то ... у меня кнопки в массиве и они используются для сортировки по убыванию и возрастанию и для перемещения параметров навыка (поля ALERT меняя местоположение. я не могу их назвать так же как id. Может все таки как то можно узнать window.scrollTo ?

index.php
HTML5
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <title>Редактор навыков</title>
<script>
$(document).ready(function() {
$('#up').click(function() {
$.post('file.php', {'value':$('#up').val()}, function (answer) {
$('#див_для_результата').empty(); #очистка дива
$('#див_для_результата').append(answer); #добавление ответа
});
});
});
</script>
<script>
$(document).ready(function() {
$('#up').click(function() {
$.post('file.php', {'value':$('#up').val()}, function (answer) {
$('#див_для_результата').empty(); #очистка дива
$('#див_для_результата').append(answer); #добавление ответа
});
});
});
</script>
<script>
$(document).ready(function() {
$('#down').click(function() {
$.post('file.php', {'value':$('#down').val()}, function (answer) {
$('#див_для_результата').empty(); #очистка дива
$('#див_для_результата').append(answer); #добавление ответа
});
});
});
</script>
<script>
$(document).ready(function() {
$('#delete').click(function() {
$.post('file.php', {'value':$('#Delete1').val()}, function (answer) {
$('#див_для_результата').empty(); #очистка дива
$('#див_для_результата').append(answer); #добавление ответа
});
$.post('file.php', {'value':$('#Delete2').val()}, function (answer) {
$('#див_для_результата').empty(); #очистка дива
$('#див_для_результата').append(answer); #добавление ответа
});
});
});
</script>
<style type="text/css">
#layer1 {
z-index: 1; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
 
#layer2 {
z-index: 2; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
  </style>
 </head>
 <body onload="window.scrollTo(0,'$y')">
  <div id="layer1">
    <img src="" width="100%" height="99%">
  </div> 
 <div id="layer2" width="100%" height="100%"><?php
// Данные пользователя:
$host = "localhost";
$user = "Dreika";
$password = "Dreika";
$db = "redactor";
// Соединение с бд:
mysql_connect( $host, $user, $password );
mysql_select_db( 'redactor' );
mysql_query("SET NAMES cp1251");
// Сортировка по полю (по умолчанию):
$sor = "Создано:";
// Порядок сортировки:
if (!empty($_GET["ord"])) {$ord = $_GET["ord"];};
if ($ord !== "DESC") {$ord = "ASC";};
$stroka = mysql_query("SELECT `$sor` FROM `skill` ORDER BY '$sor' $ord");
// Значение последней строки для массива:
$stroks = mysql_num_rows($stroka)-1;
// Сортируем и записываем запрос в переменную:
$pole = mysql_query("SELECT * FROM `skill` ORDER BY `$sor` $ord");
// Значение последнего поля для массива:
$poles = mysql_num_fields($pole)-1;
// сохранение местоположения непашет
 echo $y;
// Кнопки:
$cnpAp = "<input type='button' id='up' name='up' value=∧ style='font-size: 10px; font-weight:bold; color:green; padding: 0'>";
$cnpDown = "<input type='button' id='down' name='down' value=style='font-size: 10px; font-weight:bold; color:green; padding: 0'>";
$cnpDelete = "<input type='button' id='delete' name='down' value=style='font-size: 10px; color:red; padding: 0'>";
// Главное Меню:
echo "<table align='center' border='1' width='20%' bgcolor='#FFFFE1'><tr>";
echo "<td width='22px' align='center'><form method='get' action='index.php'><input type='hidden' name='ord' value='ASC'>$cnpAp</form>";
echo "<td align='center'><form method='post'><input type='hidden' name='Create' value='$Create'><input type='Submit' value='Создать новый навык'; style='font-style:italic; color:green'></form></td>";
echo "<td width='22px' align='center'><form method='get' action='index.php'><input type='hidden' name='ord' value='DESC'>$cnpDown</form></td>";
echo "</tr></table><br>";
// Передаём запрос двухмерному массиву $result:
 if ( !$pole ) die ( "<p >Ошибка при выполнении запроса.</p>" );
 if ( mysql_num_rows($pole) > 0 )
 {
     while ( $new = mysql_fetch_array($pole) )  
     {
          $result[] = $new;
     }
 }
 // Вывод навыков:
 $d = 0;
 for (;;) 
{
 if ($d > $stroks) break;
 // Меню навыков:
 echo "<table border='1' width='100%' bgcolor='#FFFFE1'>";
 echo "<tr>";
 echo "<td width='30%'>", mysql_field_name($pole, 1), " <a style='text-decoration: none' href='URL[1]'>", $result[$d][1], "</a></td>";
 echo "<td width='50%'>", mysql_field_name($pole, 2), " <a style='text-decoration: none' href='URL[2]'>", $result[$d][2], "</a></td>"; 
 echo "<td COLSPAN='4' width='20%'>", mysql_field_name($pole, 3), " <a style='text-decoration: none' href='URL[3]'>", $result[$d][3], "</a></td>";
 echo "</tr>";
 // Вывод параметров навыков:
 for ($o=4; $o<($poles); $o++)
 {
  if ($result[$d][$o] !== "")
    {
    echo "<tr>";
    echo "<td COLSPAN=3 width='100%'>", mysql_field_name($pole, $o), "<a href='URL[$o]'> ", $result[$d][$o], "</a></td>";
    echo "<td width='22px' align='center'>"; if (4<$o) {echo "<form method='post'><input type='hidden' id='up' name='up' value='$o'>$cnpAp</form>";} echo "</td>";
    echo "<td width='22px' align='center'>";if ($o<$poles-1) {echo "<form method='post'><input type='hidden' id='down' name='down' value='$o'>$cnpDown</form>";} echo "</td>";
    echo "<td width='22px'align='center'><form method='post'><input type='hidden' id='delete' name ='Delete1' value='$o'><input type='hidden' id='delete' name='Delete2' value='"; echo $result[$d][0], "'>$cnpDelete</form></td>";
    echo "</tr>";
    } 
  }
 echo "<tr>";
 echo "<td>", mysql_field_name($pole, $poles), " <a href='URL[3]'>", $result[$d][$poles], "</a></td>";
 echo "<td><a style='text-decoration: none' href=$edit[$d]>Редактировать в отдельном окне</a></td>";
 echo "<td COLSPAN='4'><a style='text-decoration: none' href='$DeleteSkill[$d]'>Удалить навык</a></td>";
 echo "</tr>";
 echo "</table><br>";
 $d++;}
 ?></div>
 </body>
</html>
file.php
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
<?php 
// Данные пользователя:
$host = "localhost";
$user = "Dreika";
$password = "Dreika";
$db = "redactor";
// Соединение с бд:
mysql_connect( $host, $user, $password );
mysql_select_db( 'redactor' );
mysql_query("SET NAMES cp1251");
// Сортировка по полю (по умолчанию):
$sor = "Создано:";
// Порядок сортировки:
if (!empty($_GET["ord"])) {$ord = $_GET["ord"];};
if ($ord !== "DESC") {$ord = "ASC";};
$stroka = mysql_query("SELECT `$sor` FROM `skill` ORDER BY '$sor' $ord");
// Значение последней строки для массива:
$stroks = mysql_num_rows($stroka)-1;
// Сортируем и записываем запрос в переменную:
$pole = mysql_query("SELECT * FROM `skill` ORDER BY `$sor` $ord");
// Значение последнего поля для массива:
$poles = mysql_num_fields($pole)-1;
// Обработка кнопок:
if(isset($_POST['Create'])) {
$sql = "INSERT INTO `skill` (`Имя навыка:`, `Создатели:`, `Редактировано:`, `Принадлежность:`) VALUES ('[<span style=\'color:red\'>Свойства</span>]', '$user', '', '[<span style=\'color:red\'>Свойства</span>]');";
mysql_query($sql) or die(mysql_error());
header('Location: create.php');};
if(isset($_POST['up'])) {
$up = $_POST['up']+1;
$up1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION ='{$_POST['up']}'"), 0);
$up2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$up'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$up1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$up2`";
mysql_query($sql) or die(mysql_error());};
if(isset($_POST['down'])) {
$down = $_POST['down']+1;
$down0 = $down+1;
$down1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down'"), 0);
$down2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down0'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$down1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$down2`";
mysql_query($sql) or die(mysql_error());};
if(isset($_POST['Delete1'], $_POST['Delete2'])) {
$Delete1 = (mysql_field_name($pole, $_POST['Delete1']));
$Delete2 = $_POST['Delete2'];
$sql = "UPDATE `skill` SET `$Delete1` = '' WHERE `skill`.`id` = '$Delete2';";
mysql_query($sql) or die(mysql_error("<p >Ошибка при выполнении запроса.</p>"));};
?>
Добавлено через 13 минут
Прилагаю скриншот кнопочки у мя через переменную поставлены и размножены.
Вложение 181548
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
10.09.2012, 09:16
я выше пример написал, с кнопкой!
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
10.09.2012, 09:34  [ТС]
Что то ашла но незнаю как присвоить значение top для _GET, чтобы подгрузить в <body onload="window.scrollTo(0, <?php echo $_GET["y"]; ?>)">
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
var browsers = ExternalInterface.call('function d(){return navigator.userAgent;}');
//а далее проверка для разных типов браузера
this.onEnterFrame = function(){
    if(browsers.indexOf("Chrome")!= -1 || browsers.indexOf("Safari")!= -1){
        var top = ExternalInterface.call('function d(){return document.body.scrollTop;}');
        alter = "величина прокрутки: " + top + " px";
    }
    else{
        var top = ExternalInterface.call('function d(){return document.documentElement.scrollTop;}');
        ttf.text = "величина прокрутки: " + top + " px" ;
 
 <body onload="window.scrollTo(0, <?php echo $_GET["y"]; ?>)">
Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение
я выше пример написал, с кнопкой!
я вставила все как указали скрипт нерабочий.

Добавлено через 4 минуты
Думаю может если скрипты тоже циклом вывести для каждой кнопки может и получиться....
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
10.09.2012, 09:38
Цитата Сообщение от Dreika Посмотреть сообщение
я вставила все как указали скрипт нерабочий
а библиотеку jquery подключали?
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
10.09.2012, 09:43  [ТС]
непашет хоть и вставила перед тегом как советовала 1 попавшаяся страница ( http://seodiz.ru/add-jquery )


PHP
1
2
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
 </head>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
10.09.2012, 09:52
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script src="http://code.jquery.com/jquery-1.8.1.min.js"></script>
<script>
$(document).ready(function() {
    $('#send').click(function() {
        $.post('file.php', {'value':$('#send').val()}, function (answer) {
            $('#foo').empty(); //очистка дива
            $('#foo').append(answer); //добавление ответа
        });
    });
});
</script>
<form method="post">
<input type="button" id="send" name="send" value="значение" />
</form>
<div id="foo"></div>
file.php
PHP
1
2
3
4
5
6
<?php
if(isset($_POST['value'])) {
#делаете нужные действия и выводите результат
echo 'Вы нажали кнопку со значением <b>',$_POST['value'], '</b>';
}
?>
Добавлено через 1 минуту
я забыл что в javascript комменты с # не пашут, только // или /*...*/
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
10.09.2012, 10:02  [ТС]
как бы при 1 поправки страница меняется в соответствии с новой сортировкой.
перегружаясь полностью по правилам установленным переменными.
я непредставляю как отслеживать позицию кнопок. То ли дело отлавливать нажатие кнопки любой и сохранять положение ScrollTop в _GET чтобы считать это при рефреше.

Добавлено через 8 минут
До меня дошел смысл jquery он дописывает строки, но задача послать в базу переменовать поля чтоб изменялась сортировка данных.... то есть тут без рефреша сложно продумать как менять местами посты
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
10.09.2012, 10:14  [ТС]
Проще понять если откроете сайт у себя ...
redactor.zip
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
10.09.2012, 10:23
Цитата Сообщение от Dreika Посмотреть сообщение
До меня дошел смысл jquery
не дошел. Jquery - это просто библиотека для javascript, упрощающая работу с javascript-ом.
Аякс не обязательно нужен только для того, чтобы выводить на экран какой то текст. В PHP-файле может происходить все что угодно, вплоть до обновления и удаления вообще таблиц в БД. Попробую на примере показать
скрытый текст
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script src="http://code.jquery.com/jquery-1.8.1.min.js"></script>
<script>
$(document).ready(function() { //при открытии страницы
    $('.send').click(function() {//при клике на элементе с классом send
//отправка данных методом пост в file.php, имя переменной в скрипте будет $_POST['value'], значение - кнопки которую мы нажали
        $.post('file.php', {'value':$(this).val()}, function (answer) { 
            $('#foo').empty(); //очистка дива
            $('#foo').append(answer); //добавление ответа
        });
    });
});
</script>
<form method="post">
<input type="button" class="send" name="send" value="значение1" />
<input type="button" class="send" name="send" value="значение2" />
<input type="button" class="send" name="send" value="значение3" />
</form>
<div id="foo"></div>
file.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if(isset($_POST['value'])) { //это то, что пришло с главного файла через аякс
#делаете нужные действия и выводите результат
$val = trim($POST['value']);
if(!empty($val)) {
 if($val == 'значение1') {
  #обновляем нужное значение, при необходимости 
  #возвращаем результат в виде ошибки или сообщение об успехе
 }
 if($val == 'значение2') {
  #обновляем нужное значение, при необходимости 
  #возвращаем результат в виде ошибки или сообщение об успехе
 }
 if($val == 'значение3') {
  #обновляем нужное значение, при необходимости 
  #возвращаем результат в виде ошибки или сообщение об успехе
 }
 else {
  #ни одно из перечисленных. еще что то делаем
 }
}
 
}
или вот такое что нибудь
file.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if(isset($_POST['value'])) {
#делаете нужные действия и выводите результат
switch($_POST['value']) {
    case 'значение1': $text = 'Первое действие'; break;
    case 'значение2': $text = 'Второе действие'; break;
    case 'значение3': $text = 'Третье действие'; break;
    default: $text = 'Неизвестное действие'; break;
}
echo $text;
}
?>


Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Dreika Посмотреть сообщение
Проще понять если откроете сайт у себя ...
работы полно, нет времени. Уж сами как нибудь попробуйте разобраться, ничего сложного - примеры я привел



Добавлено через 5 минут
кстати еще два момента:
1. можно выводить просто TRUE или FALSE (или 1/0) и проверять уже в самом скрипте js чему равен полученный answer - и в зависимости от значения что то делать.
2. Можно также в php-файле делать запрос, извлекать нужные записи и сформированные данные (к примеру табличка с этими значениями что извлекли) выводить на экран (т.е., возвращать на главный скрипт) - зависимо от того что мы там нажимали
1
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
11.09.2012, 06:15  [ТС]
Позицию окна отслеживаю помогите передать как нибудь на документ позицию Scroll буду очень признательна и основной код данной странички будет завершен (если не брать в рассчет создания сессии с правами зашедших пользователей в веб програмку займусь в конце) (далее будут модеальные окошки я постораюсь использовать в них jQuery...
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<?php 
// Данные пользователя:
$host = "localhost";
$user = "Dreika";
$password = "Dreika";
$db = "redactor";
// Соединение с бд:
mysql_connect( $host, $user, $password );
mysql_select_db( 'redactor' );
mysql_query("SET NAMES cp1251");
// Сортировка по полю (по умолчанию):
$sor = "Создано:";
// Порядок сортировки:
if (!empty($_GET["ord"])) {$ord = $_GET["ord"];};
if ($ord !== "DESC") {$ord = "ASC";};
$stroka = mysql_query("SELECT `$sor` FROM `skill` ORDER BY '$sor' $ord");
// Значение последней строки для массива:
$stroks = mysql_num_rows($stroka)-1;
// Сортируем и записываем запрос в переменную:
$pole = mysql_query("SELECT * FROM `skill` ORDER BY `$sor` $ord");
// Значение последнего поля для массива:
$poles = mysql_num_fields($pole)-1;
// Обработка кнопок:
if(isset($_POST['Create'])) {
$sql = "INSERT INTO `skill` (`Имя навыка:`, `Создатели:`, `Редактировано:`, `Принадлежность:`) VALUES ('[<span style=\'color:red\'>Свойства</span>]', '$user', '', '[<span style=\'color:red\'>Свойства</span>]');";
mysql_query($sql) or die(mysql_error());
header('Location: create.php');
exit();};
if(isset($_POST['up'])) {
$up = $_POST['up']+1;
$up1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION ='{$_POST['up']}'"), 0);
$up2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$up'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$up1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$up2`";
mysql_query($sql) or die(mysql_error());
$y = 50;
header("Location: index.php");};
if(isset($_POST['down'])) {
$down = $_POST['down']+1;
$down0 = $down+1;
$down1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down'"), 0);
$down2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down0'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$down1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$down2`";
mysql_query($sql) or die(mysql_error());
$y = 60;
header("Location: index.php");};
if(isset($_POST['Delete1'], $_POST['Delete2'])) {
$Delete1 = (mysql_field_name($pole, $_POST['Delete1']));
$Delete2 = $_POST['Delete2'];
$sql = "UPDATE `skill` SET `$Delete1` = '' WHERE `skill`.`id` = '$Delete2';";
mysql_query($sql) or die(mysql_error("<p >Ошибка при выполнении запроса.</p>"));
$y = 70;
header("Location: index.php");};
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Редактор навыков</title>
  <style type="text/css">
#layer1 {
z-index: 1; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
#layer2
{
z-index: 2; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
overflow:auto;
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js">
</script>
<script type="text/javascript">   
$(document).ready(function(){
  
   $(".but1").click(function(){
      $("#layer2").scrollTop(250);
   });   
 
   $(".Y").click(function (){
      alert($("#layer2").scrollTop());
   });    
});                                     
</script> 
<body>
  <div id="layer1">
    <img src="" width="100%" height="99%">
<div id="layer2" onload="window.scrollTo(0,300)">
<?php
// Кнопки:
$cnpAp = "<input class='Y' type='Submit' value=∧ style='font-size: 10px; font-weight:bold; color:green; padding: 0'>";
$cnpDown = "<input class='Y' type='Submit' value=∨ style='font-size: 10px; font-weight:bold; color:green; padding: 0'>";
$cnpDelete = "<input class='Y' type='Submit' value=☢ style='font-size: 10px; color:red; padding: 0'>";
// Главное Меню:
echo "<table align='center' border='1' width='20%' bgcolor='#FFFFE1'><tr>";
echo "<td width='22px' align='center'><form method='get' action='index.php'><input type='hidden' name='ord' value='ASC'>$cnpAp</form>";
echo "<td align='center'><form method='post'><input type='hidden' name='Create' value='$Create'><input type='Submit' value='Создать новый навык'; style='font-style:italic; color:green'></form></td>";
echo "<td width='22px' align='center'><form method='get' action='index.php'><input type='hidden' name='ord' value='DESC'>$cnpDown</form></td>";
echo "</tr></table><br>";
// Передаём запрос двухмерному массиву $result:
 if ( !$pole ) die ( "<p >Ошибка при выполнении запроса.</p>" );
 if ( mysql_num_rows($pole) > 0 )
 {
     while ( $new = mysql_fetch_array($pole) )  
     {
          $result[] = $new;
     }
 }
 // Вывод навыков:
 $d = 0;
 for (;;) 
{
 if ($d > $stroks) break;
 // Меню навыков:
 echo "<table border='1' width='100%' bgcolor='#FFFFE1'>";
 echo "<tr>";
 echo "<td width='30%'>", mysql_field_name($pole, 1), " <a style='text-decoration: none' href='URL[1]'>", $result[$d][1], "</a></td>";
 echo "<td width='50%'>", mysql_field_name($pole, 2), " <a style='text-decoration: none' href='URL[2]'>", $result[$d][2], "</a></td>"; 
 echo "<td COLSPAN='4' width='20%'>", mysql_field_name($pole, 3), " <a style='text-decoration: none' href='URL[3]'>", $result[$d][3], "</a></td>";
 echo "</tr>";
 // Вывод параметров навыков:
 for ($o=4; $o<($poles); $o++)
 {
  if ($result[$d][$o] !== "")
    {
    echo "<tr>";
    echo "<td COLSPAN=3 width='100%'>", mysql_field_name($pole, $o), "<a href='URL[$o]'> ", $result[$d][$o], "</a></td>";
    echo "<td width='22px' align='center'>"; if (4<$o) {echo "<form method='post'><input type='hidden' name='up' value='$o'>$cnpAp</form>";} echo "</td>";
    echo "<td width='22px' align='center'>";if ($o<$poles-1) {echo "<form method='post'><input type='hidden' name='down' value='$o'>$cnpDown</form>";} echo "</td>";
    echo "<td width='22px'align='center'><form method='post'><input type='hidden' name ='Delete1' value='$o'><input type='hidden' name='Delete2' value='"; echo $result[$d][0], "'>$cnpDelete</form></td>";
    echo "</tr>";
    } 
  }
 echo "<tr>";
 echo "<td>", mysql_field_name($pole, $poles), " <a href='URL[3]'>", $result[$d][$poles], "</a></td>";
 echo "<td><a class='Y' style='text-decoration: none' href=$edit[$d]>Редактировать в отдельном окне</a></td>";
 echo "<td COLSPAN='4'><a class='Y' style='text-decoration: none' href='$DeleteSkill[$d]'>Удалить навык</a></td>";
 echo "</tr>";
 echo "</table><br>";
 $d++;}
 ?>
<br>
<input class='but1' type="button" value="Прокрутить вниз" /> 
<input class='Y' type="button" value="Узнать текущее местоположение полосы прокрутки" /> 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</div>
 
</body>
</html>
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
13.09.2012, 09:44  [ТС]
Проблема решена Внимание всем, чтоб сохранять позицию нужно применить
скачать jquery.cookie.zip (пойдет наверно любой) и распаковать в папку с сайтом.
$("form").submit(function(event){ в этой строчке кода установить условие срабатывания (jquery раздел события).
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>
<script type="text/javascript">   
$(document).ready(function(){
    if($.cookie("scroll")) {
        var scrt = $.cookie("scroll");
        $("#layer2").scrollTop(scrt);
        }
});
$(document).ready(function(){
  $("form").submit(function(event){
    var scrt = $("#layer2").scrollTop();
    $.cookie("scroll", scrt);
  });
});
</script>


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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?php 
// Данные пользователя:
$host = "localhost";
$user = "Dreika";
$password = "Dreika";
$db = "redactor";
// Соединение с бд:
mysql_connect( $host, $user, $password );
mysql_select_db( 'redactor' );
mysql_query("SET NAMES cp1251");
// Сортировка по полю (по умолчанию):
$sor = "Создано:";
// Порядок сортировки:
if (!empty($_GET["ord"])) {$ord = $_GET["ord"];};
if ($ord !== "DESC") {$ord = "ASC";};
$stroka = mysql_query("SELECT `$sor` FROM `skill` ORDER BY '$sor' $ord");
// Значение последней строки для массива:
$stroks = mysql_num_rows($stroka)-1;
// Сортируем и записываем запрос в переменную:
$pole = mysql_query("SELECT * FROM `skill` ORDER BY `$sor` $ord");
// Значение последнего поля для массива:
$poles = mysql_num_fields($pole)-1;
// Обработка кнопок:
if(isset($_POST['Create'])) {
$sql = "INSERT INTO `skill` (`Имя навыка:`, `Создатели:`, `Редактировано:`, `Принадлежность:`) VALUES ('[<span style=\'color:red\'>Свойства</span>]', '$user', '', '[<span style=\'color:red\'>Свойства</span>]');";
mysql_query($sql) or die(mysql_error());
header('Location: create.php');};
if(isset($_POST['up'])) {
$up = $_POST['up']+1;
$up1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION ='{$_POST['up']}'"), 0);
$up2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$up'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$up1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$up2`";
mysql_query($sql) or die(mysql_error());};
if(isset($_POST['down'])) {
$down = $_POST['down']+1;
$down0 = $down+1;
$down1 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down'"), 0);
$down2 = mysql_result(mysql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='skill' AND ORDINAL_POSITION = '$down0'"), 0);
$sql = "ALTER TABLE `skill` MODIFY `$down1` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `$down2`";
mysql_query($sql) or die(mysql_error());};
if(isset($_POST['Delete1'], $_POST['Delete2'])) {
$Delete1 = (mysql_field_name($pole, $_POST['Delete1']));
$Delete2 = $_POST['Delete2'];
$sql = "UPDATE `skill` SET `$Delete1` = '' WHERE `skill`.`id` = '$Delete2';";
mysql_query($sql) or die(mysql_error("<p >Ошибка при выполнении запроса.</p>"));};
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Редактор навыков</title>
  <style type="text/css">
#layer1 {
z-index: 1; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
#layer2
{
z-index: 2; /* Порядок слоев */
width: 100%; /* Ширина слоя с фоном */
height: 100%; /* Высота слоя с фоном */
overflow:auto;
position: absolute; /* Абсолютное позиционирование */
left: 0; /* Положение от левого края окна */
top: 0; /* Положение от верхнего края */
}
</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>
<script type="text/javascript">   
$(document).ready(function(){
    if($.cookie("scroll")) {
        var scrt = $.cookie("scroll");
        $("#layer2").scrollTop(scrt);
        }
});
$(document).ready(function(){
  $("form").submit(function(event){
    var scrt = $("#layer2").scrollTop();
    $.cookie("scroll", scrt);
  });
});
</script> 
<body>
  <div id="layer1">
    <img src="" width="100%" height="99%">
<div id="layer2">
<?php
// сохранение местоположения непашет
 echo $y;
// Кнопки:
$cnpAp = "<input type='Submit' value=∧ style='font-size: 10px; font-weight:bold; color:green; padding: 0'>";
$cnpDown = "<input type='Submit' value=∨ style='font-size: 10px; font-weight:bold; color:green; padding: 0'>";
$cnpDelete = "<input type='Submit' value=☢ style='font-size: 10px; color:red; padding: 0'>";
// Главное Меню:
echo "<table align='center' border='1' width='20%' bgcolor='#FFFFE1'><tr>";
echo "<td width='22px' align='center'><form method='get' action='index.php'><input type='hidden' name='ord' value='ASC'>$cnpAp</form>";
echo "<td align='center'><form method='post'><input type='hidden' name='Create' value='$Create'><input type='Submit' value='Создать новый навык'; style='font-style:italic; color:green'></form></td>";
echo "<td width='22px' align='center'><form method='get' action='index.php'><input type='hidden' name='ord' value='DESC'>$cnpDown</form></td>";
echo "</tr></table><br>";
// Передаём запрос двухмерному массиву $result:
 if ( !$pole ) die ( "<p >Ошибка при выполнении запроса.</p>" );
 if ( mysql_num_rows($pole) > 0 )
 {
     while ( $new = mysql_fetch_array($pole) )  
     {
          $result[] = $new;
     }
 }
 // Вывод навыков:
 $d = 0;
 for (;;) 
{
 if ($d > $stroks) break;
 // Меню навыков:
 echo "<table border='1' width='100%' bgcolor='#FFFFE1'>";
 echo "<tr>";
 echo "<td width='30%'>", mysql_field_name($pole, 1), " <a style='text-decoration: none' href='URL[1]'>", $result[$d][1], "</a></td>";
 echo "<td width='50%'>", mysql_field_name($pole, 2), " <a style='text-decoration: none' href='URL[2]'>", $result[$d][2], "</a></td>"; 
 echo "<td COLSPAN='4' width='20%'>", mysql_field_name($pole, 3), " <a style='text-decoration: none' href='URL[3]'>", $result[$d][3], "</a></td>";
 echo "</tr>";
 // Вывод параметров навыков:
 for ($o=4; $o<($poles); $o++)
 {
  if ($result[$d][$o] !== "")
    {
    echo "<tr>";
    echo "<td COLSPAN=3 width='100%'>", mysql_field_name($pole, $o), "<a href='URL[$o]'> ", $result[$d][$o], "</a></td>";
    echo "<td width='22px' align='center'>"; if (4<$o) {echo "<form method='post'><input type='hidden' name='up' value='$o'>$cnpAp</form>";} echo "</td>";
    echo "<td width='22px' align='center'>";if ($o<$poles-1) {echo "<form method='post'><input type='hidden' name='down' value='$o'>$cnpDown</form>";} echo "</td>";
    echo "<td width='22px'align='center'><form method='post'><input type='hidden' name ='Delete1' value='$o'><input type='hidden' name='Delete2' value='"; echo $result[$d][0], "'>$cnpDelete</form></td>";
    echo "</tr>";
    } 
  }
 echo "<tr>";
 echo "<td>", mysql_field_name($pole, $poles), " <a href='URL[3]'>", $result[$d][$poles], "</a></td>";
 echo "<td><a style='text-decoration: none' href=$edit[$d]>Редактировать в отдельном окне</a></td>";
 echo "<td COLSPAN='4'><a style='text-decoration: none' href='$DeleteSkill[$d]'>Удалить навык</a></td>";
 echo "</tr>";
 echo "</table><br>";
 $d++;}
 ?>
<br>
<input id="but1" type="button" value="Прокрутить вниз" /> 
<input id="but2" type="button" value="Узнать текущее местоположение полосы прокрутки" /> 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</div>
</body>
</html>
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
13.09.2012, 09:57  [ТС]
KOPOJI, мог бы и помочь разобраться а не косвенно слать учить мат часть, которую тут никак не применишь.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.09.2012, 11:33
Dreika, я пытался. Но, во-первых, мои советы по поводу аякса Вы отмели, а во-вторых лично мне (а судя по количеству ответов, другим также) неохота разбираться в портянках кода что Вы выкладываете. Вы каждый раз выкладываете весь код, вместо того чтобы выложить лишь проблемную часть. Я об этом уже говорил, но Вы, опять же, благополучно забыли об этом (или забили на это).
P.S. Не ты, а Вы. Я к Вам обращаюсь на Вы, почему же ко мне такое отношение? И где я слал вообще куда то учить? Я наоборот выложил код, с объяснением, комментариями. Если Вам мои советы не нравятся, и Вы считаете что я Вас еще куда то отсылаю (хотя я ни одной ссылки даже не кидал) - то ждите когда Вам кто-то поможет. В чем лично я глубоко сомневаюсь.
Извиняюсь за свои глупые советы и "отсылания учить мат часть", больше этого не повторится.
Благодарю за внимание
0
 Аватар для Dreika
0 / 0 / 4
Регистрация: 13.08.2012
Сообщений: 73
13.09.2012, 11:59  [ТС]
Прошу прощения за косвенное обращение на ты, вам стоило обдумать применения Ajax в данном коде странички. Я пыталась использовать ваши советы, но только такой гений как вы сможет их использовать! А мне глупенькой мозгов пака не хватает пожалуйста научите меня...
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
13.09.2012, 12:07
Цитата Сообщение от KOPOJI Посмотреть сообщение
JavaScript
1
2
$('#foo').empty(); //очистка дива
$('#foo').append(answer); //добавление ответа
почти во всех браузерах .html() работает быстрее связки .empty() + .append()
Цитата Сообщение от Dreika Посмотреть сообщение
А мне глупенькой мозгов пака не хватает
Цитата Сообщение от Dreika Посмотреть сообщение
Проблема решена
как практика показала - хватает
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.09.2012, 12:07

Создание простого текстовово редактора.
Создал страничку редактирования текстовых файлов с выбором накидал немного хтмл чтобы работало, цсс для красоты )))))))) забиваю...

Создание буфера обмена для Текстового редактора
делаю курсовик на qt пишу текстовый редактр, нужно создать буфер обмена, а я в этом вообще никак, еще нужно наладить замену слова QString...

Создание игры без навыков программирования?
Всем доброго времени суток! Пишу к вам с таким вопросом. Я учусь на 3 курсе института, специализируюсь на 3DSMax. Нам дали задание -...

Создание редактора для тестов. Работа с Xml документом
Здравствуйте! У меня возникла проблема с xmldocument'ом. Я создаю его в одной процедуре и продолжаю работу в другой, сохраняю в третьей....

Создание звуков для игр
Здравствуйте! Не знаю тот ли это раздел форума, но у меня вопрос: в какой программе лучше всего делать звуки для игры (ходьба, стрельба и...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru