Jump to content

Feers1de

User
  • Posts

    125
  • Joined

  • Last visited

Information

  • Sex
    Не определился

Feers1de's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Я вроде объяснил в последнем сообщении внятно. Переформулирую. С помощью чего можно добиться правильного добавления одного дня к переменной $date? $date++ не подойдёт. И почему следующий код: $t = (($y-$x)/$x)*$z;echo '<br>'.$t;Выводит ноль?
  2. Да, читал и до вас. Я понял свою ошибку. Вместо знака = я сделал <=. У меня ещё вопрос. Правильно ли я к переменной $date добавлял по одному дню в каждой итерации цикла? Или оное можно было сделать более правильнее? И почему после вычислений $t выводит 0? При $y = 0,35, $x = 0,75, $z = -23,25. Что я не так сделал?
  3. Может я чего-то не понял\понимаю на самом деле, но Вы тогда объясните - чего. Третье выражение Вашего цикла, приведённого в качестве примера, не совсем аналогично третьему выражению моего цикла. Ведь к переменной $date добавляется один день. Что не так?
  4. Это очевидно, что код неверный. Иначе я бы не создавал такие темы. Дело явно не в цикле. За его пределами такой же бардак. По поводу mysql_result спорить не буду - не знаю. Сменю вскоре на mysqli. В цикле же я выполняю новые запросы не просто так. Мне необходимо в каждой итерации цикла к переменным добавлять по одному дню. Мне нужно поконкретнее. Почему даже при самых простых вычислениях для чисел с плавающей точкой ($y - $x; при y = 0,35 и x = 0,75) возвращается ноль? Помимо обычных арифметических операторов я пробовал использовать математические функции. p.s. Хотя "простые вычисления" и "плавающая точка" - понятия несовместимые, как я понял.
  5. Доброго времени суток всем. Возникла очередная из многочисленных проблема при написании php кода. Почему при выполнении нижескопированного кода браузер возвращает огромное количество нулей? Настолько огромное, что страница грузится около двух минут. <?phprequire_once 'config.inc.php';$tDate = '2015-01-09';$y = mysql_result(mysql_query('Select Temperature From t Where Date = "'. date('Y-m-d', strtotime(''.$tDate.' -1 year')) .'"'), 0);$x = mysql_result(mysql_query('Select Temperature From t Where Date = "'. date('Y-m-d', strtotime(''.$tDate.' -1 year -1 day')) .'"'), 0);$z = mysql_result(mysql_query('Select Temperature From t Where Date = "'. date('Y-m-d', strtotime(''.$tDate.' -1 day')) .'"'), 0);for ($date = '2015-01-02'; $date = $tDate; $date = date('Y-m-d', strtotime(''.$date.' + 1 day'))) {$t = (($y-$x)/$x)*$z;echo '<br>'.$t;$y = mysql_result(mysql_query('Select Temperature From t Where Date = "'. date('Y-m-d', strtotime(''.$tDate.' +1 day')) .'"'), 0);$x = mysql_result(mysql_query('Select Temperature From t Where Date = "'. date('Y-m-d', strtotime(''.$tDate.' +1 day')) .'"'), 0);$z = mysql_result(mysql_query('Select Temperature From t Where Date = "'. date('Y-m-d', strtotime(''.$tDate.' +1 day')) .'"'), 0);}?>
  6. К сожалению, помощь не требуется. Огромное спасибо всем за помощь. А DevArt DBForge studio for MySQL - я воспользуюсь. Взял на заметку эту программу. Хостера у меня нету. Сервер стоит на локальном компьютере.
  7. Наверное, не заметили. Этот вопрос меня тоже волнует. Иии ещё вопрос. Имеется PHP переменная: $sqltorams = "Insert into rams (PartNumber, FormFactor, Type, RAMPrice) Values('{$PartNumber}', '{$FormFactor}', '{$Type}', '{$RAMPrice}');";И следующие строки PHP кода: mysql_query($sqltorams);if (mysql_query($sqltorams) == false){ echo "Данные успешно добавлены.";}else if (mysql_query($sqltorams) == TRUE){ die ("Данные не добавлены. Возникла ошибка.");}И тут я не понял. Почему mysql_query при удачном (то есть данные были добавлены в базу данных) исполнении возвращает false, а при неудачном (когда данные не были добавлены в базу данных) - true? Читал документацию на официальном сайте. Там всё совсем наоборот.
  8. Именно так. Но только у меня первичные ключи в последних трёх таблицах - не id (с использованием auto_increment), а MotherboardName, ProcessorName, PartNumber (из rams).
  9. Switch74, голова моя отказывается работать... :0 Может такой случай и будет, но его не стоит учитывать. Так как, во-первых, делаю я это для преподавателя, а не, напишем, для какого-то проекта; во-вторых, времени до окончания сдачи работы у меня крайне мало. 1. Количество строк в таблице особо не будет возрастать. Максимум 3-5 шт. 2. Скорее всего так и сделаю. Буду делать вычисления непосредственно на уровне сервера. И, кстати, у меня имеются вопросы по созданию связей между таблицами. Я их отдельно распишу. 3. Такое тоже не предполагается. Это лишь усложняет работу, на которую никто смотреть не будет. Но в чём-то Вы правы - если что-то делать, то с умом. Но, опять же, времени у меня в обрез. Потому что я двоечник и первые две недели потратил как раз таки на усложнение. Хотел создать чуть ли не проект. Когда понял, что необходимо много времени и знаний, - понял, что я бессилен. Теперь вопрос касательно связей. Имею phpmyadmin версии 4.2.2. Вы ведь всё ещё помните суть моей базы данных? Необходимо, чтобы в assembledcomponents при создании "сборки"\строки данные в последних трёх столбцах брались из последних трёх соответствующих таблиц (из первичных ключей). Это, вроде как, я сделал. Но возникла небольшая проблема: После создания "сборки"\строки в assembledcomponents я отредактировал в таблице processors одну из ячеек первичного ключа, которая уже используется в "сборке". В таблице сборок в созданной мной строке должны ли обновиться данные? Те, которые были затронуты.
  10. Именно так. В каждой таблице компоненты не будут дублироваться. Колонки "количество" у меня не присутствует. По поводу стоимости - вроде этого и добивался, если я Вас правильно понял. 1. Цену комплектующих я планирую менять, да. Стоимость сборки неплохо бы было обновить. Такое возможно? 2. Хм... На первом плане стоит база данных. То есть все операции с данными необходимо выполнять непосредственно в базе данных. Сайт - лишь дополнительное средство. 3. Историю сборок не планирую хранить. Правда тут не совсем понял.
  11. Ну, всё это необходимо мне в СУБД phpmyadmin. И, да, на сайте тоже будет то, что Вы расписали. То есть когда у меня имеется три последних заполненных таблицы (rams, motherboards, processors) с кучей (или по-одному на каждую) соответствующих компонентов\комплектующих - я могу заполнить четвёртую таблицу, данные в которой я заношу с помощью вышеперечисленных таблиц. Данные буду брать из первичных ключей.
  12. Доброго времени суток всем! Язык SQL знаю поверхностно, а создавать триггеры - вовсе не умею. Прошу вашей помощи по созданию. Имеется база данных products, в ней три таблицы - assembledcomponents (собранные компоненты), motherboards, processors, rams. В каждой таблице содержится первичный ключ, цена + тройка других ненужных столбцов. Первая таблица заполняется из остальных трёх (вручную). Теперь суть триггера: Необходимо при каждой сборке полу-компьютера в таблице assembledcomponents суммировать цену (в поле Price) выбранных компонентов, взятых из других таблиц, в одно поле. Постскриптум: Суть отразил, вроде, верно. Если возникнут вопросы - напишите.
  13. Спасибо, безусловно, за советы (и ссылку), но я сейчас абсолютно не горю желанием разбираться в javascript. Пока хватает php. Может Вы всё таки "тыкнете пальцем"? :-)
  14. Каким образом её определить? Что именно необходимо сделать?
  15. Ух ты! Спасибо! Тогда ещё вопрос. Решил поставить javascript библиотеку для определения версии браузера + написать пару строк своего кода. В console пишет следующее: Часть содержимого index.php: <head><script src='//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script><script src='script/bdetect.js'></script><script src='script/notice.js'></script></head><body onload='getBrowser()'></body>Файл script/bdetect.js: /* Browser Detect set v1.0 Detects the browser and its version (IE6+, Opera, Firefox, Chrome, Safari ) http://xiper.net/ Author Andrei Kosyack*/function browserDetectNav(chrAfterPoint){var UA=window.navigator.userAgent, OperaB = /Opera[ \/]+\w+\.\w+/i, OperaV = /Version[ \/]+\w+\.\w+/i, FirefoxB = /Firefox\/\w+\.\w+/i, ChromeB = /Chrome\/\w+\.\w+/i, SafariB = /Version\/\w+\.\w+/i, IEB = /MSIE *\d+\.\w+/i, SafariV = /Safari\/\w+\.\w+/i, browser = new Array(), browserSplit = /[ \/\.]/i, OperaV = UA.match(OperaV), Firefox = UA.match(FirefoxB), Chrome = UA.match(ChromeB), Safari = UA.match(SafariB), SafariV = UA.match(SafariV), IE = UA.match(IEB), Opera = UA.match(OperaB); if ((!Opera=="")&(!OperaV=="")) browser[0]=OperaV[0].replace(/Version/, "Opera") else if (!Opera=="") browser[0]=Opera[0] else if (!IE=="") browser[0] = IE[0] else if (!Firefox=="") browser[0]=Firefox[0] else if (!Chrome=="") browser[0] = Chrome[0] else if ((!Safari=="")&&(!SafariV=="")) browser[0] = Safari[0].replace("Version", "Safari"); var outputData; if (browser[0] != null) outputData = browser[0].split(browserSplit); if (((chrAfterPoint == null)|(chrAfterPoint == 0))&(outputData != null)) { chrAfterPoint=outputData[2].length; outputData[2] = outputData[2].substring(0, chrAfterPoint); return(outputData); } else if (chrAfterPoint != null) { outputData[2] = outputData[2].substr(0, chrAfterPoint); return(outputData); } else return(false);}function browserDetectJS() {var browser = new Array(); if (window.opera) { browser[0] = "Opera"; browser[1] = window.opera.version(); } else if (window.chrome) { browser[0] = "Chrome"; } else if (window.sidebar) { browser[0] = "Firefox"; } else if ((!window.external)&&(browser[0]!=="Opera")) { browser[0] = "Safari"; } else if (window.ActiveXObject) { browser[0] = "MSIE"; if (window.navigator.userProfile) browser[1] = "6" else if (window.Storage) browser[1] = "8" else if ((!window.Storage)&&(!window.navigator.userProfile)) browser[1] = "7" else browser[1] = "Unknown"; } if (!browser) return(false) else return(browser);}function getBrowser(chrAfterPoint) { var browserNav = browserDetectNav(chrAfterPoint), browserJS = browserDetectJS(); if (browserNav[0] == browserJS[0]) return(browserNav) else if (browserNav[0] != browserJS[0]) return(browserJS) else return(false);}function isItBrowser(browserCom, browserVer, detectMethod) {var browser;switch (detectMethod) { case 1: browser = browserDetectNav(); break; case 2: browser = browserDetectJS(); break; default: browser = getBrowser();}; if ((browserCom == browser[0])&(browserVer == browser[1])) return(true) else if ((browserCom == browser[0])&((browserVer == null)||(browserVer == 0))) return(true) else return(false);};Файл script/notice.js: function bdetect(){ getBrowser(); if(data[0]=="MSIE" && data[1]!=="10") { document.writeln("Версия Вашего браузера не является рекомендуемой. Пожалуйста, установите 10.0 версию для разрешения проблем."); } else if(data[0]=="Safari" && data[1] < "5.2") { document.writeln("Версия Вашего браузера не является рекомендуемой. Пожалуйста, установите более новую версию для разрешения проблем."); } else if(data[0]=="Chrome" && data[1] < "9.0") { document.writeln("Версия Вашего браузера не является рекомендуемой. Пожалуйста, установите более новую версию для разрешения проблем."); } else if(data[0]=="Opera" && data[1] < "10.62") { document.writeln("Версия Вашего браузера не является рекомендуемой. Пожалуйста, установите более новую версию для разрешения проблем."); } else if(data[0]=="Firefox" && data[1] < "4.0") { document.writeln("Версия Вашего браузера не является рекомендуемой. Пожалуйста, установите более новую версию для разрешения проблем."); } else { document.writeln("Приносим свои извинения. С Вашего браузера вход запрещён. Используйте, пожалуйста, другой."); }}window.onload = bdetect;Может кто поможет устранить ошибку? А то в javascript я пока не силён. Да и вообще не изучал его.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy