0

女性、男性、子供の自転車の種類をフィルタリングしようとしています。一連の数字を選択した種類の自転車に並べ替える関数を作成しました。

function: bicycle($stringnumbers, $sortbicycle)

脚本:

    function bicycle($stringnumbers, $sortbicycle){
    $bicycle = explode(',', $bicyclenumbers);
    foreach($bicycle as $bicycle1)
    {
       $sql2 = "SELECT * FROM `bicycle` WHERE `bicyclenumber` LIKE '".$bicycle1."' LIMIT 0, 30 ";
       $number = mysql_query($sql2)or die(mysql_error());
       while ($bicycleinfo = mysql_fetch_array($number)) 
       {
          $number1 = $bicycleinfo['sortbicycle'];
          if($sortbicycle == "kid") 
          {
             if($number1 == "boy")
             {
                $totaal .= "J " . $bicycle1 . ",";
             }
             elseif($number1 == "girl")
             {
                $totaal .= "M " . $bicycle1 . ",";
             }      
          }
          elseif($sortbicycle == "kids") 
          {
             if ($number1 == "boy")
             {
                $totaal .= $bicycle1 . ",";
             }
             elseif($number1 == "girl")
             {
                $totaal .= $bicycle1 . ",";
             }      
          }
          elseif($number1 == $sortbicycle)
          {
             $totaal .= $bicycle1 . ",";
          }
       }
    }

    if($totaal > "1")
    {
       $amount1 = $total;
    }
    else
    {
       $amount1 = ""; 
    }

 return $amount1;   
 }

しかし、何らかの理由でこの部分:

    if ($number1 == "boy")
    {
       $totaal .= "J " . $bicycle1 . ",";
    }
    elseif ($number1 == "girl")
    {
       $totaal .= "M " . $bicycle1 . ",";
    }               
 }
 elseif ($sortbicycle == "kids") 
 {
    if ($number1 == "boy")
    {
       $totaal .= $bicycle1 . ",";
    }
    elseif ($number1 == "girl")
    {
       $totaal .= $bicycle1 . ",";
    }           
 }

最初の部分は「子供」の部分が機能しますが、削除すると

$totaal .= "J " . $bicycle1 . ",";

$totaal .= $bicycle1 . ",";

私は何を間違っていますか?

4

2 に答える 2

1

私もこれに気づきました:

function bicycle($stringnumbers, $sortbicycle){
$bicycle = explode(',', $bicyclenumbers);

あなたの関数では、入力は $stringnumbers ですが、コードのどこにも使用していません。代わりに $bicylenumbers を使用しますが、それは $stringnumbers ではありませんか?

于 2012-07-04T18:00:17.803 に答える
1

1 つの観察結果は、 と の両方を参照し、$totaalの影響を受けない$totalことを返すことです。がグローバル変数でない限り、使用されません。$amount1$totaal$totaal

于 2012-07-04T17:04:41.377 に答える