giriş almak için kalanını da kullanabilirsiniz

0 Cevap

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?

0 Cevap