如何使用此代码仅获得 1 个结果?我试图计算我们可以在表中找到每个“ double ”的次数。数据库连接没有任何问题,它只得到重复的值作为结果。谢谢。
The output should be like
DOUBLE COUNT
01 02 10 (as example)
03 04 12 (as example)
I am getting duplicated like...
01 02 10 (as example)
01 02 10 (as example)
<?php
if ($check == 'doubles'){
sort($doubles);
foreach ($doubles as $double) {
explode(" ", $double);
$dn1 = $double[0].$double[1];
$dn2 = $double[2].$double[3];
if ($stmt = $post_con->prepare('SELECT DISTINCT FROM tb WHERE CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %") AND CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %")')) {
$stmt->bind_param("ss", $dn1, $dn2);
$dn1 = sprintf('%02d', $dn1);
$dn2 = sprintf('%02d', $dn2);
$stmt->execute();
$stmt->store_result();
$qty = $stmt->num_rows;
echo '<div class="mini">'.$dn1.'</div>';
echo '<div class="mini">'.$dn2.'</div>';
echo '<div class="n-sort">'.$qty.'</div>';
}
}
?>
最佳答案
很难准确匹配您的问题,因为我们不知道您的表结构(特别是 res
字段内容),但我肯定认为这部分代码存在问题:
explode(" ", $double);
$dn1 = $double[0].$double[1];
$dn2 = $double[2].$double[3];
当$double
采用01 02
的值时,您将其分解为['01','02']
,但是您不要捕获分解的数组。
然后,您使用的语法与分解数组和原始字符串都不兼容。连接后,您将得到以下结果:
$double = '01 02';
# index > 01234
$dn1 = '01';
$dn2 = ' 0';
按如下方式替换原来的代码:
$exploded = explode(" ", $double);
$dn1 = $exploded[0];
$dn2 = $exploded[1];
或者这样:
<s>explode(" ", $double);</s>
$dn1 = $double[0].$double[1];
$dn2 = $double[3].$double[4];
关于php - 在mysql上显示单个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36559645/