5"> Warna latar belakang atau fon dalam HTML adalah merah-Soal Jawab Rangkaian PHP Cina
Warna latar belakang atau fon dalam HTML adalah merah
P粉038161873
P粉038161873 2023-09-03 09:18:19
0
1
641

Saya mempunyai kod berikut untuk menghantar pemberitahuan e-mel kepada penerima dan ia berfungsi dengan baik. Data sumber datang daripada pertanyaan SQL Server, yang saya panggil sementara jadual "#Temp_Warning". Jika nilai T.FORMATTED_ENTRY kurang daripada 10, penerima saya ingin nilai itu diserlahkan dengan warna merah dalam e-mel. Saya telah mencuba banyak, tetapi nilai kurang daripada 10 secara tidak dijangka menunjukkan keseluruhan kod"span style="background-color :red;">5 Daripada hanya nombor 5 berwarna merah.

Ini adalah sebahagian daripada kod untuk prosedur disimpan SQL Server

IF (PILIH COUNT(*) DARI #Temp_Warning) > BERMULA --Formatkan kandungan e-mel dalam HTML ISYTIHKAN @tableHTML NVARCHAR(MAX); SET @tableHTML = N'' + N'Nama Ujian' + N'Hasil diformat' + N'' + CAST(( PILIH td = T.REPORTED_NAME,'', td = KES BILA T.FORMATTED_ENTRY <10 THEN'' + T.FORMATTED_ENTRY + N'' ELSE T.FORMATTED_ENTRY END, '' DARI #Temp_Warning T PESANAN OLEH T.REPORTED_NAME UNTUK LALUAN XML('tr'), TYPE ) SEBAGAI NVARCHAR(MAX)) + TAMAT 

P粉038161873
P粉038161873

membalas semua (1)
P粉550323338

Sila cuba penyelesaian berikut.

Ia menggunakan fungsi SQL Server XQuery.

Selain itu, ia menggunakan CSS untuk menggayakan output XHTML.

SQL

-- DDL and sample data population, start DECLARE @tbl TABLE (test VARCHAR(100) PRIMARY KEY, result INT); INSERT @tbl (test, result) VALUES ('Bu', 57), ('Po', 5), ('Zu', 9); -- DDL and sample data population, end DECLARE @xhtmlBody XML , @body NVARCHAR(MAX) , @tableCaption VARCHAR(30) = 'Tests results report'; SET @xhtmlBody = (SELECT ( SELECT * FROM @tbl FOR XML PATH('row'), TYPE, ROOT('root')) .query('  (: including embedded CSS styling :)  
{ for $row in /root/row return }

{sql:variable("@tableCaption")}

Test Name Formatted result
{data($row/test)} {if (($row/result/text())[1] lt 10) then attribute id {"red"} else ()} {data($row/result)}
')); SELECT @xhtmlBody; SET @body = TRY_CAST(@xhtmlBody AS NVARCHAR(MAX));

Output XHTML

    

Tests results report

Test Name Formatted result
Bu 57
Po 5
Zu 9
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!