проблема при передаче переменной в форме.

bigawl

Новичок
проблема при передаче переменной в форме.

Есть, 2 файла, в одном задаются переменные, в другом они обрабатываются и вносятся в базу.
Вот первый код:


PHP:
$result = mysql_query($sql_marcet);
print " 	<form method = post
		action = marcet_price_i_a.php>
		<table border = 1>
   				<tr>
   					<td>date</td>
    				<td>issue name</td>
    				<td>Price RUR</td>
    				</tr>";
    				
   while ($row = mysql_fetch_array($result))
   {
	  $name = $row[name];
	  $price = $row[price];
      $chena = $row[id];

	  print "<tr>";
	  print"<td>$n_date</td>\n";
      print "<td>$name</td>\n";
      print "<td><input type = text
      		name = $_SESSION[$chena]
      		value = $price>
      		</td>";

      print "</tr>\n\n";
   };
      print "</table>\n";
      print "<input type = submit  value = Ввод>";
      print "</form>";


Здесь принимается переменная $_SESSION[$chena] (она должна получиться что-то вроде, $_SESSION[1] $_SESSION[2] и т.д. в квадратных скобках ид.





PHP:
//добавляем данные
while ($array_name_issue = mysql_fetch_array($result_name_issue))
	{
	 $issue_id_n = $array_name_issue[issue_id];
	 $issue_name_n = $array_name_issue[issue_name];
	 print "$_SESSION[$issue_id_n]<br>";
                 тут он по иде долженбыл бы написать price которые внес пользователь,а выводит только пустоту с переходом на другую строку.

	 $sql_ins = " [sql]INSERT`test`.`market_price`(`id_issue`,`price`,`date`)VALUES('$issue_id_n','$_SESSION[$issue_id_n]','$_SESSION[date_1525]')[/sql] ;";
     mysql_query($sql_ins);

	};



По завершению мускуль сообщает следующее: Data truncated for column 'price' at row 1
( строка запроса INSERT `test`.`market_price` (`id_issue`,`price`,`date`)VALUES ('$issue_id_n','$_SESSION[$issue_id_n]','$_SESSION[date_1525]')
Пожалуйста подскажите что с этим делать, уже 4 дня бьюсь.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
оформь топик в соответствии с правилами форума.
sql запрос - должен быть sql-запросом а не мешаниной php и mysql.
Тем-более если у тебя проблемы именно с запросом.

-~{}~ 20.04.08 21:14:

Исправил, прости за не внимательность
Это нельзя назвать исправлениям
[telepat_mode]
В данном запросе для поля price веротнее всего при заполенении юзер указывает разделитель , вместо .
[/telepat_mode]
 

bigawl

Новичок
Автор оригинала: Mr_Max
sql запрос - должен быть sql-запросом а не мешаниной php и mysql.
Тем-более если у тебя проблемы именно с запросом.

-~{}~ 20.04.08 21:14:


Это нельзя назвать исправлениям
[telepat_mode]
В данном запросе для поля price веротнее всего при заполенении юзер указывает разделитель , вместо .
[/telepat_mode]
Эскуэль запрос теперь как эскуэль, потребовалось только убрать пробелы.
Проблема не совсем в запросе, скорее в передаче данных. $_SESSION[$chena] приходит пустой, уже пробовал вместо $chena подставлять конкретные значения, всеравно пустая, а на первой странице,
PHP:
print $_SESSION[$chena];
все нормально.
Пробовал сам, ставил точку, а не запятую, уже наобжигался с этим.
 

bigawl

Новичок
Я пробовал уже искать и не только на этом сайте, но вот не могу понять в чем ошибка.
Поясни пожалуйста.
ссылки почему-то не открываются
 

bigawl

Новичок
string(85) "INSERT `test`.`market_price` (`id_issue`,`price`,`date`)VALUES ('1','','2008-04-11');"
string(85) "INSERT `test`.`market_price` (`id_issue`,`price`,`date`)VALUES ('2','','2008-04-11');"
string(85) "INSERT `test`.`market_price` (`id_issue`,`price`,`date`)VALUES ('9','','2008-04-11');"
string(86) "INSERT `test`.`market_price` (`id_issue`,`price`,`date`)VALUES ('10','','2008-04-11');"
string(86) "INSERT `test`.`market_price` (`id_issue`,`price`,`date`)VALUES ('11','','2008-04-11');"
 

bigawl

Новичок
Автор оригинала: baev
— и как этот кусок выглядит в HTML'е?
вот этот участок на стороне клиента в ХТМЛ
<tr><td>2007-04-20</td>
<td>RUR</td>
<td><input type = text
name =
value = '1'>
</td></tr>

<tr><td>2007-04-20</td>
<td>USD</td>
<td><input type = text
name =
value = '23.17'>
</td></tr>

Тут не задано имя переменной, если задать ее обычной переменной ( допустим $qwerty поочередно равной 1,2,3 и т.д.) в наме фигурируют 1,2,3 и т.д. но опятьже при получении вторым файлом, она остается пустой.
МОжет ее стоит как-то экранировать, ведь хтмл, скорее всего не распознает $_SESSION[$chena] ?

можно ли сделать так?
PHP:
print "<tr>";
      print"<td>$n_date</td>\n";
      print "<td>$name</td>\n";
      print "<td><input type = text
              name =" $_SESSION[$chena]"
              value = $price>
              </td>";

      print "</tr>\n\n";
Или так:
PHP:
?>
<tr>
<td>
PHP:
<?$n_date?>
</td>\n
<td>
PHP:
<?$name?>
</td>\n
<td><input type = text
name =
PHP:
<? $_SESSION[$chena]?>
value =
PHP:
<?$price?>
>
</td>

</tr>
PHP:
<?...
 

baev

‹°°¬•
Команда форума
можно ли сделать так?
— почему бы Вам самому не попробовать?

хтмл, скорее всего не распознает $_SESSION[$chena]
— «распознающий HTML» — это сильно.

В общем, читайте до просветления:
http://ru2.php.net/manual/ru/language.types.string.php#language.types.string.parsing

P.S. Чуть не забыл.
Потом прочтите вот это:
http://phpfaq.ru/globals
 

bigawl

Новичок
Автор оригинала: baev
— почему бы Вам самому не попробовать?


— «распознающий HTML» — это сильно.

В общем, читайте до просветления:
http://ru2.php.net/manual/ru/language.types.string.php#language.types.string.parsing

P.S. Чуть не забыл.
Потом прочтите вот это:
http://phpfaq.ru/globals
С удовольствием попробую, просто сейчас не дома, и доступа к компу не имею.
Спасибо за первую ссылку, уже есть интересно для меня, вторая не открывается.
Пока, что я не нашел ответа для себя, если подобным образом открывать и закрывать PHP код, сможет ли он воспринять, что
name =
PHP:
<? $_SESSION( ) ?>
возможно кто-то уже сталкивался
 

baev

‹°°¬•
Команда форума
bigawl, начните с ответа на простой вопрос: что Вы хотите получить в html?
 

bigawl

Новичок
Автор оригинала: baev
bigawl, начните с ответа на простой вопрос: что Вы хотите получить в html?
Мне нужно получить в пхп примерно следующее
<tr><td>2007-04-20</td>
<td>RUR</td>
<td><input type = text
name = 1
value = '1'>
</td></tr>

<tr><td>2007-04-20</td>
<td>USD</td>
<td><input type = text
name = 2
value = '23.17'>
</td></tr>

и т.д.
Вопрос, как привязать name к значениею переменной
PHP:
$chena = $row[id];
Оба своих варианта попробовал, в обоих поле name остается пустым
 

Beavis

Banned
ну во-первых значение поля name поставь в кавычки и начинаться оно должно с буквы

во-вторых, чтобы вывести значение переменной надо не просто написать её имя, а ещё написать перед ним echo
что ж в таких вещах элементарных ошибаешься...
 
Сверху