Функция sqlsrv_num_rows возвращает фактическое количество строк при использовании клиентского, статического или клавишного курсора с sqlsrv_query . Вам необходимо использовать "Scrollable" => SQLSRV_CURSOR_KEYSET
в параметре $options
. Другая проблема с вашим кодом заключается в том, что T-SQL
не имеет ключевого слова LIMIT
. В вашем случае следующие ответы могут помочь.
Далее приведен пример, основанный на вашем коде:
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
?>
<?php
$server = "";
$options = array(
"UID" => "",
"PWD" => "",
"Database" => ""
);
$conn = sqlsrv_connect($server, $options);
if ($conn === false) {
exit ("<pre>" . print_r(sqlsrv_errors(), true));
}
$output = '';
$sql = "SELECT * FROM Table";
$result = sqlsrv_query($conn, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET));
$output .= '
<div class="table-responsive">
<table class="table table-bordered">
<tr>
<th width="10%">ID</th>
<th width="40%">column</th>
<th width="40%">column</th>
</tr>';
$rows = sqlsrv_num_rows($result);
if ($rows > 0) {
/*
if ($rows > 10) {
$delete_records = $rows - 10;
$delete_sql = "DELETE FROM Table LIMIT $delete_records";
sqlsrv_query($conn, $delete_sql);
}
*/
while($row = sqlsrv_fetch_array($result)) {
$output .= '
<tr>
<td>'.$row["id"].'</td>
<td class="column" data-id1="'.$row["id"].'" contenteditable>'.$row["PurchaseID"].'</td>
<td class="LogBookNo" data-id2="'.$row["id"].'" contenteditable>'.$row["LogBookNo"].'</td>
<td><button type="button" name="delete_btn" data-id3="'.$row["id"].'" class="btn btn-xs btn-danger btn_delete">x</button></td>
</tr>';
}
$output .= '
<tr>
<td></td>
<td id="column1" contenteditable></td>
<td id="column2" contenteditable></td>
<td><button type="button" name="btn_add" id="btn_add" class="btn btn-xs btn-success">+</button></td>
</tr>
';
} else {
$output .=
'<tr>
<td></td>
<td id="column1" contenteditable></td>
<td id="column2" contenteditable></td>
<td><button type="button" name="btn_add" id="btn_add" class="btn btn-xs btn-success">+</button></td>
</tr>';
}
$output .= '</table>
</div>';
echo $output;
?>