switch($_GET['iz_form'])
{
case "<<==":
$nomer_zayvki=$_GET['nomer_zayvki']; //ИДЕМ НА ОДНУ ЗАПИСЬ НАЗАД ЕСЛИ ЗАПИСЬ
if($nomer_zayvki<=1){ //МЕНЬШЕ 0 ТОГДА ИДЕМ К ПОСЛЕДНЕЙ ЗАПИСИ
$nomer_zayvki=$kolvo_izhkit;
vibor();
}else{
$nomer_zayvki=$_GET['nomer_zayvki']-1;
vibor();
}
break;
case "==>>": //ИДЕМ НА ОДНУ ЗАПИСЬ ВПЕРЕД
$nomer_zayvki=$_GET['nomer_zayvki'];
if($nomer_zayvki>=$kolvo_izhkit){ //если это последняя запись то идем к первой
$nomer_zayvki=1;
vibor();
}else{
$nomer_zayvki=$_GET['nomer_zayvki']+1;
vibor();
}
break;
case "Выбрать запись": //ВЫВОДИМ ТУ ЗАПИСЬ КОТОРУЮ ЗАПРОСИЛ ПОЛЬЗОВАТЕЛЬ
if($nomer_zayvki=$_GET['nomer_zayvki']){ //если номер записи не введен то выводим сообщение
vibor();
}else{
echo"Запись для отображения не выбрана.";}
break;
}
теперь проблема:
При нажатии на кнопку "==>>" либо "<<==" меняется значение переменной
$nomer_zayvki=$_GET['nomer_zayvki'];
Оно берется из адресной строки браузера
далее если это не последняя запись прибавляем 1 к переменной
$nomer_zayvki=$_GET['nomer_zayvki']+1;
и идем в функцию выбора данных из базы
vibor();
все красиво все понятно данные выводятся в формы записи по базе перелистываются в зад вперед все как надо , НО
меня обеспокоило то, что в строке браузера
http://db.ru/?nomer_zayvki=1&iz_form=%3D%3D%3E%3E
а выводится в формы запись номер 2
нажал далее
http://db.ru/?nomer_zayvki=2&&iz_form=%3D%3D%3E%3E
вывелась запись номер 3
вообщем оно и понятно почему так я меняю значения в условии и в функцию выбора поподает запись на 1 больше что мне и надо, НО
хочется чтобы и в адресной строке браузера было то же значение
хочется как то так чтоли сделать
$_GET['nomer_zayvki']=$_GET['nomer_zayvki']+1;
как вообще ума не приложу
[MOD]Оформляйте код соответствующими тэгамиkirik[/EX]
Спустя 2 минуты, 28 секунд (17.03.2010 - 16:25) DedMorozzz написал(а):
Жуть, возьм в теги код. Нажми "редактировать" и там пооформляй нормально. Сейчас - не читабельно
Спустя 2 часа, 25 минут, 42 секунды (17.03.2010 - 18:51) morfeus написал(а):
отредактировал
Спустя 23 минуты, 21 секунда (17.03.2010 - 19:14) Игорь_Vasinsky написал(а):
совершенно не читабельно и не понятно
Спустя 30 минут, 31 секунда (17.03.2010 - 19:45) morfeus написал(а):
ну собственно я не программист...так сказать это мое хобби поэтому красоте написания меня никто не учил... проблему в принципе я решил, но к параметру гет в строке браузера я так и не научился
Спустя 7 минут, 49 секунд (17.03.2010 - 19:52) Awilum написал(а):
хм.. странно почему то на это форуме часто встречаю такие вопросы. и как они вообще возникают...
Спустя 17 минут, 14 секунд (17.03.2010 - 20:10) morfeus написал(а):
ну хоть скажите возможно ли это вообще так как мой скрипт отправляет данные сам себе через веб формы через гет данные обновляются нормально но адресная строка опаздывает почему то...
Спустя 12 часов, 17 минут, 57 секунд (18.03.2010 - 08:28) morfeus написал(а):
Отредактировал еще раз может стало понятнее...
Напишите как грамотно написать что бы кто то помог мне решить проблему...
или не ужели нет таковых и никто никогда не менял значения в адресной строке
Напишите как грамотно написать что бы кто то помог мне решить проблему...
или не ужели нет таковых и никто никогда не менял значения в адресной строке
Спустя 31 минута, 33 секунды (18.03.2010 - 08:59) morfeus написал(а):
Прошу простить кода меньше не получилось....
есть фаил index.php
Функция vibor()
все переменные perem.php
функция проверки корректности вводимых данных check.php
Вопрос при нажатии на кнопку
но в адресной строке в массиве GET значение предыдущей записи почему
есть фаил index.php
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1251"></HEAD>
<BODY>
<?php
require "mysql.php";
require "perem.php";
/*Функция проверки коректности вводимых данных в ней и иницыализируются значения переменных введеных в формы*/
require "check.php";
/*Запрос к базе данных и выбор записи это для кнопок ==>>, <<== и ВЫБРАТЬ*/
require "vibor.php";
/*Реакция на нажатие кнопок*/
switch($_GET['iz_form'])
{
case "<<==":
$nomer_zayvki=$_GET['nomer_zayvki']; //ИДЕМ НА ОДНУ ЗАПИСЬ НАЗАД ЕСЛИ ЗАПИСЬ
if($nomer_zayvki<=1){ //МЕНЬШЕ 0 ТОГДА ИДЕМ К ПОСЛЕДНЕЙ ЗАПИСИ
$nomer_zayvki=$kolvo_izhkit;
vibor();
}else{
$nomer_zayvki=$_GET['nomer_zayvki']-1;
vibor();
}
break;
case "==>>": //ИДЕМ НА ОДНУ ЗАПИСЬ ВПЕРЕД
$nomer_zayvki=$_GET['nomer_zayvki'];
if($nomer_zayvki>=$kolvo_izhkit){ //если это последняя запись то идем к первой
$nomer_zayvki=1;
vibor();
}else{
$nomer_zayvki=$_GET['nomer_zayvki']+1;
vibor();
}
break;
case "Выбрать запись": //ВЫВОДИМ ТУ ЗАПИСЬ КОТОРУЮ ЗАПРОСИЛ ПОЛЬЗОВАТЕЛЬ
if($nomer_zayvki=$_GET['nomer_zayvki']){ //если номер записи не введен то выводим сообщение
vibor();
}else{
echo"Запись для отображения не выбрана.";}
break;
}
?>
<center>
<table border="0">
<form method="GET" action="<?php $_SERVER['PHP_SELF'] ?>">
<tr bgcolor="#CCCCCC">
<td>Номер заявки:</td>
<td> <input type="Text" name="nomer_zayvki" value="<?php echo $nomer_zayvki?>"></td>
</tr>
</table>
</center>
<input type="submit" name="iz_form" value="<<==">
<input type="submit" name="iz_form" value="Выбрать запись">
<input type="submit" name="iz_form" value="==>>"><br>
</form>
</BODY>
</HTML>
Функция vibor()
<?php
function vibor(){
global
$host_Mysql,$user_Mysql,$pasw_Mysql,$tabl_Mysql,$nomer_zayvki,$data_prihoda,$data_uhoda,$data_remonta,$garantiya,$priemshik,$
ispolnitel,$id_status,$adress,$id_model,$s_n_imei,$neispr,$komplekt,$primechanie,$zip,$raboti,$id_status_zch,$personal,$statu
s,$model,$status_zch,$host_Mysql,$user_Mysql,$pasw_Mysql,$db_Mysql,$dbres,$kolvo_izhkit,$kolvo_vspom,$res,$zakazchik,$telepho
ne,$adress;
connect_Mysql();
/*Поиск записи*/
$recordresult=Mysql_query("SELECT * FROM izhkit WHERE nomer_zayvki = $nomer_zayvki",$res);//
$mysqlarray=mysql_fetch_array($recordresult);
$nomer_zayvki=$mysqlarray[nomer_zayvki];
mysql_close($res);
}
?>
все переменные perem.php
<?php
global
$host_Mysql,$user_Mysql,$pasw_Mysql,$tabl_Mysql,$nomer_zayvki,$data_prihoda,$data_uhoda,$data_remonta,$garantiya,$priemshik,$
ispolnitel,$id_status,$adress,$id_model,$s_n_imei,$neispr,$komplekt,$primechanie,$zip,$raboti,$id_status_zch,$personal,$statu
s,$model,$status_zch,$host_Mysql,$user_Mysql,$pasw_Mysql,$db_Mysql,$dbres,$kolvo_izhkit,$kolvo_vspom,$res,$zakazchik,$telepho
ne,$adress;
/* MYSQL*/
$host_Mysql="localhost";
$user_Mysql="root";
$pasw_Mysql="";
$db_Mysql="izhkit";
/*Количество записей в таблице */
connect_Mysql();
$dbres=Mysql_query("SELECT * FROM izhkit",$res);
$kolvo_izhkit=mysql_num_rows($dbres);
mysql_close($res);
/*Переменные таблицы izhkit*/
$nomer_zayvki=null;
?>
функция проверки корректности вводимых данных check.php
<?php
function check(){
global
$host_Mysql,$user_Mysql,$pasw_Mysql,$tabl_Mysql,$nomer_zayvki,$data_prihoda,$data_uhoda,$data_remonta,$garantiya,$priemshik,$
ispolnitel,$id_status,$adress,$id_model,$s_n_imei,$neispr,$komplekt,$primechanie,$zip,$raboti,$id_status_zch,$personal,$statu
s,$model,$status_zch,$host_Mysql,$user_Mysql,$pasw_Mysql,$db_Mysql,$dbres,$kolvo_izhkit,$kolvo_vspom,$res,$zakazchik,$telepho
ne,$adress;
$nomer_zayvki=$_GET['nomer_zayvki'];
$nomer_zayvki = eregi_replace("<|>|%|\"|\'|=","",$nomer_zayvki);
}
?>
Вопрос при нажатии на кнопку
<input type="submit" name="iz_form" value="==>>">функция выводит следующую запись,
но в адресной строке в массиве GET значение предыдущей записи почему
Спустя 39 минут, 53 секунды (18.03.2010 - 09:39) sergeiss написал(а):
morfeus - я объединил 2 твоих темы об одном и том же вопросе.
Вопрос: нафига плодить темы об одном и том же? Считай это первым устным предупреждением о том, что не надо нарушать Правила форума.
Вопрос: нафига плодить темы об одном и том же? Считай это первым устным предупреждением о том, что не надо нарушать Правила форума.
Спустя 3 часа, 7 минут, 54 секунды (18.03.2010 - 12:47) morfeus написал(а):
Собствеенно я подумал, что раз в разделе для начинающих не могут ничего подсказать может быть в разделе для бывалых что путнего подскажут
Спустя 1 час, 24 минуты, 14 секунд (18.03.2010 - 14:11) Awilum написал(а):
да тут каша из кода...
что это такое ??
что это такое ??
Цитата |
global $host_Mysql,$user_Mysql,$pasw_Mysql,$tabl_Mysql,$nomer_zayvki,$data_prihoda,$data_uhoda,$data_remonta,$garantiya,$priemshik,$ ispolnitel,$id_status,$adress,$id_model,$s_n_imei,$neispr,$komplekt,$primechanie,$zip,$raboti,$id_status_zch,$personal,$statu s,$model,$status_zch,$host_Mysql,$user_Mysql,$pasw_Mysql,$db_Mysql,$dbres,$kolvo_izhkit,$kolvo_vspom,$res,$zakazchik,$telepho ne,$adress; |
зачем вам столько глобальных переменных. их вообще не желательно использовать...
Спустя 26 минут, 34 секунды (18.03.2010 - 14:38) morfeus написал(а):
все эти переменные используются я просто половину кода удалил и оставил тот в котором проблема
а если глобальные переменные не юзать то к сожелению они в некоторых ф-ях недоступны
а если глобальные переменные не юзать то к сожелению они в некоторых ф-ях недоступны
Спустя 6 минут, 16 секунд (18.03.2010 - 14:44) morfeus написал(а):
а почему каша то , по мне все работает и все понятно каждая ф-я в отдельном фаилике что где сломалось репаришь только один фаилик вроде как переменные все тоже в отдельном фаиле и по всей проге их искать не надо...
а вы бы как написали программу для сервисного центра по ремонту оргтехники?
а вы бы как написали программу для сервисного центра по ремонту оргтехники?
Спустя 13 минут (18.03.2010 - 14:57) Awilum написал(а):
Цитата |
а если глобальные переменные не юзать то к сожелению они в некоторых ф-ях недоступны |
да хоть, параметрами функции
function name (Variable,Variable,Variable...) {
}
Спустя 9 минут, 55 секунд (18.03.2010 - 15:07) Guest написал(а):
Цитата |
да хоть, параметрами функции function name (Variable,Variable,Variable...) { } |
а чем плохо юзать глобальные переменные?
а то что то много параметров функ-ям придется передавать около 20 штук и еще если они будут null будет работать?
Спустя 9 минут, 59 секунд (18.03.2010 - 15:17) DedMorozzz написал(а):
что мешает класс сделать?
Спустя 5 минут, 14 секунд (18.03.2010 - 15:22) Guest написал(а):
Цитата |
что мешает класс сделать? |
до этого мой мозг еще недорос....
Спустя 27 минут, 56 секунд (18.03.2010 - 15:50) Awilum написал(а):
да там не сложно) в любой книжке по PHP открываем главу ООП и дерзаем