2012-12-09 53 views
1

您好,我正在檢查表中的重複數據。我有一個問題,從哪裏選擇數據。我的代碼是:從我的sql查詢中檢查表

$sub_cat = array(); 
$select = array("core_network","daisy_chain", "rf_bts", "rf_power", "rf_transmission"); 
$d='0'; 
for ($i=0;$i<=4;$i++){ 
    $SQL = "SELECT sub_cat FROM (".$select[$i].") WHERE location=('".$id."')"; 
    $result = mysql_query($SQL); 

    $cs=$d; 

    if ($result) { 
     while ($db_field = mysql_fetch_array($result)) { 
      if(!in_array($db_field['sub_cat'],$sub_cat)) { 
       $sub_cat[]= $db_field['sub_cat']; 
       $cs++; 
       $d=$cs; 
       $d--; 
      } 
     } 
    } 

我需要知道從哪個$select[i]選擇sub_cat。如何找到它?

+0

**擡起頭** PHP的未來版本是*自嘲和刪除*了' mysql_'系列的函數。現在將是[切換到PDO](http://php.net/book.pdo)或[mysqli](http://php.net/book.mysqli)的好時機。 – Charles

回答

1

要得到的值,這樣做:

$sub_cat = array(); 
$select = array("core_network","daisy_chain", "rf_bts", "rf_power", "rf_transmission"); 
$d='0'; 
for ($i=0;$i<=4;$i++){ 
    $SQL = "SELECT sub_cat FROM (" . $select[$i] . ") WHERE location=('".$id."')"; 
    $result = mysql_query($SQL); // deprecated - use PDO 

    $cs = $d; 

    if ($result) { 
     while ($db_field = mysql_fetch_array($result)) { 
      if(!in_array($db_field['sub_cat'], $sub_cat)) { 
       $table = $select[$i]; 
       $sub_cat[$table][] = $db_field['sub_cat']; 

       // I have no clue what's going on here in your example: 
       $cs++; 
       $d=$cs; 
       $d--; 
      } 
     } 
    } 
} 

然後,找回它:!

foreach ($sub_cat as $table_name => $values) { 
    foreach ($values as $row) { 
     // output values here 
    } 
} 
+0

你好,我沒有使用foreach的經驗,你可以給我解釋更多 – ganaa

+0

'foreach'遍歷數組中的每個值,並將值賦給一個'$ key => $ value'變量。 http://us3.php.net/manual/en/control-structures.foreach.php。如果這回答了您的原始問題,請記住標記爲答案。 –

+0

好的謝謝你的回答 – ganaa