选择将表格乘以打印mysqli_num_rows

时间:2017-07-21 20:59:21

标签: php mysql

晚上好。

是否有一个会给我一个如何在这里制作这样一个脚本的例子:

我尝试在我的数据库中合并2个不同的表,以获得正确的mysqli_num_rows。

像这样:

     $Querypris ("SELECT * FROM" wpd2_posts` where post_status = 'wc-failed' and select * From `wpd2_postmeta` where meta_key = '_ order_total' and meta_value> 300 ')
     $Num_rowspris = mysqli_num_rows ($ query price);

所以我想从所有post_status ='wc-completed'的人那里得到mysqli_num_rows,但也要meta_value> 300

希望你理解我的意思:)。

3 个答案:

答案 0 :(得分:1)

好吧,你的php代码不会像这样工作。至少变量名必须一致。

您应该在sql语句中使用JOIN子句。我想,两个表中都有一个类似“post_id”的列。

$query_price = "SELECT * FROM wpd2_posts JOIN wpd2_postmeta USING (post_id) WHERE post_status = 'wc-completed' AND meta_key = '_order_total' AND meta_value > 300";
$result = mysqli_query($connection, $query_price);  
$number_of_rows = mysqli_num_rows($result);

更新:

如果列的名称(参考帖子的ID)在这些表中不同,例如“wpd2_posts”中的“ID”和“wpd2_postmeta”中的“post_id”,则应使用以下查询:

SELECT * FROM wpd2_posts p JOIN wpd2_postmeta pm  
ON p.ID = pm.post_id
WHERE p.post_status = 'wc-completed' 
AND pm.meta_key = '_order_total' AND pm.meta_value > 300

更新:从'_ order_total'中删除了空格。改为'_order_total'

答案 1 :(得分:0)

SELECT * FROM wpd2_posts,wpd2_postmeta,其中wpd2_posts.post_status = wc-completed和wpd2_postmeta.meta_key = _ order_total和wpd2_postmeta.meta_value> 300和wpd2_posts.fk = wpd2_postmeta.fk

这个东西可能不适用于没有外键

SELECT * FROM wpd2_posts CROSS JOIN wpd2_postmeta,其中wpd2_posts.post_status = wc-completed和wpd2_postmeta.meta_key = _ order_total和wpd2_postmeta.meta_value> 300

最好使用外键。 希望这会有所帮助

答案 2 :(得分:0)

如果您的网站是WordPress,请使用:

 <item name="android:background">@drawable/splash</item>    

其他:

注意:$ conn是您的数据库连接

global $wpdb;
$sql="SELECT * FROM wpd2_posts pt INNER JOIN wpd2_postmeta pmt ON  pmt.post_id = pt.ID WHERE pt.post_status = 'wc-completed' AND pmt.meta_key = '_order_total' AND pmt.meta_value>300";


$results = $wpdb->get_results($sql, ARRAY_A );
$num_rowspris = count($results);

// OR ---------

$results = $wpdb->query($sql);
$num_rowspris = $results->num_rows;