помогите найти ошибку ...

Главные вкладки

Аватар пользователя antixwds antixwds 5 января 2011 в 0:13

Друзья, подскажите, пожалуйста, где ошибка в коде... он не работает в итоге ...

<?php
$result
=db_query("SELECT * FROM `katalog_prices` WHERE `subcategory`='ventfas');
$rows = db_affected_rows($result);  
echo "
<form action=updatenow.php method=post>";  
for(
$count = 0;$count < $rows;$count++)  
{  
$temp = $temp=db_fetch_array($result, MYSQL_ASSOC);
echo "
<input type=text name='prod_id[$count]' value='$temp[prod_id]'>";  
echo "
<input type=text name='prod_name[$count]' value='$temp[prod_name]'>";  
echo "
<input type=text name='price[$count]' value='$temp[price]'>";  
echo prod_id[
$count];
}  
echo "
<input type=submit name='Обновить'>";  
echo "
</form>"; 
?>

SELECT 100% рабочий так как взят из другого рабочего места))

Комментарии

Аватар пользователя xxandeadxx xxandeadxx 5 января 2011 в 1:01

"antixwds" wrote:
$result=db_query("SELECT * FROM `katalog_prices` WHERE `subcategory`='ventfas');

двойные кавычки не закрыты. в целом код чуть более чем ужасен

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 5 января 2011 в 1:01

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:

Вообще-то селект будет правильнее так


Селект вполне воркабельный, не АПИчно конечно, но что делать.
А вот ручная генерация формы намекает на быдлокод

Аватар пользователя v1adimir@drupal.org v1adimir@drupal.org 5 января 2011 в 1:21

ну кавычки не закрыты, как уже указали.

смущает двойное присваивание в строке:
$temp = $temp = db_fetch_array($result, MYSQL_ASSOC);

и строки типа:
echo "<input type=text name='prod_id[$count]' value='$temp[prod_id]'>";

как я помню с раскрытием переменных-индексов массивов в двойных кавычках в PHP есть проблемы. их нужно через {} прописывать, чтобы они однозначно прочитывались, но еще лучше через конкатенацию собирать строку.

echo "<input type=text name='prod_id[" . $count . "]' value='" . $temp[prod_id] . "'>";