2

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

2 回答 2

1

mysql 表中的以下步数搜索值。

$query = "SELECT * FROM table WHERE fieldName = fieldvalue";
$results = mysql_query($query);
$rows = mysql_num_rows($results);
echo $rows ;
于 2013-10-11T11:07:55.493 回答
1

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

$query = "SELECT count(column) FROM table WHERE column = value";
于 2013-10-11T12:17:02.267 回答