2013-07-08 33 views
2

我想的foreach轉換爲if語句,因爲MySQL查詢只返回一個row.So我想使用的,而不是是否的foreach如何的foreach轉換如果腓

$db = new db(); 
    $db -> serverconnection(); 

    $item = $_GET["name"]; 

    $query = "SELECT c.firstname,c.phonenumber,c.address FROM `order` o,customerdetails c WHERE o.ordercode = '$item' AND c.sno=o.customerid"; 

     $results = $db->selectQuery($query); 


      foreach ($results as $customerdetails) 
      { 
       $orderidDetail = $customerdetails['customerid']; 
       echo $customerdetails["firstname"]; 
       echo $customerdetails["phonenumber"]; 
       echo $customerdetails["address"];  
      } 
+0

是什麼,如果它的目的是什麼? – sectus

回答

3

使用current

$customerdetails = current($results); 
if($customerdetails) 
    { 
    $orderidDetail = $customerdetails['customerid']; 
    echo $customerdetails["firstname"]; 
    echo $customerdetails["phonenumber"]; 
    echo $customerdetails["address"];  
    } 
+0

它工作正常謝謝。 – Arut

0

喜歡的東西

if (count($results) == 1) { 
    ... single row of results ... 
} else { 
    foreach(...) { ... multiple rows ...} 
} 

吧?

但是,如果你知道查詢只會返回一行,那麼你根本不需要if/foreach。

2

變化

foreach ($results as $customerdetails) 
{ 
    $orderidDetail = $customerdetails['customerid']; 
    echo $customerdetails["firstname"]; 
    echo $customerdetails["phonenumber"]; 
    echo $customerdetails["address"];  

}

if(isset($results[0])) 
{ 
    $orderidDetail = $results[0]['customerid']; 
    echo $results[0]["firstname"]; 
    echo $results[0]["phonenumber"]; 
    echo $results[0]["address"];  

}

+0

它也正常工作。謝謝。 – Arut