Hướng dẫn how to create html table in sql server - cách tạo bảng html trong máy chủ sql

Đây là một giải pháp chung với FUNCTION trên cơ sở 9 ____ khi sử dụng flwor

Nó sẽ biến bất kỳ

DECLARE @tbl TABLE(ID INT, [Message] VARCHAR(100));
INSERT INTO @tbl VALUES
 (1,'Value 1')
,(2,'Value 2');
0 thành bảng XHTML.

Nó hoạt động (được thử nghiệm) với 2008R2+, nhưng tôi khá chắc chắn rằng điều này sẽ hoạt động vào năm 2008, thậm chí có thể vào năm 2005. Nếu ai đó muốn xác minh điều này, xin vui lòng để lại nhận xét. Cám ơn

Hàm sau thay thế tất cả các chức năng khác nhau mà tôi đã cung cấp trước đây (xem phiên bản trước nếu cần)

CREATE FUNCTION dbo.CreateHTMLTable
(
    @SelectForXmlPathRowElementsXsinil XML
   ,@tblClass VARCHAR(100) --NULL to omit this class
   ,@thClass VARCHAR(100)  --same
   ,@tbClass VARCHAR(100)  --same
)
RETURNS XML
AS
BEGIN

RETURN 
(
    SELECT @tblClass AS [@class]  
    ,@thClass AS [thead/@class]
    ,@SelectForXmlPathRowElementsXsinil.query(
              N'let $first:=/row[1]
                return 
                <tr> 
                {
                for $th in $first/*
                return <th>{if(not(empty($th/@caption))) then xs:string($th/@caption) else local-name($th)}</th>
                }
                </tr>') AS thead
    ,@tbClass AS [tbody/@class]
    ,@SelectForXmlPathRowElementsXsinil.query(
               N'for $tr in /row
                 return 
                 <tr>{$tr/@class}
                 {
                 for $td in $tr/*
                 return
                 if(empty($td/@link)) 
                 then <td>{$td/@class}{string($td)}</td>
                 else <td>{$td/@class}<a href="{$td/@link}">{string($td)}</a></td>
                 }
                 </tr>') AS tbody
    FOR XML PATH('table'),TYPE
) 
END
GO

Cuộc gọi dễ nhất

Một bảng giả với một số giá trị

DECLARE @tbl TABLE(ID INT, [Message] VARCHAR(100));
INSERT INTO @tbl VALUES
 (1,'Value 1')
,(2,'Value 2');

-Cuộc gọi phải gửi kèm theo

DECLARE @tbl TABLE(ID INT, [Message] VARCHAR(100));
INSERT INTO @tbl VALUES
 (1,'Value 1')
,(2,'Value 2');
1 trong paranthesis! -Bấm vào đoạn trích chạy để xem kết quả!
--click run snippet to see the result!

SELECT dbo.CreateHTMLTable
(
     (SELECT * FROM @tbl FOR XML PATH('row'),ELEMENTS XSINIL)
     ,NULL,NULL,NULL
);

    <table>
	  <thead>
		<tr>
		  <th>ID</th>
		  <th>Message</th>
		</tr>
	  </thead>
	  <tbody>
		<tr>
		  <td>1</td>
		  <td>Value 1</td>
		</tr>
		<tr>
		  <td>2</td>
		  <td>Value 2</td>
		</tr>
	  </tbody>
	</table>

Nếu bạn cần tiêu đề có chỗ trống

Nếu bảng của bạn chứa một cột có trống trong tên của nó hoặc nếu bạn muốn đặt chú thích của một cột theo cách thủ công (hỗ trợ đa Langugage!) Hoặc nếu bạn muốn thay thế một tên Camelcasenen thuộc tính:column with a blank in its name, or if you want to set a column's caption manually (multi langugage support!), or if you want to replace a CamelCaseName with an out-written caption, you can pass this as attribute:

DECLARE @tbl2 TABLE(ID INT, [With Blank] VARCHAR(100));
INSERT INTO @tbl2 VALUES
 (1,'Value 1')
,(2,'Value 2');

SELECT dbo.CreateHTMLTable
(
     (
     SELECT ID
           ,'The new name' AS [SomeOtherName/@caption] --set a caption 
           ,[With Blank] AS [SomeOtherName] 
     FROM @tbl2 FOR XML PATH('row'),ELEMENTS XSINIL
     )
     ,NULL,NULL,NULL
);

	<table>
	  <thead>
		<tr>
		  <th>ID</th>
		  <th>The new name</th>
		</tr>
	  </thead>
	  <tbody>
		<tr>
		  <td>1</td>
		  <td>Value 1</td>
		</tr>
		<tr>
		  <td>2</td>
		  <td>Value 2</td>
		</tr>
	  </tbody>
	</table>

Hỗ trợ đầy đủ CSS và siêu liên kết

Bạn có thể sử dụng các thuộc tính để vượt qua một liên kết hoặc một lớp dựa trên hàng và thậm chí dựa trên giá trị để đánh dấu các cột và thậm chí các ô để tạo kiểu CSS.

--a mock-up table with a row based condition and hyper-links

DECLARE @tbl3 TABLE(ID INT, [With blank] VARCHAR(100),Link VARCHAR(MAX),ShouldNotBeNull INT);
INSERT INTO @tbl3 VALUES
 (1,'NoWarning',NULL,1)
,(2,'No Warning too','http://www.Link2.com',2)
,(3,'Warning','http://www.Link3.com',3)
,(4,NULL,NULL,NULL)
,(5,'Warning',NULL,5)
,(6,'One more warning','http://www.Link6.com',6);
--The query adds an attribute Link to an element (NULL if not defined)
SELECT dbo.CreateHTMLTable
(
     (
     SELECT 
       CASE WHEN LEFT([With blank],2) != 'No' THEN 'warning' ELSE NULL END AS [@class]      --The first @class is the <tr>-class
      ,ID
      ,'center' AS [Dummy/@class]                                                    --a class within TestText (appeary always)
      ,Link AS [Dummy/@link]                                                         --a mark to pop up as link
      ,'New caption' AS [Dummy/@caption]                                             --a different caption
      ,[With blank] AS [Dummy]                                                       --blanks in the column's name must be tricked away...
      ,CASE WHEN ShouldNotBeNull IS NULL THEN 'MarkRed' END AS [ShouldNotBeNull/@class] --a class within ShouldNotBeNull (appears only if needed)
      ,'Should not be null' AS [ShouldNotBeNull/@caption]                             --a caption for a CamelCase-ColumnName
      ,ShouldNotBeNull
     FROM @tbl3 FOR XML PATH('row'),ELEMENTS XSINIL),'testTbl','testTh','testTb'
);

<style type="text/css" media="screen,print">
.center
{
    text-align: center;
}
.warning
{
    color: red;
}
.MarkRed
{
    background-color: red;
}
table,th
{
	border: 1px solid black;
}
</style>
<table class="testTbl">
  <thead class="testTh">
    <tr>
      <th>ID</th>
      <th>New caption</th>
      <th>Should not be null</th>
    </tr>
  </thead>
  <tbody class="testTb">
    <tr>
      <td>1</td>
      <td class="center">NoWarning</td>
      <td>1</td>
    </tr>
    <tr>
      <td>2</td>
      <td class="center">
        <a href="http://www.Link2.com">No Warning too</a>
      </td>
      <td>2</td>
    </tr>
    <tr class="warning">
      <td>3</td>
      <td class="center">
        <a href="http://www.Link3.com">Warning</a>
      </td>
      <td>3</td>
    </tr>
    <tr>
      <td>4</td>
      <td class="center" />
      <td class="MarkRed" />
    </tr>
    <tr class="warning">
      <td>5</td>
      <td class="center">Warning</td>
      <td>5</td>
    </tr>
    <tr class="warning">
      <td>6</td>
      <td class="center">
        <a href="http://www.Link6.com">One more warning</a>
      </td>
      <td>6</td>
    </tr>
  </tbody>
</table>

Là một cải tiến có thể, người ta có thể vượt qua một chân một hàng với các giá trị tổng hợp dưới dạng tham số bổ sung và nối nó là

DECLARE @tbl TABLE(ID INT, [Message] VARCHAR(100));
INSERT INTO @tbl VALUES
 (1,'Value 1')
,(2,'Value 2');
2

Làm thế nào để bạn tạo một bảng trong HTML?

Để tạo một bảng trong HTML, sử dụng thẻ. Trong thẻ bảng này, bạn sẽ đặt, và thẻ. Thẻ xác định một hàng bảng. Thẻ xác định tiêu đề bảng.use the tag. Within this table tag, you'll place the , tag defines a table row. The
, and tags. The
tag defines the table header.

Làm thế nào để bạn sử dụng HTML trong SQL?

Đối với điều này, bạn cần làm theo các bước sau:..
Bước 1: Lọc các yêu cầu biểu mẫu HTML của bạn cho trang web Liên hệ với chúng tôi. ....
Bước 2: Tạo cơ sở dữ liệu và bảng trong MySQL. ....
Bước 3: Tạo biểu mẫu HTML để kết nối với cơ sở dữ liệu. ....
Bước 4: Tạo trang PHP để lưu dữ liệu từ biểu mẫu HTML vào cơ sở dữ liệu MySQL của bạn. ....
Bước 5: Tất cả đã hoàn thành !.

Làm cách nào để kết nối MS SQL với HTML?

Kết nối Microsoft SQL Server với biểu mẫu HTML với LeadsBridge..
Bước 1: Thông tin chính của Bridge. Chọn một tên cho cây cầu của bạn (điều này sẽ chỉ hiển thị bên trong Leadsbridge) ....
Bước 2: Thiết lập nguồn máy chủ Microsoft SQL của bạn. ....
Bước 3: Thiết lập điểm đến biểu mẫu HTML của bạn. ....
Bước 4: Ánh xạ trường. ....
Bước 5: Kiểm tra ..

HTML có hoạt động với SQL không?

Bạn có thể sản xuất HTML từ SQL vì SQL Server có hỗ trợ tích hợp để xuất XML và HTML được hiểu rõ nhất là một phương ngữ hơi kỳ lạ của XML truyền đạt ý nghĩa cho các thẻ được xác định trước.Có rất nhiều trường hợp cạnh trong đó một cấu trúc HTML là cách rõ ràng nhất để truyền đạt các bảng, danh sách và thư mục. because SQL Server has built-in support for outputting XML, and HTML is best understood as a slightly odd dialect of XML that imparts meaning to predefined tags. There are plenty of edge cases where an HTML structure is the most obvious way of communicating tables, lists and directories.