С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 47

Массивы: как посчитать остаток по ингредиентам?

02.03.2016, 16:10. Показов 406. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, есть проблема
Есть код с запросом к БД и выводом данных из БД по введённому условию:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
 include ('config.php');
 $A=$_POST['a'];
 $sql="SELECT *
       FROM sostav, bluda, ingridienti, edinici_izmereniya
       WHERE sostav.Kod_bluda=bluda.Kod_bluda and sostav.Kod_ingridienta=ingridienti.Kod_ingridienta and sostav.Kod_edinici_izmereniya=edinici_izmereniya.Kod_edinici_izmereniya and bluda.Naimenovanie_bluda='$A'";
$query=mysql_query($sql) or die (mysql_error);
 
 $sql1="SELECT *
       FROM sostav, bluda, ingridienti, edinici_izmereniya
       WHERE sostav.Kod_bluda=bluda.Kod_bluda and sostav.Kod_ingridienta=ingridienti.Kod_ingridienta and sostav.Kod_edinici_izmereniya=edinici_izmereniya.Kod_edinici_izmereniya and bluda.Naimenovanie_bluda='$A'";
$query1=mysql_query($sql1) or die (mysql_error);
Echo
    "<form action='vivod4.php' method='POST'><br>
    <table align=center border=1>
    <TR>
      <TH>Название блюда</TH>
      <TH>Ингридиенты</TH>
      <TH>Количество</TH>
       <TH>Единицы измерения</TH>
    </TR>
    ";
WHILE($myrow=mysql_fetch_array($query))
    {
      echo"<TR>";  
        echo"<TD>",$myrow['Naimenovanie_bluda'],"</TD>";
        echo"<TD>",$myrow['Nazvanie_ingridienta'],"</TD>";
        echo"<TD>",$myrow['Kolichestvo'],"</TD>";
        echo"<TD>",$myrow['Edinica_izmereniya'],"</TD>";
    }
    
Echo
    "<form action='vivod4.php' method='POST'><br>
    <table align=center border=1>
    <TR>
      <TH>Ингридиенты</TH>
      <TH>Количество</TH>
       <TH>Единицы измерения</TH>
    </TR>
    ";  
WHILE($myrow1=mysql_fetch_array($query1))
    {
      echo"<TR>";  
        echo"<TD>",$myrow1['Nazvanie_ingridienta'],"</TD>";
        echo"<TD>",$myrow1['Kolichestvo_ingridienta'],"</TD>";
        echo"<TD>",$myrow1['Edinica_izmereniya'],"</TD>";
    }   
    ;
   echo "</td></tr></table><br>  
</form>";    
 ?>
Результат работы данного кода:
Вопрос в том, как посчитать остаток по ингридиентам, то-есть
Говядина 10-2=8
Фасоль 10-5=5.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.03.2016, 16:10
Ответы с готовыми решениями:

Не могу посчитать остаток от деления
не пойму в чем дело, не правельно считает вот этот код echo $mit=(162/60)%60; выдает 2, а должно быть 42, из-за его это?

Найти все элементы некоторого массива, в которых остаток от деления на 10 не равна последнем элементу
Вот есть такое задание: Найти все элементы некоторого массива, в которых остаток от деления на 10 не равна последнем элементу. Вот есть...

Разделить массив на несколько массивов по 10 элементов и остаток
Доброго времени суток, Появилась простая задачка(на первый взгляд), которую решил, но со скрипом... Буду очень благодарен, если кто-то...

2
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
02.03.2016, 18:51
lect111, раз запросы одинаковые, то и столбцы тоже.
Второй измененный запрос:
PHP
1
2
3
4
5
6
7
8
9
10
WHILE($myrow1=mysql_fetch_array($query1))
    {
      echo"<TR>";  
            echo"<TD>",$myrow1['Nazvanie_ingridienta'],"</TD>";
            echo"<TD>",$myrow1['Kolichestvo_ingridienta'],"</TD>";
            echo"<TD>",$myrow1['Edinica_izmereniya'],"</TD>";
            $ni = $myrow1['Nazvanie_ingridienta']
            $left = $myrow1['Kolichestvo_ingridienta'] - $myrow1['Kolichestvo'];
            $arr_ki[$ni]= $left;
    }
И ниже вставьте это:
PHP
1
2
3
foreach($arr_ki as $k => $v){
    echo 'Остаток <b>'.$k.'</b> - <b>'.$v.'</b> шт.<br>';
}
Возможна неточность в данных. Подставьте корректные данные при необходимости.
1
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 47
02.03.2016, 19:11  [ТС]
Спасибо большое вам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.03.2016, 19:11
Помогаю со студенческими работами здесь

Вывод значений кратным 100 или если не хватает до 100 вывести остаток
Есть определенное число скажем 1 001 нужно вывести все значения кратные 100 и если не хватает до 100 вывести то число которое осталось,...

Как высчитать остаток начальной и конечной даты?
пытаюсь так, ну пока не получается... next записана в бд так 2015-10-14 $reg=date(&quot;Y-m-d&quot;); - выводит текущую дату как...

Как из даты вычесть другую,выразив остаток в секундах?
есть сегодняшняя дата() например 2016.12.31 23:59:50 как к ней прибавить, скажем 200 секунд, чтобы получилось 2017.1.1 00:03:10 ...

Вычитание двух чисел с плавающей точкой откуда остаток
Доброго времени суток! От клиента приходит число например 0.02 ($qty); В DB есть 2 записи 0.005 ($incoming_old-&gt;qty) и 0.0015 (что в...

Не могу посчитать, сколько строк в трехмерном массиве
Есть такой трехмерный массив: array(1) { =&gt; array(2) { =&gt; array(2) { =&gt; int(1) =&gt; int(1) } =&gt; array(1) { =&gt; int(1) } } } ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru