Цель - обновить данные в таблице.
Код:
$buza[$c] = mysql_fetch_array($q);
$newOstatok=$buza[$c][ostatok]-$buza[$c][rashod]+buza[$c][prihod];
Даёт ошибку
Parse error: syntax error, unexpected '[' in **** on line 74.
Как лучше организовать этот кусок? Нужно иметь возможность динамически обращаться как к результату fetch_array, так и к числовому индексу...
Спустя 57 минут, 21 секунда (9.12.2010 - 02:05) sixpoundeeer написал(а):
Боюсь, что с таким описанием проблемы, Вам тут никто не поможет.
Спустя 5 часов, 43 минуты, 48 секунд (9.12.2010 - 07:49) Guest написал(а):
Ок.
Кассовая программа
mysql_fetch_array($q, MYSQL_ASSOC);
[php]
а вторым произвольные числа?
Кассовая программа
$q = mysql_query("SELECT * \n FROM kassa \n WHERE number >= '$newNumbStatyi' \n ORDER BY number ASC");
$buza[-1] = mysql_fetch_array($q);
for ($c=0; $c<mysql_num_rows($q)-1; $c++)
{
$buza[$c] = mysql_fetch_array($q, MYSQL_ASSOC);
$newOstatok=$buza[ostatok][$c]-$buza[rashod][$c]+buza[prihod][$c];
$newOstatok=$buza[$c-1][ostatok]-$buza[$c][rashod]+buza[$c][prihod];
mysql_query("UPDATE kassa \n SET ostatok = '$newOstatok' \n WHERE number = 'buza[$c][number]'");
}
[php]
Вопрос собственно такой: как организовать двумерный массив, чтобы одним индексом шли значения строки из
mysql_fetch_array($q, MYSQL_ASSOC);
[php]
а вторым произвольные числа?
Спустя 1 минута, 39 секунд (9.12.2010 - 07:51) Гость_Артём написал(а):
В коде вот эта строчка не нужна*
$newOstatok=$buza[$c-1][ostatok]-$buza[$c][rashod]+buza[$c][prihod];
Спустя 3 часа, 19 минут, 38 секунд (9.12.2010 - 11:10) linker написал(а):
$buza = array();
$q = mysql_query("SELECT * \n FROM `kassa` \n WHERE `number` >= '$newNumbStatyi' \n ORDER BY `number` ASC");
while($row = mysql_fetch_assoc($q))
{
$buza[] = $row;
$newOstatok = $row['ostatok'] - $row['rashod'] + $row['prihod'];
... // Далее думаем сами
}
Спустя 4 часа, 36 минут, 53 секунды (9.12.2010 - 15:47) Гость_Артём написал(а):
Я ацки ступил :(
Писал ночью, забыл $ поставить. Код работает с $, всё ок. Получается нормальный двумерный массив. Только вот с проблемой столкнулся ещё одной:
даёт "array[ostatok]" - прям текстом вот так.
даёт значение, лежащее в переменной.
Т.е. видимо есть премудрости использования двумерного массива в двойных кавычках, м.б. кто подскажет как с этим дело обстоит? В примере просто echo, а проблема эта стоит в sql_query...
П.С. - сам больше в плане ООП, а не веба пишу, поэтому извиняюсь за некомпетентность.
Писал ночью, забыл $ поставить. Код работает с $, всё ок. Получается нормальный двумерный массив. Только вот с проблемой столкнулся ещё одной:
echo "$buza[$c][ostatok]";
даёт "array[ostatok]" - прям текстом вот так.
$i=$buza[$c][ostatok];
echo "i";
даёт значение, лежащее в переменной.
Т.е. видимо есть премудрости использования двумерного массива в двойных кавычках, м.б. кто подскажет как с этим дело обстоит? В примере просто echo, а проблема эта стоит в sql_query...
П.С. - сам больше в плане ООП, а не веба пишу, поэтому извиняюсь за некомпетентность.
Спустя 2 часа, 56 минут, 34 секунды (9.12.2010 - 18:44) kovaldm написал(а):
Так не пробовал?
echo $buza[$c]['ostatok'];
Спустя 6 часов, 52 минуты, 53 секунды (10.12.2010 - 01:37) Гость_Артём написал(а):
Цитата (Гость_Артём @ 9.12.2010 - 12:47) |
Т.е. видимо есть премудрости использования двумерного массива в двойных кавычках, м.б. кто подскажет как с этим дело обстоит? В примере просто echo, а проблема эта стоит в sql_query... П.С. - сам больше в плане ООП, а не веба пишу, поэтому извиняюсь за некомпетентность. |
читаем
Спустя 1 день, 19 часов, 58 минут, 37 секунд (11.12.2010 - 21:35) Гость_Артём написал(а):
А есть дебагеры, позволяющие выполнять пошаговую трассировку в php, если серв не у меня на компьютере?
Скажем, опустить запросы к sql и потрейсить остальной код?
Скажем, опустить запросы к sql и потрейсить остальной код?