Разбор параметров URL с использованием T-SQL

Используя JQuery, просто используйте эту функцию:

<script>
function printContent(el){
var restorepage = $('body').html();
var printcontent = $('#' + el).clone();
$('body').empty().html(printcontent);
window.print();
$('body').html(restorepage);
}
</script>

Ваша кнопка печати будет выглядеть так:

<button id="print" onclick="printContent('id name of your div');" >Print</button>

Edit: Если у вас есть данные формы, которые вам нужны чтобы сохранить, клон не будет копировать его, поэтому вам просто нужно захватить все данные формы и заменить его после восстановления так:

<script>
function printContent(el){
var restorepage = $('body').html();
var printcontent = $('#' + el).clone();
var enteredtext = $('#text').val();
$('body').empty().html(printcontent);
window.print();
$('body').html(restorepage);
$('#text').html(enteredtext);
}
</script>
<textarea id="text"></textarea>
1
задан a_horse_with_no_name 1 March 2019 в 15:22
поделиться

1 ответ

В идеале вы будете делать это в виде хранимой процедуры, чтобы разбить работу на куски размером с укус. Вы можете сделать все это в одном операторе SQL, но это становится кошмаром, когда вы добираетесь до последних нескольких параметров!

Основной подход заключается в использовании комбинации CHARINDEX & amp; ПОДПИСАТЬСЯ на разбор URL ... Нашли первый? затем возьмите оттуда до первого & amp; (затем разделите это по обе стороны от =) Затем вы найдете следующий & amp; (разделить на =) и промыть & amp; повторить.

Я начал этот процесс для вас - вы можете расширить его, чтобы получить остальные параметры из URL-адреса - он немного медленный & amp; неуклюже, но, по крайней мере, вы можете видеть, что происходит:

Запустите этот бит SQL, и вы скоро получите идею:

declare @str VARCHAR(8000)= 'https://www.example.com/?utm_source=google&utm_medium=blabla&utm_campaign=gameuser&utm_term=winwin&utm_content=takego'

DECLARE @str1 VARCHAR(8000)= SUBSTRING(@str, CHARINDEX( '?',@str, 1)+1, CHARINDEX( '&',@str, 1) -CHARINDEX( '?',@str, 1)-1)

SELECT SUBSTRING(@str1, 1, CHARINDEX( '=',@str1, 1)-1)

SELECT SUBSTRING(@str1, CHARINDEX( '=',@str1, 1)+1, LEN(@Str1))

DECLARE @str2  VARCHAR(8000) = SUBSTRING(@str, CHARINDEX( '?',@str, 1) + len(@str1) + 2, LEN(@str))

SELECT @str2 = SUBSTRING(@str2, 1, CHARINDEX( '&',@str2, 1)-1)

SELECT @str2
0
ответ дан john McTighe 1 March 2019 в 15:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: