5"> La couleur d'arrière-plan ou de police en HTML est rouge-Questions et réponses sur le réseau chinois PHP
La couleur d'arrière-plan ou de police en HTML est rouge
P粉038161873
P粉038161873 2023-09-03 09:18:19
0
1
629

J'ai le code suivant pour envoyer des notifications par e-mail aux destinataires et cela fonctionne très bien. Les données sources proviennent d'une requête SQL Server, que j'appelle temporairement la table "#Temp_Warning". Si la valeur de T.FORMATTED_ENTRY est inférieure à 10, mon destinataire souhaite que la valeur soit surlignée en rouge dans l'e-mail. J'ai beaucoup essayé, mais les valeurs inférieures à 10 affichent de manière inattendue l'intégralité du code"span style="background-color :red;">5 Au lieu du chiffre 5 en rouge.

Cela fait partie du code d'une procédure stockée SQL Server

IF (SELECT COUNT(*) FROM #Temp_Warning) > COMMENCER --Formater le contenu des e-mails en HTML DÉCLARE @tableHTML NVARCHAR(MAX); FIXER @tableHTML = N'' + N'Nom du test' + N'Résultat formaté' + N'&Lt ;/tr> ;' + CASTING(( SÉLECTIONNER td = T.REPORTED_NAME,'', td = CAS QUAND T.FORMATTED_ENTRY < 10 ALORS N'' + T.FORMATTED_ENTRY + N'' ELSE T.FORMATTED_ENTRY END, '' DE #Temp_Warning T COMMANDE PAR T.REPORTED_NAME POUR CHEMIN XML('tr'), TYPE ) COMME NVARCHAR(MAX)) + FIN 

P粉038161873
P粉038161873

répondre à tous (1)
P粉550323338

Veuillez essayer les solutions suivantes.

Il utilise la fonctionnalité SQL Server XQuery.

De plus, il utilise CSS pour styliser le XHTML de sortie.

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

Sortie XHTML

    

Tests results report

Test Name Formatted result
Bu 57
Po 5
Zu 9
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!