计算其中的行数以找到特定值的行数[重复]
Posted
技术标签:
【中文标题】计算其中的行数以找到特定值的行数[重复]【英文标题】:Count number of rows within to find an amount of rows to specific values [duplicate] 【发布时间】:2013-10-11 10:59:53 【问题描述】:我知道对此有很多问题,但我需要一些具体的帮助,我是 sql 和 php 的新手,对于糟糕的编码和糟糕的缩进非常抱歉。我要做的是计算特定列的行数,然后当我从该列中找出有多少具有此 ID 时,我希望它将此数字发送回 php 页面。 ATM 我正在使用类似的查询,我不希望这受到影响。
我的布局是 3 页索引部件选择和部件位置,用户在索引页面中输入部件编号,然后在数据库中搜索,然后显示匹配或类似于用户在零件选择页面。然后单击您想要的零件,然后它会将您带到位置页面并显示该零件的最近位置。
我想要做的是,当用户输入部件号时,查询运行并搜索数据库,计算具有或类似于输入的行数,然后像通常那样输出部件,但我想要发生的是,如果只有一行具有该零件号,我希望它说 row = 1,这样我就可以使用该值运行 if 语句。我查看了不同的代码并且无法安静地找到我正在寻找的内容这些是我找到并尝试修改以满足我需要的示例。但我没有运气。
$query = "SELECT (column) FROM table WHERE column = value";
2.$results = mysql_query($query);
3.$rows = mysql_num_rows($results);
4.echo $rows ;
下面有单独的代码
<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false )
die( print_r( sqlsrv_errors(), true));
$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false)
die( print_r( sqlsrv_errors(), true) );
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) )
echo $row['LastName'].", ".$row['FirstName']."<br />";
sqlsrv_free_stmt( $stmt);
?>
我希望代码或查询在我拥有的 php 中,任何想法都会很棒,或者对英语不好的例子感到抱歉,非常感谢
我的页面代码如下:
<!DOCTYPE html>
<head>
<meta name="viewport" content="width=device-width, user-scalable=false;">
<script type="text/javascript">
function submit()
document.getElementById("start").click(); // Simulates button click
document.submitForm.submit(); // Submits the form without the button
</script>
</head>
<body>
<?php
try
$serverName = "188.64.188.89";
$connectionInfo = array( "Database"=>"tdStoreLocator", "UID"=>"odbcAdmin", "PWD"=>"Midnight1Midnight1");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false )
die( print_r( sqlsrv_errors(), true));
$sql = "SELECT TOP 10 [company]
,[partnum]
,[description]
FROM [tdStoreLocator].[odbcadmin].[Part]
WHERE Part.partnum LIKE ? or Part.description LIKE ?";
/* Set parameter values. */
$params = array( "%" . str_replace(" ","%",$_POST["part"] ). "%", "%" . str_replace(" ","%",$_POST["part"] ) . "%");
$i = 0;
$x = true;
/*echo print_r($params, true);*/
$stmt = sqlsrv_query( $conn, $sql, $params );
if( $stmt === false)
die( print_r( sqlsrv_errors(), true) );
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC))
if($x == true)
echo"<form id=\"submitForm\" action=\"locations.php\" method=\"post\">";
echo"<input type=\"hidden\" name=\"part\" id=\"3\" value=\"".$row['partnum']."\">";
echo"<input type=\"hidden\" name=\"lon1\" id=\"1\" value=\"".$_POST["lon1"]."\">";
echo"<input type=\"hidden\" name=\"lat1\" id=\"2\" value=\"".$_POST["lat1"]."\">";
echo"<button id=\"start\" type=\"submit\">";
echo "<div style=\"font-family:verdana;font-weight:bold;color:#3083FF;font-size:20px;width:100%;text-align:center;margin:0; padding:0;\">";
echo $row['partnum']."<br/>";
echo "</div>";
echo"<img style=\"width:50%;\"; src=\"productimages/".$row['partnum'].".jpg\" alt=\"Save icon\" onError=\"this.src='productimages/noimage.jpg'\"/>";
echo "<div style=\"font-family:verdana;color:#3083FF;font-size:20px;width:100%;text-align:center;margin:0; padding:0;\">";
echo $row['description'];
echo "</div>";
echo"</button>";
echo"</form>";
$i++;
sqlsrv_free_stmt( $stmt);
catch (Exception $e)
echo 'Caught exception: ', $e->getMessage(), "\n";
if($i < 1)
echo "<div style=\"font-family:verdana;font-weight:bold;color:#3083FF;font-size:20px;width:100%;text-align:center;\">";
echo "No results found, Please check your spelling of the part number or description.";
echo "</div>";
if($i == 1 )
echo"<img onload=\"setTimeout(submit(),00001);\" src=\"index.jpg\" onError=\"this.src='productimages/noimage.jpg'\"/>";
?>
</body>
</html>
【问题讨论】:
我看过那个帖子,但他在显示结果时遇到问题我在搜索数据库以查找具有零件号的特定行数的查询时遇到问题喜欢或与用户输入@RC 完全相同 我想你错过了 this answer 谈论sqlsrv_num_rows
我将如何使用它来获得我想要的结果
【参考方案1】:
您可以在查询中使用count
。
$query = "SELECT count(column) FROM table WHERE column = value";
【讨论】:
【参考方案2】:在mysql表中跟随步数搜索值。
$query = "SELECT * FROM table WHERE fieldName = fieldvalue";
$results = mysql_query($query);
$rows = mysql_num_rows($results);
echo $rows ;
【讨论】:
正如我在上面的问题中输入的那样,我之前尝试过这段代码,但无法让它工作,这与我在上面的问题中输入的代码相同。在我的问题中,我还提到我没有使用 mysql 数据库,我使用的是 microsoft sql 数据库 对不起,我以为是 mysql。以上是关于计算其中的行数以找到特定值的行数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何计算包含一组列中的值和 Pandas 数据框中另一列中的另一个值的行数?