[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: <form action>
Dmitry
Здравствуйте такая проблема,
делаю обычную обработку формы вот этой:
HTML
<form action="?action=country" method="post" />
<center>
Выберете страну:&nbsp;<input type="radio" checked name="GE" value="CZ" />Чехия
<input type="radio" name="GE" value="GE" />Германия
<input type="radio" name="GE" value="AU" />Австрия<br />
<input style="font-family:Times New Roman;" type="submit" name="go" value="Cмотреть" /><center>
echo'</form>';

в строке action="?action=country" после country хочу добавить чтобы он писал еще и что выбрано,
пробовал сделать так:
PHP
action="?action=country='.$_POST['value'].'"

но ничего не получается.
помогите пожалуйсто прописать правильно. Заранее Спасибо.



Спустя 9 минут, 33 секунды (5.06.2009 - 12:19) FatCat написал(а):
Цитата (Dmitry @ 5.06.2009 - 13:10)
method="post"

Удалите, и будет писать в строке. cool.gif

Спустя 7 минут, 20 секунд (5.06.2009 - 12:26) Dmitry написал(а):
Вы имеете ввиду метод GET использовать?

Спустя 2 минуты, 20 секунд (5.06.2009 - 12:29) FatCat написал(а):
Да, конечно. Тогда все переменные будут передаваться в адресной строке.

Спустя 1 минута, 9 секунд (5.06.2009 - 12:30) twin написал(а):
HTML
action="?action=country&value='.$_POST['value'].'"

Ток не понятно зачем

Спустя 14 минут, 23 секунды (5.06.2009 - 12:44) Dmitry написал(а):
у меня просто проблема с переключением страниц, поэтому хочу сделать чтобы в браузере писалось полностью где я и чтобы потом по этой ссылке я переходил на другую страницу, этой страны.
Но опять ничего не получилось sad.gif , он меня почемуто перекидывает на первую страницу(по умолчанию у меня выбрана Чехия).
Может быть это не в методе проблема а в ссылке на другую страницу?
я ссылаюсь вот так:
PHP
$qge_page mysql_query("SELECT * FROM vylet WHERE country='Германия'");
$amount_ge mysql_num_rows($qge_page);

$pages_ge ceil($amount_ge/$max);
$_p_ge $_GET['page_country_ge'];
 if(!
$_p_ge OR $_p_ge =='') {
$min 0;
}
 else {
$min = ($_p_ge*$max)-$max ;
 }

здесь код.

for(
$o=1;$o<=$pages_ge;$o++) {

if(
$_p_ge != $o) {echo '<a href="'.$SERVER['PHP-SELF'].'?page_country_ge='.$o.'">['.$o.']</a>&nbsp;';}
if(
$_p_ge == $o) {echo '<b>['.$o.']&nbsp;</b>';}
}

Спустя 20 минут, 30 секунд (5.06.2009 - 13:05) glock18 написал(а):
HTML
<form action="?action=country" method="post" />


с таким action'ом при сабмите, если использовать метод get параметры не все будут переданы.

Если хочешь использовать непременно get, то убери action=country из урла в action (оставь пустое поле, в общем), а в форму добавь
HTML
<input type="hidden" name="action" value="country" />


Тогда будет счастье твоей форме)))

Спустя 10 минут, 29 секунд (5.06.2009 - 13:15) Dmitry написал(а):
Спасибо изменил все равно проблему не решил sad.gif
Теперь не знаю на что дать ссылку при переходе на другую страницу,
в браузере теперь пишет:
GE=GE&action=country&go=C%D0%BC%D0%BE%D1%82%D1%80%D0%B5%D1%82%D1%8C

мне нужно дать ссылку здесь:
PHP
for($o=1;$o<=$pages_ge;$o++) {

if(
$_p_ge != $o) {echo '<a href="'.$SERVER['PHP-SELF'].'?page_country_ge='.$o.'">['.$o.']</a>&nbsp;';}
if(
$_p_ge == $o) {echo '<b>['.$o.']&nbsp;</b>';}
}

он меня почемуто всегда перекидывает на первую страницу а не на ту с выбранной страной...
подскажите пожалуйсто как прописать проавильно ссылку чтобы он не в начало шел а оставался на выбранной стране. Спасибо

Спустя 1 час, 38 минут, 30 секунд (5.06.2009 - 14:54) glock18 написал(а):
PHP
if($_p_ge != $o) {echo '<a href="'.$SERVER['PHP-SELF'].'?page_country_ge='.$o.'">['.$o.']</a>&nbsp;';}


очевидно, прописать ее в виде параметра в урле.

ну что-нибудь типа:

PHP
if($_p_ge != $o) {echo '<a href="'.$SERVER['PHP-SELF'].'?page_country_ge='.$o.'&country='Germany'">['.$o.']</a>&nbsp;';}


Вообще говоря, имя параметра page_country_ge наталкивает меня на мысли, что в этом неверная логика. весь код скрипта сюда давай

Спустя 10 минут, 48 секунд (5.06.2009 - 15:05) Dmitry написал(а):
вот часть кода когда выбрана Чехия, все остальные одиннаковые только страна меняется:
PHP
echo'<form action="" method="POST"/>';
echo
'<center>';
echo
'Выберете страну:&nbsp;<input type="radio" checked name="GE" value="CZ" />Чехия';
echo
'<input type="radio" name="GE" value="GE" />Германия';
echo
'<input type="radio" name="GE" value="AU" />Австрия<br />';
echo
'<input type="hidden" name="action" value="country" />';
echo
'<input style="font-family:Times New Roman;" type="submit" name="go" value="Cмотреть" /><center>';
echo
'</form>';

$q mysql_query("SELECT * FROM vylet WHERE country='Чехия'");
$amount mysql_num_rows($q);

$pages ceil($amount/$max);
$_p $_GET['page_country_cz'];
 if(!
$_p OR $_p =='') {
$min 0;
}
 else {
$min = ($_p*$max)-$max ;
 }

if(
$_POST['GE'] =='CZ'){
$qcz mysql_query("SELECT * FROM vylet WHERE country='Чехия' LIMIT ".$min.",".$max."");
    if(
mysql_num_rows($qcz)>0){
    while(
$rcz mysql_fetch_array($qcz)){
    echo
'<table class="table_tour">';
    echo
'<tr>';
    echo
'<td colspan="2" class="td_tour">';
    echo 
$rcz['country'].'-'.$rcz['town'];
    echo
'</td>';
    echo
'<tr>';
    echo
'<td class="td_tour_foto">';
    echo
'<a href="tour_info.php?id='.$rcz['id'].'"><img src="nabidka/'.$rcz['img_url'].'" width="150px" height="100px" border="0"></a>';
    echo
'</td>';
    echo
'<td class="td_tour_text">';
    echo
'<a class="a_text_tour" href="tour_info.php?id='.$rcz['id'].'">'.ucfirst(substr($rcz['desc'],0,200)).'...</a><br /><br />Количество дней:'.$rcz['how_long'].'<br /><div align="right" style="text-align:right;"><a class="a_tour" href="tour_info.php?id='.$rcz['id'].'">подробнее>></a></div>';
    echo
'</td>';
    echo
'</tr>';
    echo
'</table><br />';
    }
    for(
$n=1;$n<=$pages;$n++) {

if(
$_p != $n) {echo '<a href="'.$_SERVER['PHP-SELF'].'?page_country_cz='.$n.'">['.$n.']</a>&nbsp;';}
if(
$_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
    }else{echo
'<div align="center">Ничего не найдено.</div>';}
}

Спустя 17 минут, 11 секунд (5.06.2009 - 15:22) twin написал(а):
И что, на каждую страну такой файл? Одного достаточно вполне. Надо в запрос просто подставить страну. А лучше id страны. Вообще в урле нельзя напрямую писать кирилицу, он её кодирует. Если сильно надо, то нужно на приеме urldecode()

Спустя 10 минут, 20 секунд (5.06.2009 - 15:32) Dmitry написал(а):
Спасибо за примечание с кирилицей, исправлю.
Можешь пожалуйсто поподробнее как можно использовать только один файл?
как задать в if все условия, если у меня 3 страны?

Спустя 5 минут, 24 секунды (5.06.2009 - 15:38) glock18 написал(а):
PHP
if (isset($_POST['GE']))
{
  switch(
$_POST['GE'])
  {
    case 
'GE':
      
$country 'Германия';
      break;
    case 
'EN':
      
$country 'Англия';
      break;
    default:
      
$country 'Чехия';
      break;
  }
}
else
{
  
$country 'Чехия';
}


Далее везде вместо "чехия" ставишь $country.

Спустя 15 минут, 20 секунд (5.06.2009 - 15:53) Dmitry написал(а):
Блин спасибо огромное а то я везде как *** писал кучу повторений, а все оказалось так просто huh.gif
теперь правда опятьже не получается переключаться между страницами, т.е. у меня параметр max = 5, он показывает 5 строк а остальные когда нажимаю на вторую страницу, то он просто идет на первую где выбор...

Спустя 28 минут, 27 секунд (5.06.2009 - 16:21) glock18 написал(а):
С параметрами разберись. то что дал выше - весь скрипт? кажется, нет.

Спустя 2 минуты (5.06.2009 - 16:23) Dmitry написал(а):
Весь теперь выглядет так:
PHP
<?php 
@include("inc/config.inc.php");
@include(
"inc/functions.inc.php");
@include(
"top.txt");
@include(
"body_top.txt");
echo
'<td class="td_text">';
echo
'<form action="" method="POST"/>';
echo
'<center>';
echo
'Выберете страну:&nbsp;<input type="radio" checked name="GE" value="CZ" />Чехия';
echo
'<input type="radio" name="GE" value="GE" />Германия';
echo
'<input type="radio" name="GE" value="AU" />Австрия<br />';
echo
'<input type="hidden" name="action" value="country" />';
echo
'<input style="font-family:Times New Roman;" type="submit" name="go" value="Cмотреть" /><center>';
echo
'</form>';

if (isset($_POST['GE']))
{
  switch($_POST['GE'])
  {
    case 'GE':
      $country = 'Германия';
      break;
    case 'AU':
      $country = 'Австрия';
      break;
    default:
      $country = 'Чехия';
      break;
  }
}
else
{
  $country = 'Чехия';
}

$q = mysql_query("SELECT * FROM vylet WHERE country='".$country."'");
$amount = mysql_num_rows($q);

$pages = ceil($amount/$max);
$_p = $_GET['page_country'];
 if(!$_p OR $_p =='') {
$min = 0;
}
 else {
$min = ($_p*$max)-$max ;
 }

    $qcz = mysql_query("SELECT * FROM vylet WHERE country='".$country."' LIMIT ".$min.",".$max."");
    if(mysql_num_rows($qcz)>0){
    while($rcz = mysql_fetch_array($qcz)){
    echo'<table class="table_tour">';
    echo'<tr>';
    echo'<td colspan="2" class="td_tour">';
    echo $rcz['country'].'-'.$rcz['town'];
    echo'</td>';
    echo'<tr>';
    echo'<td class="td_tour_foto">';
    echo'<a href="tour_info.php?id='.$rcz['id'].'"><img src="nabidka/'.$rcz['img_url'].'" width="150px" height="100px" border="0"></a>';
    echo'</td>';
    echo'<td class="td_tour_text">';
    echo'<a class="a_text_tour" href="tour_info.php?id='.$rcz['id'].'">'.ucfirst(substr($rcz['desc'],0,200)).'...</a><br /><br />Количество дней:'.$rcz['how_long'].'<br /><div align="right" style="text-align:right;"><a class="a_tour" href="tour_info.php?id='.$rcz['id'].'">подробнее>></a></div>';
    echo'</td>';
    echo'</tr>';
    echo'</table><br />';
    }
    for($n=1;$n<=$pages;$n++) {

if(
$_p != $n) {echo '<a href="'.$_SERVER['PHP-SELF'].'?page_country='.$n.'">['.$n.']</a>&nbsp;';}
if(
$_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
    }else{echo'<div align="center">Ничего не найдено.</div>';}
@include(
"body_bottom.txt");

проблема как я понимаю в <a href="'.$_SERVER['PHP-SELF'].'?page_country='.$n.'">

Спустя 17 минут, 36 секунд (5.06.2009 - 16:41) glock18 написал(а):
1. откуда берется $max? если только инициализируется где-то в инклюде.
2. так
PHP
$q mysql_query("SELECT * FROM vylet WHERE country='".$country."'");
$amount mysql_num_rows($q);

не надо. очень плохо так делать. почитай лучше про COUNT() в mysql с ним будет работать на много быстрее. Я, конечно, понимаю что сейчас у тебя все и так быстро работает, но это изменится когда записей побольше будет в таблице.

3. Уверен, что передается $_GET['page_country']?
4. А ты в курсе, что у тебя пейджер всегда будет показывать все страницы сколько бы их не было?

Ну кроме $max и $_GET['page_country'] ничего вроде не должно помешать.

замени разве что
PHP
if(!$_p OR $_p =='') {
$min 0;
}

на
PHP
if(!$_p) {
$min 0;
}


и неплохо было бы проверку перед обращением к $_GET['page_country'] поставить

Спустя 1 минута, 9 секунд (5.06.2009 - 16:42) glock18 написал(а):
Цитата
проблема как я понимаю в <a href="'.$_SERVER['PHP-SELF'].'?page_country='.$n.'">


не знаю насколько ЭТО проблема. ты разве не можешь посмотреть правильно ссылка формируется или нет?

Спустя 4 минуты, 5 секунд (5.06.2009 - 16:46) Dmitry написал(а):
$max у меня в конфиге прописан.
про COUNT() щас почитаю)
вроде передается, он пишет в браузере .../tours.php?page_country=2 и, что ничего не найдено, когда я на вторую стр. нажимаю.
Не вроде показывает правильно, у меня тольео в Германии больше записей чем $max он там и показывает 2 страницы.

Спустя 10 минут, 8 секунд (5.06.2009 - 16:56) Dmitry написал(а):
переделал запрос на:
SQL
$q = mysql_query("SELECT COUNT(*) FROM vylet WHERE country='".$country."'");

Теперь он почемуто не видит что в Германии больше записей, т.е. пишет что там только одна страница.
В том то и дело что мне кажется что все формируется правильно, но он постоянно меня перекидывает просто на страницу tours.php ( это на ней я выбираю страну), т.е. выбирает значение Чехия и открываеься страница .../tours.php?page_country=2 со значением Чехия по умолчанию

Спустя 34 минуты, 5 секунд (5.06.2009 - 17:30) glock18 написал(а):
а проверяешь ты, наверное, так:

PHP
$q mysql_query("SELECT COUNT(*) FROM vylet WHERE country='".$country."'"); 
$amount mysql_num_rows($q);

? smile.gif smile.gif

Спустя 35 минут, 37 секунд (5.06.2009 - 18:06) Dmitry написал(а):
ага так) неправильно?

Спустя 16 минут, 41 секунда (5.06.2009 - 18:23) Гость_hara написал(а):
Dmitry а что делает функция mysql_num_rows и что делает COUNT() ?
посмотреть ни как неполучилось, прежде чем писать код.
неужели не интересно узнать что же за функцию тебе подсказали и что она делает?
мда..

Спустя 21 минута, 26 секунд (5.06.2009 - 18:44) Dmitry написал(а):
представьте себе я прочитал...Считаем, сколько сообщений (строк) всего в таблице.

Спустя 26 минут, 52 секунды (5.06.2009 - 19:11) Гость_hara написал(а):
закономерный сколько строк в таком случае возвращает запрос
SELECT COUNT(*) FROM vylet WHERE ///и т.д.

?

Спустя 6 минут, 57 секунд (5.06.2009 - 19:18) Dmitry написал(а):
все, с таким WHERE которое указано.

Спустя 5 минут, 16 секунд (5.06.2009 - 19:23) Гость_hara написал(а):
ответ не верный, - идём и читаем что делает функция COUNT() ))

Спустя 5 минут, 14 секунд (5.06.2009 - 19:28) Dmitry написал(а):
Так вот я от сюда чтиаю http://php.inkz.ru/guest_sgl/index.php?a=7 - Считаем, сколько сообщений (строк) всего в таблице.
Потом исполбзуем функцию mysql_fetch_row, после которой у меня пишет ошибку
Fatal error: Unsupported operand types in /www/doc/www.ceskorusko.cz/www/tours/tours1.php on line 39

Спустя 4 минуты, 26 секунд (5.06.2009 - 19:33) Гость_hara написал(а):
ага то есть уже не используем mysql_num_rows() после COUNT(), к чему всё это и было сказано

надо при этом привести кусок кода с ошибкой +-5 строк хотя бы.

SQL
$q = mysql_query("SELECT COUNT(*) FROM vylet WHERE country='".$country."'");
$amount = mysql_fetch_row($q);

должно работать..

а лучше mysql_result($q,0)

Спустя 2 минуты, 15 секунд (5.06.2009 - 19:35) Гость_hara написал(а):
если ничего не менялось и 39 строка это $pages = ceil($amount/$max);
то тогда можно попробовать догадаться что возвращает mysql_fetch_row ))

Спустя 5 минут, 22 секунды (5.06.2009 - 19:40) Dmitry написал(а):
О с mysql_result($q,0) все работает)
только опять переходит не туда!
Теперь получается что он пишет в url
..../tours1.php?page_country=2 и идет на исходную страну которая установлена по умолчанию т.е. Чехия, но уже находится на второй странице т.е. когда я заново выбираю Германию то я на второй странице! (вторую страницу я нажимаю когда выбрана Германия), тоесть как я понимаю ошибка только в том что надо чтобы он перенес меня на вторую страницу в Германии.

Спустя 2 минуты, 45 секунд (5.06.2009 - 19:43) Dmitry написал(а):
mysql_fetch_row прочитал тут http://cz2.php.net/mysql_fetch_row получается что он пытается делить 0 и из за этого ошибка?

Спустя 10 минут, 29 секунд (5.06.2009 - 19:54) Guest написал(а):
mysql_fetch_row возвращает массив

Спустя 2 минуты, 36 секунд (5.06.2009 - 19:56) Dmitry написал(а):
Я понимаю а первое число массива 0 поэтому ошибка

Спустя 1 час, 15 минут, 12 секунд (5.06.2009 - 21:12) Guest написал(а):
нет не понимаешь, массив нельзя разделить на число, другой тип данных, о чём тебе красноречиво и говорит php.
а ноль можно делить на любое число, результатом будет ноль!

Спустя 14 минут, 23 секунды (5.06.2009 - 21:26) glock18 написал(а):
Цитата
..../tours1.php?page_country=2 и идет на исходную страну которая установлена по умолчанию


Ну дак. А ты передаешь параметром страну то? Нет. Вот он у тебя грузит страну по умолчанию.

Спустя 6 минут, 47 секунд (5.06.2009 - 21:33) Dmitry написал(а):
попробовал передать как ты мне писал:
PHP
if($_p != $n) {echo '<a href="'.$_SERVER['PHP-SELF'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}

теперь он в url пишет:
..../tours1.php?page_country=2&country=Германия
но опять переномит по умолчанию на Чехию

Спустя 9 часов, 34 минуты, 5 секунд (6.06.2009 - 07:07) glock18 написал(а):
PHP
if (isset($_POST['GE']))
{
  switch(
$_POST['GE'])
  {
    case 
'GE':
      
$country 'Германия';
      break;
    case 
'AU':
      
$country 'Австрия';
      break;
    default:
      
$country 'Чехия';
      break;
  }
}


Ну человек вы или нет? Сами хоть думаете/пытаетесь разобраться или ждете когда за вас все тут сделают?

Страну сейчас надо передавать POST'ом как $_POST[GE], а что вы пишете ?
Цитата
..../tours1.php?page_country=2&country=Германия


Спустя 4 часа, 20 минут, 35 секунд (6.06.2009 - 11:27) Dmitry написал(а):
Так ведь целый день этим парюсь, извиняюсь если туплю бошка не варит уже.
А POST'ом я тоже пытался и тоже самое было sad.gif

Спустя 31 минута, 5 секунд (6.06.2009 - 11:58) Dmitry написал(а):
С $_POST[GE] он пишет в url:

/tours1.phpGE?page_country=2&country=Германия

и не находит эту страницу

Спустя 4 часа, 47 минут, 50 секунд (6.06.2009 - 16:46) glock18 написал(а):
Вообще то POST вообще не передается строкой запроса.

У вас два варианта:
1. Когда страну выбирают, записывать ее в сессию. После чего брать ее не из POST, а из SESSION.
2. Отправлять страну по GET, а не по POST. Тогда можете просто дописать в урлы по параметру GE (если не переименуете его) с нужной страной.

Спустя 1 час, 46 минут, 25 секунд (6.06.2009 - 18:33) Dmitry написал(а):
Я все переделал на метод GET и написал для каждой страны код:
PHP
for($n=1;$n<=$pages;$n++) {
if(
$_GET['GE']=='GE'){
if(
$_p != $n) {echo '<a href="'.$_GET['GE'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}
if(
$_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
if(
$_GET['AU']=='AU'){
if(
$_p != $n) {echo '<a href="'.$_GET['AU'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}
if(
$_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
if(
$_GET['CZ']=='CZ'){
if(
$_p != $n) {echo '<a href="'.$_GET['CZ'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}
if(
$_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
}

но опять же не знаю как передать через GET какая страна выбрана sad.gif

Спустя 3 часа, 1 минута, 24 секунды (6.06.2009 - 21:34) twin написал(а):
Всё, что смог осилить... Уж больно криво...
PHP
<?php 
@include("inc/config.inc.php");
@include(
"inc/functions.inc.php");
@include(
"top.txt");
@include(
"body_top.txt");
echo
'<td class="td_text">';
echo
'<form action="" method="get"/>';
echo
'<center>';
echo
'Выберете страну:&nbsp;<input type="radio" checked name="country" value="CZ" />Чехия';
echo
'<input type="radio" name="country" value="GE" />Германия';
echo
'<input type="radio" name="country" value="AU" />Австрия<br />';
echo
'<input style="font-family:Times New Roman;" type="submit" name="go" value="Cмотреть" /><center>';
echo
'</form>';

if (isset(
$_GET['country']))
{
  switch(
$_GET['country'])
  {
    case 
'GE':
      
$country 'Германия';
      break;
    case 
'AU':
      
$country 'Австрия';
      break;
    default:
      
$country 'Чехия';
      break;
  }
}
else
{
  
$country 'Чехия';
}

$q mysql_query("SELECT * FROM vylet WHERE country='".$country."'");
$amount mysql_num_rows($q);

$pages ceil($amount/$max);

$min = !empty($_GET['page_country'])?1:$_GET['page_country']);
 else {
$min = ($_p*$max)-$max ;
 }

    
$qcz mysql_query("SELECT * FROM vylet WHERE country='".$country."' LIMIT ".$min.",".$max."");
    if(
mysql_num_rows($qcz)>0){
    while(
$rcz mysql_fetch_array($qcz)){
    echo
'<table class="table_tour">';
    echo
'<tr>';
    echo
'<td colspan="2" class="td_tour">';
    echo 
$rcz['country'].'-'.$rcz['town'];
    echo
'</td>';
    echo
'<tr>';
    echo
'<td class="td_tour_foto">';
    echo
'<a href="tour_info.php?id='.$rcz['id'].'"><img src="nabidka/'.$rcz['img_url'].'" width="150px" height="100px" border="0"></a>';
    echo
'</td>';
    echo
'<td class="td_tour_text">';
    echo
'<a class="a_text_tour" href="tour_info.php?id='.$rcz['id'].'">'.ucfirst(substr($rcz['desc'],0,200)).'...</a><br /><br />Количество дней:'.$rcz['how_long'].'<br /><div align="right" style="text-align:right;"><a class="a_tour" href="tour_info.php?id='.$rcz['id'].'">подробнее>></a></div>';
    echo
'</td>';
    echo
'</tr>';
    echo
'</table><br />';
    }
    for(
$n=1$n <= $pages$n++) {

if(
$_p != $n) {echo '<a href="'.$_SERVER['PHP_SELF'].'?page_country='.$n.'&country='.$_GET['country'].'">['.$n.']</a>&nbsp;';}
if(
$_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
    }else{echo
'<div align="center">Ничего не найдено.</div>';}
@include(
"body_bottom.txt");

как не силился понять, откуда $max, не смог...

Спустя 29 минут, 45 секунд (6.06.2009 - 22:04) glock18 написал(а):
Да, очень криво. Я стараюсь с таким кодом дела не иметь вообще. $max где-то определяется в одном из инклюдов в начале.

twin
так получается. только еще желательно

PHP
if (isset($_GET['country']))
{
  switch($_GET['country'])
  {
    case 'GE':
      $country = 'Германия';
      break;
    case 'AU':
      $country = 'Австрия';
      break;
    default:
      $country = 'Чехия';
      break;
  }
}
else
{
  $country = 'Чехия';
}


заменить на

PHP
$_GET['country'] = isset($_GET['country']) ? $_GET['country'] : 'CZ';
  switch($_GET['country'])
  {
    case 'GE':
      $country = 'Германия';
      break;
    case 'AU':
      $country = 'Австрия';
      break;
    default:
      $country = 'Чехия';
      break;
  }


для того чтобы здесь:

PHP
if($_p != $n) {echo '<a href="'.$_SERVER['PHP_SELF'].'?page_country='.$n.'&country='.$_GET['country'].'">['.$n.']</a>&nbsp;';}


не ругался, если страна не передана.
Конечно, лучше отдельную переменную делать вместо того, чтобы назначать GET'овую посреди скрипта, если она не передана. Ну да и ладно - пусть так будет)))

Спустя 24 минуты, 22 секунды (6.06.2009 - 22:28) Dmitry написал(а):
Работает Спасибо огромное twin и еще большее спасибо qlock18 за то что мне все объяснил smile.gif

Можно еще вопрос вы говорите все очень криво, а можете пояснить.
Я просто можно сказать только учусь, поэтому хочу знать что не правильно, сама структура или то как написано?

Спустя 58 минут, 46 секунд (6.06.2009 - 23:27) twin написал(а):
Криво, это значит нечитабельно, нелогично и непрозрачно. Но это не твоя вина, ты просто еще не опытен. Со временем ты сам поймешь, что:
1. Имена переменным надо давать такие, что бы было понятно что за переменная. А не
PHP
($_p != $n)
и тем более не GE
2. Операторы нужно отделять пробелами, а то получается каша. Вот такая:
PHP
$min = ($_p*$max)-$max ;

Да много еще чего... Со временем набьёшь руку, главное смотри как другие оформляют код.

Спустя 11 часов, 53 минуты, 53 секунды (7.06.2009 - 11:21) Dmitry написал(а):
Ясненько спасибо, буду учиться smile.gif

Спустя 5 дней, 3 часа, 39 минут, 37 секунд (12.06.2009 - 15:00) Guest написал(а):
Здравствуйте! вот очень нужен пинок в правильном направлении.
есть массив, выбирается по запросу из бд и выводится на экран:
PHP
$number mysql_num_rows($res);
    
/* Напечатать всех в красивом виде*/
     
{
      echo 
"<CENTER><P>в группе $number студентов<BR><BR>";
      
/* Получать по одной строке из таблицы в массив $row, пока строки не кончатся */
      
echo "<form ACTION=proba2.php METHOD=POST>";
      while (
$row=mysql_fetch_array($res))
      {
        echo 
"<table  border=1><tr><td width=30>".$row['groups'];
        echo 
"</td><td width=200>".$row['name_f']." ".$row['name_i']."</td><td>";
        echo 
"".$row['student_code'];
        echo 
"</td><td width=50>";
        if (
$kontr == 'зачёт')
        {
         echo 
"<SELECT NAME=ocenka>";
         echo 
"<OPTION value = Зачёт>Зачёт</option>";
         echo 
"<OPTION value = не_зачёт>не зачёт</option>";
         echo 
"<OPTION value = неявка>неявка</option>";
         echo 
"</SELECT>";
         echo 
"</td><td>";
        }
        else
        {
         echo 
"<SELECT NAME=ocenka>";
         echo 
"<OPTION value = 5>5</option>";
         echo 
"<OPTION value = 4>4</option>";
         echo 
"<OPTION value = 3>3</option>";
         echo 
"<OPTION value = 2>2</option>";
         echo 
"<OPTION value = неявка>неявка</option>";
         echo 
"</SELECT>";
        }
        echo 
"</td><td>";
        echo 
"<INPUT TYPE=text NAME=dat SIZE=10 MAXLENGTH=10>";
        echo 
"</td></tr></table>";
      }
     echo 
"<INPUT TYPE=submit VALUE=Отправить запрос!></FORM>";
     echo 
"</CENTER>";
     echo 
"<INPUT TYPE=submit VALUE=Отправить запрос!></FORM>";
     }

в результате имеем таблицу с 2-мя полями которые должен заполнить пользователь. как мне эту таблицу, после полного заполнения записать в бд.
пробовал отправлять формой, но на другой странице приходит лишь одна строка из многих. как быть? или как записать заполненную таблицу в массив и отослать дальше?

Спустя 2 часа, 21 минута, 42 секунды (12.06.2009 - 17:22) twin написал(а):
В нужном направлении прямо в первых строках вопроса пинок. Если это массив, то и передавать надо массивом.
Вообще лучше отдельную ветку открыть.

Спустя 1 день, 21 час, 8 минут, 31 секунда (14.06.2009 - 14:31) glock18 написал(а):
1. в конце name элемента надо [] добавлять, чтобы он как массив распознавался на сервере.
2. ты уверен, что вывод строки
PHP
echo "<INPUT TYPE=submit VALUE=Отправить запрос!></FORM>";

два раза здесь действительно нужен?)))
Быстрый ответ:

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