ben id burada geçmek düşündüm bu bir sıkışmış biraz im.
Ben dynamicaly y ekseni, x ekseni ve değer koymak kutulara ile inşa edilebilir bir tablo var.
değer giriş kutularının ismi soldan alt sağa, üst numaralandırılır.
0,1
2,3
4,5
6,7
I bir değer girdiniz ve ben X ve y eksen başlıklarını almak istiyorum giriş kutusuna 7 diyelim.
Form dizisi ile summbited zaman inşa edilmiştir.
[heading_x] => Array
(
[0] => red
[1] => black
)
[heading_y] => Array
(
[0] => Small
[1] => Medium
[2] => Large
[3] => X-Large
)
[value] => Array
(
[1] => Array
(
[0] =>
[1] =>
)
[2] => Array
(
[0] =>
[1] =>
)
[3] => Array
(
[0] =>
[1] =>
)
[4] => Array
(
[0] =>
[1] => foo
)
Ben aşağıdaki gibi x ve y ekseni bulmak için şimdiye kadar yazmıştım kodu
if( preg_match( "#^([0-9]+)\-value([0-9]+)\-([0-9]?)$#is", $key, $match ) ) {
foreach( $attrDetails as $key_2 => $array ) {
if( $array['attribute_id'] == $match[1] && $val != '0' && $val != '' ) {
$options = unserialize( stripslashes( $attrDetails[$key_2]['attribute_options'] ) );
unset( $options['value'][0] );
print_r($options);
$max = count( $options['heading_x'] );
$base = $match[2] + 1;
$position_x = ( $base % $max ) + 1;
$position_y = ( ( kat ($ baz / $ max) - 1 ) < 0 ? 0 : kat ($ baz / $ max) - 1 );
if( $match[3] == '' || $base == '0' ) {
if( $pd_details->pd_activate_special_offer == '1' && $pd_details->pd_offer_price != '0.00' ) {
if( $array['attribute_type'] == '4' ) {
$cost = $val * $pd_details->pd_offer_price;
}
}else{
if( $array['attribute_type'] == '4' ) {
$cost = sprintf("%01.2f", $val * $pd_details->pd_price );
}
}
}
die($position_x . ' / ' . $position_y);
echo $options['heading_y'][$position_y-1] . ' / ' . $options['heading_x'][$position_x-1] . " amount: $val cost: $cost <br />\n";
$_SESSION['basket']['items']['top_option'][] = $options['heading_x'][$position_x-1];
$_SESSION['basket']['items']['side_option'][] = $options['heading_y'][$position_y-1];
$_SESSION['basket']['items']['amount'][] = $val;
$_SESSION['basket']['items']['price'][] = $cost;
}
}
}
Ana bit olmak
$max = count( $options['heading_x'] );
$base = $match[2] + 1;
$position_x = ( $base % $max ) + 1;
$position_y = ( ( kat ($ baz / $ max) - 1 ) < 0 ? 0 : kat ($ baz / $ max) - 1 );
posiition y iyi olacak gibi görünüyor. Benim sorunum varlık Diyelim
kat ($ baz / $ max) - 1
= 3.50.
Ben nasıl ben x ekseni bulmak için kalan kullanabileceğiniz 3 (i unuttum veya anahtar 3) üçüncü aşağı olduğunu biliyor musun?