2014-09-04 63 views
0

我希望能夠獲得我的數據庫的特定表中的搜索結果數量(讓我們將其命名爲wp_postmeta)。例如,如果我搜索的確切短語「星期三(9月3日)」,我希望能夠通過php獲得搜索結果的數量。php獲取數據庫表的搜索結果號碼

數據庫的例子

meta_id|post_id|meta_key   |meta_value 

1  |123 |delivery-schedule |Wednesday (3 Sep) 
2  |124 |delivery-schedule |Wednesday (3 Sep) 
3  |125 |delivery-schedule |Thursday (4 Sep) 
4  |126 |delivery-schedule |Friday (5 Sep) 
5  |127 |delivery-schedule |Wednesday (3 Sep) 

因此,在這種情況下,我應該得到的結果作爲3。對不起,如果這聽起來太簡單了但我無法在任何地方找到我的答案。謝謝!

< - 這是我基於gihanmu建議嘗試 - >

function test1() { 
    $variable = "Wednesday(3 Sep)"; 
    $sql = "SELECT COUNT(*) FROM wp_postmeta WHERE meta_value='".$variable."'"; 
    //In your example $variable is Wednesday(3 Sep) 
    $result=mysqli_query($connection,$sql); 
    $count_array=mysqli_fetch_array($result); 
    $exact_count=array_shift($count); 
    echo $exact_count; 
} 
add_action('woocommerce_before_order_notes', 'test1'); 

回答

2
$sql = "SELECT COUNT(*) FROM wp_postmeta WHERE meta_value='".$variable."'"; 
//In your example $variable is Wednesday(3 Sep) 
$result=mysqli_query($connection,$sql); 
$count_array=mysqli_fetch_array($result); 
$exact_count=array_shift($count); 

$ count_array是一個數組,所以你要拉的第一個元素進行使用array_shift()函數來獲取$ exact_count

+0

謝謝。但是,當我輸入到我的function.php。它會導致以下錯誤'警告:mysqli_query()期望參數1是mysqli,null在...中給出是否是我的問題? – zero 2014-09-04 15:28:03

+0

是否有可能你可以發佈你的function.php的地方,所以我們可以選擇它? – 2014-09-04 15:32:09

+0

嗨Gihanmu,請參閱我上面編輯的問題。謝謝! – zero 2014-09-04 16:13:32

1
SELECT COUNT(meta_id) FROM wp_postmeta WHERE meta_value = 'Wednesday (3 Sep)'; 

但由於您使用的PHP,你將需要mysqli的;也許是這樣的

$mysqli = new mysqli("localhost", "user", "password", "database"); 
$mydate = 'Wednesday (3 Sep)'; 
$stmt = $mysqli->prepare("SELECT COUNT(meta_id) FROM wp_postmeta WHERE meta_value = ?"); 
$stmt->bind_param('s', $mydate); 
$result = $stmt->execute(); 
$stmt->bind_result($col1); 
while ($stmt->fetch()) { 
    echo "you have {$col1} rows matching $mydate\n"; 
} 
+0

謝謝。但是,不知何故,您的代碼會導致以下錯誤。這是我的一個問題嗎?致命錯誤:調用成員函數prepare()在非對象' – zero 2014-09-04 15:26:21

+0

上抱歉,我以爲你可能已經在使用mysqli了,但你需要先按照手冊創建你的mysqli連接; http://php.net/manual/en/mysqli.quickstart.connections.php我編輯的答案包括創建連接。 – 2014-09-04 15:28:32

+0

不用擔心。它只是我不熟悉SQL,因此麻煩。但無論如何,嘗試更新後的代碼。我有以下錯誤。致命錯誤:調用一個非對象的成員函數bind_param()。這是連接到mysqli的問題嗎? – zero 2014-09-04 16:08:02