【问题标题】:Displaying table from SQL Server database显示 SQL Server 数据库中的表
【发布时间】:2019-06-24 11:41:54
【问题描述】:

我正在尝试显示一个可以编辑的表格。即使表中有记录,我的表也是空的。任何帮助将不胜感激。

选择数据的代码: 选择.php

 <?php  
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
 ?>

<?php  
 $server = "";
$options = array( "UID" => "", "PWD" => "", "Database" => "");
global $conn;
$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);  
 $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>

       ';  
  }  
  $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;  
 ?>

【问题讨论】:

  • LIMIT 用于 mysql,而不是 mssql。您也无法获取删除。
  • @user3783243 好的,但我不认为这是表不显示 SQL 表中数据的主要问题
  • $rows 包含什么?
  • @user3783243 echo $rows;什么都不显示

标签: php html sql-server


【解决方案1】:

当您将客户端游标、静态游标或键集游标与 sqlsrv_query 一起使用时,函数 sqlsrv_num_rows 返回实际行数。您需要在 $options 参数中使用 "Scrollable" =&gt; SQLSRV_CURSOR_KEYSET。您的代码的另一个问题是 T-SQL 没有 LIMIT 关键字。在您的情况下,下一个 answers 可能会有所帮助。

接下来是一个示例,基于您的代码:

<?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;  
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多