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

Dzielenie modulo

0 głosów
769 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,730 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 5,582 wizyt
pytanie zadane 26 października 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)
0 głosów
1 odpowiedź 986 wizyt
pytanie zadane 26 marca 2019 w Java przez Paweł123 Nałogowiec (33,540 p.)
0 głosów
2 odpowiedzi 1,347 wizyt
pytanie zadane 10 sierpnia 2018 w C# przez MS Początkujący (430 p.)

93,604 zapytań

142,526 odpowiedzi

322,991 komentarzy

63,088 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

Kursy INF.02 i INF.03
...