php - 计算其中的行数以查找特定值的行数

标签 php sql sql-server sql-server-2008 count

我知道有很多关于此的问题,但我需要一些具体的帮助,我是 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>

最佳答案

相反,您可以在查询中使用count

$query = "SELECT count(column) FROM table WHERE column = value";

关于php - 计算其中的行数以查找特定值的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19316522/

相关文章:

sql-server - 交叉应用与 "comma Join"

sql - 嵌套查询出错

php - 禁用基于 PHP 变量值的输入元素

php - 将 HTML 写入字符串,组合字母和字符串

mysql NOT IN查询

mysql - SQL 脚本和查询中的随机变量

.net - 在 .NET 中以编程方式检索数据库表创建脚本

php - 一种表单中的常规按钮和提交按钮不起作用

php - 如何确定是否通过 cron/命令行加载 PHP 文件

php - 在 MySQL 中执行查询的性能。也许正在使用缓存?