2011-03-22 90 views
2

我有一個工作的MySQL與內選擇所有值加盟:回聲結果顯示爲每個

 $estateSettings = getEstateOptionsArray(); 
     foreach($estateSettings as $s) { 
      $i = url_title($s, "", true); 
      $data = $wpdb->get_col(" 
       SELECT meta.meta_value 
       FROM $wpdb->postmeta meta 
       INNER JOIN wp_posts ON meta.post_id = wp_posts.id 
       WHERE meta.meta_key = '{$i}' AND wp_posts.post_type = 'estate' 
      "); 
      $returnData = $s." : "; 
      foreach($data as $v) { 
       $returnData .= $v.", "; 


     } 



     } 

這沒關係,$ V包含值,但問題是,如果我只是echo出來它只顯示最後的結果值。如果我echo它是這樣的:

echo $returnData .= $v.", "; 

它顯示名稱和所有結果值。

我怎樣才能echo結果沒有returnData和顯示所有值?

我再次卡住了。我設法只值,但它重複他們

$ingatlanSettings = getIngatlanOptionsArray(); 
      foreach($ingatlanSettings as $s) { 
       $i = url_title($s, "", true); 
       $data = $wpdb->get_col(" 
        SELECT meta.meta_value 
        FROM $wpdb->postmeta meta 
        INNER JOIN wp_posts ON meta.post_id = wp_posts.id 
        WHERE meta.meta_key = '{$i}' AND wp_posts.post_type = 'ingatlan' 
       "); 
       $returnData = $s." : "; 
       foreach($data as $v) { 
        $returnData .= $v.", "; 
        $result[] = $v; 

      } 

      $res = $element.implode($result); 
      echo $res; 

      } 
+0

是什麼 '$ wpdb-> get_col' 呢? – Tokk 2011-03-22 09:58:57

+0

@Tokk:http://codex.wordpress.org/Function_Reference/wpdb_Class#SELECT_a_Column – 2011-03-22 10:08:50

回答

1
echo $returnData.implode(',', $data); 

使用此代替循環。

+0

是不是隻是說'echo $ returnData。 implode(',',$ data);'。循環在這一點變得不必要。 – 2011-03-22 10:07:37

+0

@Michael McTiernan:謝謝。我沒有注意到這一點。 – Gaurav 2011-03-22 10:09:16

+0

不要錯過我,但我愛你,我能夠與你的幫助,非常感謝你 – Side 2011-03-22 10:11:20

1
$returnData .= $s." : "; 
foreach($data as $key=>$value) { 
        $returnData .= $value.", "; 
} 
+0

謝謝你的快速回答,但我,仍然在哪裏開始:) – Side 2011-03-22 09:53:19

+0

我的意思是我仍然得到最後一個值 – Side 2011-03-22 09:54:02

+0

$ returnData。= $ s 。「:」; – 2011-03-22 09:58:18

0

一個偉大的方式,看看一個數組包含爲這個簡單的腳本:

<?php 
    echo "<pre>"; print_r($YourArray); echo "</pre>"; 
?> 

Knowhing什麼是真正的數組中可以幫助解決很多問題。

0

其確定和所有,$ V包含 值,但問題是,如果是 簡單地echo出來它只顯示 最後的結果值,如果我贊同它像 這種回聲$ returnData。= $ v。「,」;它 顯示名稱和所有結果值。

這裏是你失去我的地方。當你回聲出結果,你這樣做:

echo $returnData .= $v.", "; 

或者,您echo'ing:

echo $returnData; 

使用後者將返回你的所有值準備完整的字符串。

雖然我試圖理解你的問題的性質。您是否試圖以特定方式格式化$returnData,但是然後返回原始數據?

0

謝謝大家的幫助,我才得以OT

$returnData = $s." : "; 
       $resdata = array_unique($data); 
       foreach($resdata as $v) { 
        $returnData .= $v.", "; 
        echo $result[] = $v; 

真的非常感謝這樣做對大家