• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dzielenie modulo

Object Storage Arubacloud
0 głosów
430 wizyt
pytanie zadane 24 kwietnia 2018 w PHP przez niezalogowany

Witam, mam taki problem, nie wiem jak stworzyć warunek lub funkcję, za zadanie ma wyświetlić ilość kartonów, ilość kartonów ma być zliczana w taki sposób : 1 karton dla 12 prowadnic i zwiększana jeśli kolejne 12 przekroczone, czyli jeśli mamy np. 8 prowadnic to - 1 karton, 12 prowadnic - 1 karton, 13 prowadnic - 2 kartony, 36 prowadnic - 3 kartony, itd. Liczbę prowadnic pobieram z bazy.

$box = (2 * $item["product_quantity]);

if($box <= 12) {
	$this->txtBoxQuantity->Text = 1;
}
else {

	// petla ?
}

 

2 odpowiedzi

0 głosów
odpowiedź 24 kwietnia 2018 przez Chess Szeryf (76,710 p.)
wybrane 25 kwietnia 2018
 
Najlepsza
<?php 

$fences_arr=[8,12,13,36,100,120];

function QuantityCarton($fences){ 
	$result = $fences/12;
	if($result>=0){
		if(is_float($result)){
			return ceil($result);
		}else{ 
			return $result;
		}
	}
}
for($i=0;$i<count($fences_arr);$i++){ 
	echo "Quantity Cartons for ".$fences_arr[$i]." is ".QuantityCarton($fences_arr[$i])."<br />";
}
?>

Jeśli te dane pobierasz z bazy to zamień index'y asocjacyjne na te ponumerowane od zera do x, czyli skorzystaj z jednej z tych dwóch instrukcji, może można z jakichś innych, nie wiem:

$row = $result->fetch_array(MYSQLI_NUM);
// or
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);

http://php.net/manual/en/mysqli-result.fetch-array.php

http://php.net/manual/en/pdostatement.fetchall.php

 

0 głosów
odpowiedź 24 kwietnia 2018 przez Bosswell Nałogowiec (36,470 p.)
edycja 24 kwietnia 2018 przez Bosswell

Nie kombinuj z modulo. Wystarczy podzielić.

$ilosc_kartonow = (int)(ceil($ilosc_prowadnic/12));

 

komentarz 25 kwietnia 2018 przez niezalogowany
tak i w tym przypadku, gdy liczba prowadnic to 24 - kartony trzy, a nie dwa, itd
komentarz 25 kwietnia 2018 przez Bosswell Nałogowiec (36,470 p.)

A sprawdzałeś ? Dla 24, wynik jest równy 2.

$ilosc_prowadnic = 24;

$ilosc_kartonow = (int)(ceil($ilosc_prowadnic/12));
echo $ilosc_kartonow;

 

Podobne pytania

0 głosów
5 odpowiedzi 4,475 wizyt
pytanie zadane 26 października 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)
0 głosów
1 odpowiedź 624 wizyt
pytanie zadane 26 marca 2019 w Java przez Paweł123 Nałogowiec (33,500 p.)
0 głosów
2 odpowiedzi 883 wizyt
pytanie zadane 10 sierpnia 2018 w C# przez MS Początkujący (430 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...