2013-10-11 2 views
2

Я знаю, что было много вопросов об этом, но мне нужна определенная помощь, я новичок в sql и php, поэтому извините за плохое кодирование и плохое отступы. То, что я пытаюсь сделать, - подсчитать количество строк в определенном столбце, а затем, когда я узнаю, сколько из них имеет этот идентификатор из этого столбца, я хотел бы, чтобы он отправил это число обратно на страницу php. ATM Я использую подобный запрос, я не хочу, чтобы это выполнялось.как подсчитать количество строк в сервере ms sql, чтобы найти количество строк для определенных значений.

Мой макет - это 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> 
+0

Я просмотрел этот пост, но у него возникли проблемы с отображением результатов. У меня возникают проблемы с запросом, который ищет через базу данных, для поиска определенного количества строк, которые имеют номер детали, который похож или точно такой же как пользователи вводят @RC –

+0

Я думаю, вы пропустили [этот ответ] (http://stackoverflow.com/a/12336863/180100), говоря о 'sqlsrv_num_rows' –

+0

, как бы я использовал это, чтобы получить результаты, которые мне нужны –

ответ

1

Вместо этого вы можете использовать счет в запросе.

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

1

следующее значение счетчика поиска в моем sql table.

$query = "SELECT * FROM table WHERE fieldName = fieldvalue"; 
$results = mysql_query($query); 
$rows = mysql_num_rows($results); 
echo $rows ; 
+0

as i напечатано выше в моем вопросе, я уже пробовал этот код и не мог заставить это работать, это тот же код, что и я, поставленный выше. а также в рамках моего вопроса, я также упомянул, что я не использую базу данных mysql. Я использую базу данных Microsoft SQL. –

+0

извините, что я думал о ее mysql. – tailor

Смежные вопросы