在mysql上显示单个结果

时间:2016-04-11 21:32:56

标签: php mysql arrays

如何使用此代码只获得1个结果?我想知道我们可以在表格中找到每个“双”的次数。数据库连接没有任何问题,它只会得到重复的值。谢谢。

<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8"/>
    <meta name="author" content="Spino Tutorials" />
	<title>Task Tracker</title>
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body onload="load()">

<div class="background_panel">
	<div class="main_header">
		<h1>Task Tracker</h1>
		<span>v2.0</span>
	</div>
	<div style="vertical-align:top">
		<div class="form_panel">
			<h3>Create a Task</h3>
			<form id="sfrm">
				Task Name<br>
				<input type="text" name="task" ><br><br>
				Date<br>
				<input type="date" name="date"><br><br>
				Assigned To<br>
			
				<input type="text" name="assigned" ><br><br>
				<input type="submit" id="target" value="Submit">
			</form>
		</div>
		<div class="data_panel">
			<h3>Exsisting Tasks</h3>
			<table id="stage" style="table-layout: fixed; max-height: 350px;"></table>
		</div>
	</div>
	 <div class="clear">
	 	
	 </div>
</div>
</body>
	<script src="js/jquery.min.js"></script>
	<script type="text/javascript" src="js/functions.js"></script>
</html>

3 个答案:

答案 0 :(得分:0)

要计算重复项,请尝试使用此查询:

SELECT count(1) FROM (
SELECT res, Count(1)
FROM tb 
WHERE CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %") --I don't know did you need this conditions... 
AND CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %")
GROUP BY res
HAVING Count(1) > 1)

编辑:
如果您尝试列出重复项,那么:

SELECT res, Count(1)
FROM tb 
WHERE CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %") --I don't know did you need this conditions... 
AND CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %")
GROUP BY res
HAVING Count(1) > 1

答案 1 :(得分:0)

使用distinct将返回整个表中的所有不同行,但如果有多个唯一行,则将返回每一行。

您想要的是使用像COUNT(*)这样的聚合函数来计算符合条件的行数。

SELECT 
    COUNT(*) 
FROM tb 
WHERE 
    CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %") AND 
    CONCAT(" ", res, " ") LIKE CONCAT("% ", ?, " %")

这将返回与WHERE条件匹配的行数。

如果要查找表中每个double值的次数,可以按double值分组并计算每个组。例如:

SELECT 
    res,
    COUNT(*) 
FROM tb 
GROUP BY
    res

我很难回答这个问题,因为我不确定你的桌子中有哪些字段,res是什么,以及你感兴趣的双重价值在哪里发挥作用。

答案 2 :(得分:0)

很难准确匹配您的问题,因为我们不知道您的表格结构(特别是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];

或者以这种方式:

explode(" ", $double);
$dn1 = $double[0].$double[1];
$dn2 = $double[3].$double[4];