2017-03-21 2 views
0

Ich erstelle einen Web-Service in diesem Web-Service Ich brauche zwei Array-Ergebnis in einem Array. Eine Reihe kommen durch aus Datenbank und zweite Array für die Berechnung Teil kommen so dass diese zwei Array Ich möchte unter einem Array müssenarray_push Methode funktioniert nicht

Mein Code ist:

<?php 
$jsonData = file_get_contents("php://input"); 
$phpArray = json_decode($jsonData, true); 

include 'connection.php'; 

$pc_name  = $_POST["pc_name"]; 
$total_hours = $_POST["total_hours"]; 
$base_fare  = $_POST["base_fare"]; 
$start_date  = $_POST["start_date"]; 
$start_month = date("M", strtotime($start_date)); 
$end_date  = $_POST["end_date"]; 
$end_month  = date("M", strtotime($end_date)); 
$weekday_status = $_POST["weekday_status"]; 
$v_model  = $_POST["v_model"]; 
$day_status  = $_POST["day_status"]; 
$date   = date("m/d/Y"); 
//print_r("select * from tbl_promocode where promocode='$pc_name'"); die(); 
    $sql  = "select * from tbl_promocode where promocode='$pc_name'"; 
    $stmt  = sqlsrv_query($conn, $sql); 
    $checkrow = sqlsrv_has_rows($stmt); 
    if($checkrow>0) 
    { 
    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) 
    { 
     $cat_type = $row['cat_type']; 
     $end_date = $row['end_date']; 
    } 
    if($date>$end_date) 
     { 
      $response["response"]="Offer is expired"; 
     } 
     else 
     { 
      if($cat_type==1) 
      { 
       $sql1  = "select * from tbl_promocode where cat_type='1' and promocode='$pc_name'"; 
       $stmt1  = sqlsrv_query($conn, $sql1); 
       while($row1 = sqlsrv_fetch_array($stmt1, SQLSRV_FETCH_ASSOC)) 
       { 
        $result = $row1; 
       } 
       $response["response"]="success"; 
       $response["result"]=$result;    
      } 
      else if($cat_type==2) 
      { 
       if($total_hours>=4) 
       { 
        $sql2  = "select * from tbl_promocode where cat_type='2' and promocode='$pc_name'"; 
        $stmt2  = sqlsrv_query($conn, $sql2); 
        while($row2 = sqlsrv_fetch_array($stmt2, SQLSRV_FETCH_ASSOC)) 
        { 
         $result2 = $row2; 
        } 
        $response["response"]="success"; 
        $response["result"]=$result2; 
       } 
            else 
       { 
        $response["response"]="Invalid Promocode"; 
       } 
      } 
      else if($cat_type==3) 
      { 
       if($total_hours>=48) 
       { 
        $sql3  = "select * from tbl_promocode where cat_type='3' and promocode='$pc_name'"; 
        $stmt3  = sqlsrv_query($conn, $sql3); 
        while($row3 = sqlsrv_fetch_array($stmt3, SQLSRV_FETCH_ASSOC)) 
        { 
         $result3 = $row3; 
        } 
        $response["response"]="success"; 
        $response["result"]=$result3; 
       } 
           else 
       { 
        $response["response"]="Invalid Promocode"; 
       } 
      } 
      else if($cat_type==4) 
      { 
       if($base_fare>=5000) 
       { 
        $sql4  = "select * from tbl_promocode where cat_type='4' and promocode='$pc_name'"; 
        $stmt4  = sqlsrv_query($conn, $sql4); 
        while($row4 = sqlsrv_fetch_array($stmt4, SQLSRV_FETCH_ASSOC)) 
        { 
         $result4 = $row4; 
        } 
        $response["response"]="success"; 
        $response["result"]=$result4; 
       } 
          else 
       { 
        $response["response"]="Invalid Promocode"; 
       } 
      } 
      else if($cat_type==5) 
      { 
        $sql5  = "select * from tbl_promocode where cat_type='5' and promocode='$pc_name'"; 
        $stmt5  = sqlsrv_query($conn, $sql5); 
        while($row5 = sqlsrv_fetch_array($stmt5, SQLSRV_FETCH_ASSOC)) 
        { 
         $result5 = $row5; 
        } 
        $amount  = 10/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result5; 
        $response1["cal_amount"]=$amount; 
        array_push($response,$response1); 
      } 
      else if($cat_type==6) 
      { 
        $sql6  = "select * from tbl_promocode where cat_type='6' and promocode='$pc_name'"; 
        $stmt6  = sqlsrv_query($conn, $sql6); 
        while($row6 = sqlsrv_fetch_array($stmt6, SQLSRV_FETCH_ASSOC)) 
        { 
         $result6 = $row6; 
        } 
        $amount  = 20/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result6; 
        $response1["cal_amount"]=$amount; 
        array_push($response,$response1); 
      } 
      else if($cat_type==7) 
      { 
        $sql7  = "select * from tbl_promocode where cat_type='7' and promocode='$pc_name'"; 
        $stmt7  = sqlsrv_query($conn, $sql7); 
        while($row7 = sqlsrv_fetch_array($stmt7, SQLSRV_FETCH_ASSOC)) 
        { 
         $result7 = $row7; 
        } 
        $amount  = 30/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result7; 
        $response1["cal_amount"]=$amount; 
        array_push($response,$response1); 
      } 
      else if($cat_type==8) 
      { 
        $sql8  = "select * from tbl_promocode where cat_type='8' and promocode='$pc_name'"; 
        $stmt8  = sqlsrv_query($conn, $sql8); 
        while($row8 = sqlsrv_fetch_array($stmt8, SQLSRV_FETCH_ASSOC)) 
        { 
         $result8 = $row8; 
        } 
        $amount  = 50/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result8; 
        $response1["cal_amount"]=$amount; 
        array_push($response,$response1); 
      } 
      else if($cat_type==9) 
      { 
        $sql9  = "select * from tbl_promocode where cat_type='9' and promocode='$pc_name'"; 
        $stmt9  = sqlsrv_query($conn, $sql9); 
        while($row9 = sqlsrv_fetch_array($stmt9, SQLSRV_FETCH_ASSOC)) 
        { 
         $result9 = $row9; 
        } 
        $amount  = 10/100*$base_fare; 
        $response["response"]="success"; 
        $response["result"]=$result9; 
        $response1["cal_amount"]=$amount;     
        array_push($response,$response1); 
      } 
      else 
      { 
       $response["response"]="Invalid Promocode"; 
      } 
     } 
    } 
else 
    { 
     $response["response"]="Invalid Promocode"; 
    } 
die(json_encode($response)); 
?> 

my result is:- 

{ 
    "0": { 
    "cal_amount": 500 
    }, 
    "response": "success", 
    "result": { 
    "id": 6, 
    "promocode_name": "TRIP10", 
    "start_date": { 
     "date": "2017-03-20 00:00:00.000000", 
     "timezone_type": 3, 
     "timezone": "UTC" 
    }, 
    "end_date": { 
     "date": "2017-05-31 00:00:00.000000", 
     "timezone_type": 3, 
     "timezone": "UTC" 
    }, 
    "promocode": "TRIP10", 
    "amount": "empty", 
    "amount_type": "empty", 
    "status": "active", 
    "Cancel_Flag": 0, 
    "cat_type": 5, 
    "percentage": "10", 
    "v_model": "empty", 
    "off_month": "empty" 
    } 
} 

Mit diesem Web-Service sind meine Daten richtig ein, aber Problem ist das im Ergebnis auf Null Drucken gesetzt. Ich möchte diese Null entfernen oder in eine beliebige Zeichenfolge konvertieren. Also, was ich tun, um dieses Problem zu lösen, helfen Sie mir bitte jemand

+0

Bitte reduzieren Sie diese Codewand auf ein minimales Beispiel, das Ihr Problem veranschaulicht. Vielen Dank. – arkascha

+1

Ich kann sagen, dass es eine Sprachbarriere gibt, aber können Sie eine Beispielausgabe von dem zeigen, was Sie bekommen und was Sie erwarten? Wie kann ich das Problem nicht verstehen? – Shawn

Antwort

0

hier denke ich, Sie

array_push($response,$response1); 

mit

$response = array_merge($response,$response1); 

weil array_push ersetzen müssen() verwendet wird, um ein Element Array anhängen während Sie ein Array anhängen. also, wenn hier array_push() verwendet wird, dann müssen Sie alle Elemente eines Arrays durchgehen und sie einem anderen durch array_push() einzeln hinzufügen. so für die besser, array_merge() stattdessen zu verwenden.