2014-03-26 36 views
-1

這是我下面的代碼MYSQL爲了限制

$query = mysql_query("SELECT * FROM table ORDER BY id LIMIT 10"); 

    while($f = mysql_fetch_array($query)){ 
    $match = 0; //In reality it's an array search function which returns 1 on match 

    if($match == 1) { 
    echo"Show content!"; 
    } 

    } 

我試着做一個列表有10行,我有一個使用「名」,從表中運行帶有一個搜索查詢功能由twitter API生成的數組。在例如,如果我得到3匹配記錄,我仍然想顯示一個列10行,但隱藏匹配的元素。

目前劇本隱藏匹配的元素,並顯示7行而不是10

這就是我需要幫助,歡呼:)

+1

添加搜索條件到SQL查詢 –

+0

着能理解,請寫清楚 –

+0

@AndreyMischenko不能添加標準的SQL查詢,因爲數組是stdClassobject,它是從Twitter的API獲取。 – Pandicted

回答

0

處理您從twitter api獲得的數據,收集數組中需要的數據,然後查詢數據庫。 類似的東西:

<?php 
    $collectArray = array(); 

    foreach ($twitterData as $index => $data) { 
     if ($someCriteria === TRUE) { 
      $collectArray[] = $data; 
     } 
    } 

    $implodedCollectArray = "'" . implode("', '", $collectArray) . "'"; 

    $sql = "SELECT * FROM `table_name` WHERE `some_column` IN (" . $implodedCollectArray . ")"; 
    $query = mysql_query($sql) or die(mysql_error()); 

    while($f = mysql_fetch_array($query)){ 
     echo $f['column']; 
    } 
?> 
+0

謝謝,當我回家時,我會試試這個。 – Pandicted

+0

@ user1936204沒問題,很高興我能幫忙;) – func0der

0

reinitilize匹配變量作爲代碼:

$query = mysql_query("SELECT * FROM table ORDER BY id LIMIT 10"); 
    while($f = mysql_fetch_array($query)){ 
    if($f['name']!='variable_name_twiter'){ 
    $match = 1; //In reality it's an array search function which returns 1 on match 
    } 

    if($match == 1) { 
    echo"Show content!"; 
    } 
    $match = 0; 
} 
+0

是的,但如果搜索功能匹配3行,如何使查詢獲取更多行。 – Pandicted

+0

我不明白你的問題。 – MichelRobico

+0

我試圖做一個10行的列表,我有一個函數,它使用表中的「名稱」運行一個搜索查詢與由twitter API生成的數組。在例如,如果我得到3匹配記錄,我仍然想顯示一個列10行,但隱藏匹配的元素。 目前腳本隱藏匹配的元素,並顯示7行而不是10. – Pandicted