Доброе утро!;)
Подскаите пожалуйста.
Есть страничка обновления заказов.
Выводятся они не по одному, а определенное колличество форм (1 заказ - 1 форма), ну и соответственно к каждой форме по кнопочке "Сохранить".
Вот код:
Свернутый текст
<?
/* Соединяемся с базой данных */
// Переменная хранит число сообщений выводимых на станице
$num = 100;
// Извлекаем из URL текущую страницу
$page = !empty($_GET['page']) ? $_GET['page'] : NULL;
//$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM zakazy WHERE `na_kogda`=CURDATE()");
$posts = mysql_result($result, 0);
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$result = mysql_query("SELECT *, DATE_FORMAT(`time`, '%d-%m-%Y %H:%i:%s') as `formatTime`, DATE_FORMAT(`na_kogda`, '%d-%m-%Y') as `formatTime1` FROM zakazy WHERE `na_kogda`=CURDATE() LIMIT $start, $num");
// В цикле переносим результаты запроса в массив $postrow
while ( $postrow[] = mysql_fetch_array($result))
/* Если была нажата кнопка редактирования, вносим изменения */
if(@$_POST['submit_edit']) {
$na_kogda = date('Y-m-d', strtotime($_POST['test_na_kogda']));
$query = "UPDATE $table SET gotovnost='{$_POST['test_gotovnost']}', firma='{$_POST['test_firma']}', `na_kogda` = '".$na_kogda."', adress='{$_POST['test_adress']}', imya='{$_POST['test_imya']}', tel='{$_POST['test_tel']}', ves='{$_POST['test_ves']}', kuda='{$_POST['test_kuda']}', oplata='{$_POST['test_oplata']}', primechaniya='{$_POST['test_primechaniya']}', prinyal='{$_POST['test_prinyal']}', kurier='{$_POST['test_kurier']}', status='{$_POST['test_status']}' WHERE nomer='{$_POST['update']}'";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die (mysql_error());
header('Location: ' . $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']);
exit;
}
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href= ./update_data_today.php?page=1><<</a>
<a href= ./update_data_today.php?page='. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= ./update_data_today.php?page='. ($page + 1) .'>></a>
<a href= ./update_data_today.php?page=' .$total. '>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= ./update_data_today.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= ./update_data_today.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= ./update_data_today.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= ./update_data_today.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
/* Выводим данные из таблицы */
echo ("
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">
<title>Редактирование сегодняшних заказов</title>
<style type=\"text/css\">
</style>
<META http-equiv='refresh' content='60,http://192.168.1.10/update_data_today.php'>
</head>
<body>
<tr><td>
");
// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
/* Цикл вывода данных из базы конкретных полей */
//for($i = 0; $i < $num; $i++)
//while ($row = mysql_fetch_array($res))
for($i = 0; $i < $num; $i++):?>
<META http-equiv='refresh' content='60,http://192.168.1.10/update_data_today.php'>
<form action="" method="post" name="edit_form">
<input type="hidden" name="update" value="<?php echo $postrow[$i]["nomer"]?>" />
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" style="border-bottom:solid 1px #CCCCCC;"><b><i><div nomer="num"><pre><font color="#0000FF">Номер заказа: </font><font size=5> <?php echo $postrow[$i]["nomer"]?></font> <font color="#0000FF"> Дата: </font> <?php echo $postrow[$i]['formatTime']?></pre></div></b></i></td>
</tr>
<tr>
<td bgcolor="#1C86EE" width="150">На когда:</td><td><input type="text" value="<?php echo $postrow[$i]['formatTime1'] ?>" name="test_na_kogda"/></td>
<td bgcolor="#1C86EE" width="150">Готовность заказа:</td><td><input type="text" value="<?php echo $postrow[$i]['gotovnost']?>" name="test_gotovnost"/></td>
<td bgcolor="#1C86EE" width="150">Фирма:</td><td><input type="text" value="<?php echo htmlspecialchars($postrow[$i]['firma'])?>" name="test_firma"/></td>
</tr>
<tr>
<td bgcolor="#1C86EE">Адресс:</td><td><input type="text" value="<?php echo $postrow[$i]['adress']?>" name="test_adress"/></td>
<td bgcolor="#1C86EE">Имя:</td><td><input type="text" value="<?php echo $postrow[$i]['imya']?>" name="test_imya"/></td>
<td bgcolor="#1C86EE">Телефон:</td><td><input type="text" value="<?php echo $postrow[$i]['tel']?>" name="test_tel"/></td>
</tr>
<tr>
<td bgcolor="#1C86EE">Вес:</td><td><input type="text" value="<?php echo $postrow[$i]['ves']?>" name="test_ves"/></td>
<td bgcolor="#1C86EE">Куда:</td><td><input type="text" value="<?php echo $postrow[$i]['kuda']?>" name="test_kuda"/></td>
<td bgcolor="#1C86EE">Оплата:</td><td>
<select name="test_oplata">
<option value="Выбрать" <?php if ($postrow[$i]['oplata'] == "Выбрать") echo 'selected="selected"'?> >Выбрать</option>
<option value="Нал" <?php if ($postrow[$i]['oplata'] == "Нал") echo 'selected="selected"'?> >Наличный расчет</option>
<option value="Безнал" <?php if ($postrow[$i]['oplata'] == "Безнал") echo 'selected="selected"'?> >Безналичный расчет</option>
<option value="Получатель" <?php if ($postrow[$i]['oplata'] == "Получатель") echo 'selected="selected"'?> >Оплата получателем</option>
</select>
</td>
</tr>
<tr>
<td bgcolor="#1C86EE">Примечания:</td>
<td><input type="text" value="<?php echo $postrow[$i]['primechaniya']?>" name="test_primechaniya"/></td>
<td bgcolor="#1C86EE">Принял:</td>
<td>
<select name="test_prinyal">
<option value="Алена" <?php if ($postrow[$i]['prinyal'] == "Алена") echo 'selected="selected"'?> >Алена</option>
<option value="Дима" <?php if ($postrow[$i]['prinyal'] == "Дима") echo 'selected="selected"'?> >Дима</option>
<option value="Катя" <?php if ($postrow[$i]['prinyal'] == "Катя") echo 'selected="selected"'?> >Катя</option>
<option value="Маша Г" <?php if ($postrow[$i]['prinyal'] == "Маша Г") echo 'selected="selected"'?> >Маша Г</option>
<option value="Маша Б" <?php if ($postrow[$i]['prinyal'] == "Маша Б") echo 'selected="selected"'?> >Маша Б</option>
<option value="Оксана" <?php if ($postrow[$i]['prinyal'] == "Оксана") echo 'selected="selected"'?> >Оксана</option>
<option value="Света" <?php if ($postrow[$i]['prinyal'] == "Света") echo 'selected="selected"'?> >Света</option>
<option value="Юля" <?php if ($postrow[$i]['prinyal'] == "Юля") echo 'selected="selected"'?> >Юля</option>
<option value="Выбрать" <?php if ($postrow[$i]['prinyal'] == "Выбрать") echo 'selected="selected"'?> >Выбрать</option>
</select>
</td>
<td bgcolor="#1C86EE">Курьер:</td>
<td>
<select name="test_kurier">
<option value="Не указан" <?php if ($postrow[$i]['kurier'] == "Не указан") echo 'selected="selected"'?> >Не указан</option>
<option value="Вова" <?php if ($postrow[$i]['kurier'] == "Вова") echo 'selected="selected"'?> >Вова</option>
<option value="Владимир" <?php if ($postrow[$i]['kurier'] == "Владимир") echo 'selected="selected"'?> >Владимир</option>
<option value="Антон" <?php if ($postrow[$i]['kurier'] == "Антон") echo 'selected="selected"'?> >Антон</option>
<option value="Антон пеш" <?php if ($postrow[$i]['kurier'] == "Антон пеш") echo 'selected="selected"'?> >Антон пеш</option>
<option value="Рома" <?php if ($postrow[$i]['kurier'] == "Рома") echo 'selected="selected"'?> >Рома</option>
<option value="Игорь" <?php if ($postrow[$i]['kurier'] == "Игорь") echo 'selected="selected"'?> >Игорь</option>
<option value="Костя" <?php if ($postrow[$i]['kurier'] == "Костя") echo 'selected="selected"'?> >Костя</option>
<option value="Олег" <?php if ($postrow[$i]['kurier'] == "Олег") echo 'selected="selected"'?> >Олег</option>
<option value="Леша И." <?php if ($postrow[$i]['kurier'] == "Леша И.") echo 'selected="selected"'?> >Леша И.</option>
<option value="Л" <?php if ($postrow[$i]['kurier'] == "Л") echo 'selected="selected"'?> >Л</option>
<option value="Паша" <?php if ($postrow[$i]['kurier'] == "Паша") echo 'selected="selected"'?> >Паша</option>
<option value="Степа" <?php if ($postrow[$i]['kurier'] == "Степа") echo 'selected="selected"'?> >Степа</option>
<option value="Дима" <?php if ($postrow[$i]['kurier'] == "Дима") echo 'selected="selected"'?> >Дима</option>
<option value="Женя" <?php if ($postrow[$i]['kurier'] == "Женя") echo 'selected="selected"'?> >Женя</option>
</select>
</td>
<tr>
<td bgcolor="#1C86EE">Статус:</td>
<td>
<select name="test_status">
<option value="Не указано" <?php if ($postrow[$i]['status'] == "Не указано") echo 'selected="selected"'?> >Не указано</option>
<option style="color: green; font-weight: bold;" value="Сообщено" <?php if ($postrow[$i]['status'] == "Сообщено") echo 'selected="selected"'?> >Сообщено</option>
<option style="color: OrangeRed; font-weight: bold;" value="Забрано" <?php if ($postrow[$i]['status'] == "Забрано") echo 'selected="selected"'?> >Забрано</option>
<option style="color: red; font-weight: bold;" value="Отменено" <?php if ($postrow[$i]['status'] == "Отменено") echo 'selected="selected"'?> >Отменено</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="submit_edit" class="buttons" style="background-color:#BC8F8F" value="Сохранить изменения"/>
</td>
</tr>
</table>
</form>
<?php endfor ?>
<?php
// <input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.10';"/>
// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
/* Закрываем соединение */
mysql_close();
/* Выводим ссылку возврата */
//echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Вернуться назад</a></div>");
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</body>
Что собственно нужно.
После нажатия на кнопку "Сохранить изменения" данные обновляются и обновляется страница. Обновляется она естественно в начало.
Нужно сделать так, что бы после нажатия на кнопку и обновления страница, мы оказывались на том же заказе, который обновляли.
Подсказали, что это можно сделать якорем.
На постоянное место - естественно можно. Но у меня таблица не постоянна. заказы меняются каждый день.
Как же (возможно_ сделать так, что бы при обработке запроса и выводе данных в таблицу, каждой форме генерировался свой якорь, ну и при обновлении закидывало именно на него.
Это как вижу я... а что скажете вы?
П.С.
На всяк пожарный. Вот скрин странички

Спасибо.
Спустя 1 час, 1 минута, 53 секунды (30.01.2012 - 12:48) UnWind написал(а):
При выводе, например в атрибуте выставляешь id записи и все тут.
А далее по этому якорю возвращаешься назад к нужной записи.
Тут все так же просто, как и было ранее и работает по одному и тому же принципу как и во всех моих объяснениях.
А далее по этому якорю возвращаешься назад к нужной записи.
Тут все так же просто, как и было ранее и работает по одному и тому же принципу как и во всех моих объяснениях.

Спустя 9 минут, 59 секунд (30.01.2012 - 12:58) WisesT написал(а):
Но вот именно сегодня, я тебя нифига не понял xD
Спустя 4 минуты, 12 секунд (30.01.2012 - 13:02) UnWind написал(а):
WisesT
Ладно, объясню доступней.
Например у тебя есть база пользователей и тебе нужно вывести их логины жирным.
Что ты будешь делать ? (Пример на цикле while и mysql_fetch_array)
Что мешает точно так же привязать якоря в виде id ? ;)
Ладно, объясню доступней.
Например у тебя есть база пользователей и тебе нужно вывести их логины жирным.
Что ты будешь делать ? (Пример на цикле while и mysql_fetch_array)
<?php
while($select = mysql_fetch_array($query)) {
echo '<b>' . $select['login'] . '</b>';
}
Что мешает точно так же привязать якоря в виде id ? ;)
Спустя 3 минуты, 41 секунда (30.01.2012 - 13:06) redreem написал(а):
вот незамысловатый примерчик "как прицепить якорь к форме".
<?php
$formNum = 10;
$content = '';
for ($i = 1; $i <= $formNum; $i++) {
$cFormBegin = '<form action="#f'.$i.'" style="width:80%;margin:20px auto;height:500px;background:#faa">';
$cFormAnchor = '<a name="f'.$i.'"></a>';
$cFormContent = '<span style="font-size:30px">Форма f'.$i.'</span>';
$cFormSubmit = '<input type="submit" value="Отправить"/>';
$cFormEnd = '</form>';
$content .= $cFormAnchor.$cFormBegin.$cFormContent.$cFormSubmit.$cFormEnd;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=windows-utf-8" />
<title>Anchor test</title>
</head>
<body style="width:100%">
<?php echo $content; ?>
</body>
</html>
Спустя 12 минут, 41 секунда (30.01.2012 - 13:19) WisesT написал(а):
тоесть нужно что-то вроде
а вот как к кнопочке привязать?
<a name="$postrow[$i]["nomer"]"></a><form action="" method="post" name="edit_form">
<input type="hidden" name="update" value="<?php echo $postrow[$i]["nomer"]?>" />
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" style="border-bottom:solid 1px #CCCCCC;"><b><i><div nomer="num"><pre><font color="#0000FF">Номер заказа: </font><font size=5> <?php echo $postrow[$i]["nomer"]?></font> <font color="#0000FF"> Дата: </font> <?php echo $postrow[$i]['formatTime']?></pre></div></b></i></td>
</tr>
бла бла
<tr>
<td colspan="2" align="center">
<input type="submit" name="submit_edit" class="buttons" style="background-color:#BC8F8F" value="Сохранить изменения"/>
</td>
</tr>
</table>
</form>
а вот как к кнопочке привязать?
Спустя 2 минуты, 10 секунд (30.01.2012 - 13:21) UnWind написал(а):
WisesT
Цитата |
а вот как к кнопочке привязать? |
Читай про якоря)
Спустя 1 минута, 22 секунды (30.01.2012 - 13:22) WisesT написал(а):
ааа, стоп.
вот так наверное
хотя....
вот так наверное
<a name="#$postrow[$i]["nomer"]"></a><form action="#$postrow[$i]["nomer"]" method="post" name="edit_form">
<input type="hidden" name="update" value="<?php echo $postrow[$i]["nomer"]?>" />
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" style="border-bottom:solid 1px #CCCCCC;"><b><i><div nomer="num"><pre><font color="#0000FF">Номер заказа: </font><font size=5> <?php echo $postrow[$i]["nomer"]?></font> <font color="#0000FF"> Дата: </font> <?php echo $postrow[$i]['formatTime']?></pre></div></b></i></td>
</tr>
бла бла
<tr>
<td colspan="2" align="center">
<input type="submit" name="submit_edit" class="buttons" style="background-color:#BC8F8F" value="Сохранить изменения"/>
</td>
</tr>
</table>
</form>
хотя....
Спустя 2 минуты, 42 секунды (30.01.2012 - 13:25) redreem написал(а):
тебе надо внести в форму или рядом с ней якорь
<a name="$postrow[$i]["nomer"]'"></a>
<a name="$postrow[$i]["nomer"]'"></a>
Спустя 54 секунды (30.01.2012 - 13:26) WisesT написал(а):
якорь то внести можно.
Как заставить после нажатия на кнопку, обновить данные и вернуться к якорю?
Как заставить после нажатия на кнопку, обновить данные и вернуться к якорю?
Спустя 14 секунд (30.01.2012 - 13:26) UnWind написал(а):
WisesT
Проверяй сам) А то пока мы будем отвечать тебе на все, ты так ничему и не научишься)
А если уже совсем в ступор впадешь, то тогда уже поможем.
Проверяй сам) А то пока мы будем отвечать тебе на все, ты так ничему и не научишься)
А если уже совсем в ступор впадешь, то тогда уже поможем.
Спустя 2 минуты, 12 секунд (30.01.2012 - 13:28) WisesT написал(а):
ну, якорь то я уже написал, верно?
вот только не знаю, нужно ли #
а вот как привязать возврат на якорь....
<a name="#$postrow[$i]["nomer"]"></a><form action="" method="post" name="edit_form">
вот только не знаю, нужно ли #
а вот как привязать возврат на якорь....
Спустя 5 минут, 56 секунд (30.01.2012 - 13:34) UnWind написал(а):
WisesT
Правильно)
А теперь читай про ссылки и про якоря в ссылках. В форме ссылка неправильная.
Правильно)
А теперь читай про ссылки и про якоря в ссылках. В форме ссылка неправильная.
Спустя 51 секунда (30.01.2012 - 13:35) redreem написал(а):
# в имени якоря не нужно. # нужен в action только, чтобы сказать ссылке что это якорь.
ты походу половину символов, которые тебе пишут считаешь не важными.
в программировании +-1 символ имеет весомое значение.
в моем примере все же предельно просто. тебе нужно было просто добавить в генерацию своих форм эти плюшки и все.
ты походу половину символов, которые тебе пишут считаешь не важными.
в программировании +-1 символ имеет весомое значение.
в моем примере все же предельно просто. тебе нужно было просто добавить в генерацию своих форм эти плюшки и все.
Спустя 16 минут, 29 секунд (30.01.2012 - 13:52) WisesT написал(а):
<a name="$postrow[$i]["nomer"]"></a>
<form action="#$postrow[$i]["nomer"]" method="post" name="edit_form">
О.о ?
Спустя 3 минуты, 17 секунд (30.01.2012 - 13:55) WisesT написал(а):
Вроде как работает. Перекидывает после кнопки, но н к тому заказу который редактировал, а к первому. Уже прогресс)) уже ж не на начало)
Спустя 2 минуты, 49 секунд (30.01.2012 - 13:58) redreem написал(а):
<a name="<?php echo $postrow[$i]['nomer']?>"></a>
<form action="#<?php echo $postrow[$i]['nomer']?>" method="post" name="edit_form">
ну типа так.
<form action="#<?php echo $postrow[$i]['nomer']?>" method="post" name="edit_form">
ну типа так.
Спустя 1 минута, 24 секунды (30.01.2012 - 13:59) WisesT написал(а):
Цитата (redreem @ 30.01.2012 - 10:35) |
# в имени якоря не нужно. # нужен в action только, чтобы сказать ссылке что это якорь. ты походу половину символов, которые тебе пишут считаешь не важными. в программировании +-1 символ имеет весомое значение. в моем примере все же предельно просто. тебе нужно было просто добавить в генерацию своих форм эти плюшки и все. |
Спасибо, за пример, но я нем запутыаюсь.
Спустя 2 минуты, 6 секунд (30.01.2012 - 14:01) WisesT написал(а):
Аааа! вот оно что)
я был не далек)
Спасибо.
я был не далек)
Спасибо.