Заренее извиняюсь если вопрос тупой, но пока я его не то что решить, даже толком сформулировать не могу. Ситуация такова: есть формула $ncolvo=$new[colvo]-$_GET[$i] $i меняеться в цикле от 1-30. В зависимости от значения одной из переменных передаваемых в скрипт через $_GET нужно менять минус на + Пробовал таким образом (вспомнил математику "минус на минус дает плюс") If ($_GET['action']=='sdan') { $table='vidach' ; $s4='selected';$sx='-';} # для данного случая инициируем переменную содержащую знак "-" и будем добавлять ее в запросы $sql="INSERT INTO `$table` VALUES ( '', '$data', '$_GET[mont]','$i','$sx$_GET[$i]');" $ncolvo=$new[colvo]-$sx$_GET[$i];# типа таким образом ПХП на это материться и глотать такой скрипт не хочет. Причем переменная $_GET[$i] также записываеться в MySQL, соответсвенно и там она должна быть со знаком -
1. Для записи числа надо писать без кавычек. 2. Для того, чтобы подставлялся минус, надо добавить оператор конкатенции, т.е. точка. Получится $sx.$_GET[$i]
Не прокатывает в формуле $ncolvo=$new[colvo]-$sx.$_GET[$i] при $new[colvo] = 1873 и $_GET[$i] = 0 выражение $sx.$_GET[$i] = -.0235260 а $ncolvo на выводе дает 18730 видимо у ПХП своя математика.... Вот это идея! Только ума не приложу как это грамотно в код приладить?
tohyich твоя беда в том, что ты ужасно торопишься. И забываешь то, что сам только что говорил. ты бы на кошках сначала потренировался. Безо всяких SQL и GET, а просто взял бы две переменные, и поскладывал/умножал их по-всякому. раздельчик мануальчика почитал бы, про арифметику. а так ты делаешь, сам не понимая - что. то ты пишешь, что знак подставляешь в запросы, тебе объясняют, как это сделать, а ты вдруг вместо запроса пишешь его в формулу. Остановись, подумай немножко. уж перемножить-то одну переменную на другую ты в состоянии без посторонней помощи?
моя беда в том что по образованию я автослесарь, работаю руководителем эл.монтажных работ, и для автоматизации рутинных процессов мне приходиться изучать программирование и администрирование серверов. И вот придя уставшим с работы заново перебирать кучи строк кода для поиска ошибки и тонны мануалов для устранения оной. Признаюсь для меня это тяжеловато, но это все оффтоп. Поэтому я банально прошу помощи у профессионалов, или протянуть руку помощи, это так для вас сложно?
окей, объясняю специально для автослесарей. сначала автослесарь пишет: программист ему отвечает: Автослесарь, почему-то, эту информацию за помощь не принимает. Программист должен протянуть руку в редактор что ли, к автослесарю, и там ему поставить точку между переменными?
Чебурген +1 tohyich Автослесарь - это не характеристика интеллекта. Это не значит, что человек не способен понять такие вещи. Так вот. По теме: В формуле надо умножать на -1. В строке запроса надо подставить точку, или взять результат формулы.
Так я смотрю пока я в коде ковырюсь на меня бочку гонят. Итак по пунктам: Чебурген В самом начале я писал что нужно сделать и где. Там указана формула и SQL-запрос. Вариант с точкой не прокатывает в формуле, отсюда выводим вариант мертв! Davil Я не говорил ничего про интелект, я говорил что сталкиваюсь с задачами решения которых не знаю и моих сил и времени не хватает на изучение всей док-ции и поиск правильного и эффективного решения. Ко всем я просил по возможности готовый вариант решения Горбунов Олег Большое Спасибо за совет, подумав смог приладить таким образом Код (Text): If ($_GET['action']=='sdan') { $table='vidach' ; $s4='selected';} # $s4 -уникальная переменная для данного запроса (в других не встречаться) While (isset ($_GET[$i])){ # первый цикл перебора $i $i++ if ($s4) { $_GET[$i]*= -1 ;} # умножаем на -1 и без всяких точек $sql="INSERT INTO `$table` VALUES ( '', '$data', '$_GET[mont]','$i','$_GET[$i]');"; While (isset ($_GET[$i])){ второй цикл перебора $i $ncolvo=$new[colvo]-$_GET[$i]; Все работает. Поначалу лоханулся вставив Код (Text): if ($s4) { $_GET[$i]*= -1 ;} во второй цикл :? в итоге $_GET[$i] снова вернулось в первозданный вид, быстро осознал. удалил лишнее