ASP SQL Update страницы просмотров при щелчках ссылок

1

У меня есть веб-сайт, который в настоящее время имеет форму поиска, написанную ASP. Поиск вызывает мою базу данных SQL и помещает результаты в таблицу с интерактивными изображениями на страницы HTML для каждого результата поиска. В настоящее время я сортирую результаты по полю в моей таблице SQL. Код для каждого результата поиска выглядит следующим образом:

<a href="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/index.html"><img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/plan-1st-floor.jpg" width="400" border=0/></a>

То, что я хотел бы сделать, - это нажать ссылку, чтобы отправить базу данных SQL и добавить +1 в число просмотров. Таким образом, я могу изменить свой вид на кол-во просмотров и получить самые популярные ссылки в верхней части результатов поиска. Первичным ключом для базы данных SQL является поле "адрес", если это помогает увеличить количество просмотров.

Любая помощь с этим будет очень признательна, поскольку я, кажется, на пределе своих знаний о программировании.

- Обновление № 1 -

Поэтому я пытаюсь это преодолеть. Могу ли я добавить код для обновления базы данных SQL прямо в ссылку? Кажется, он не работает.

<a href="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/index.html" onclick="UPDATE dbo.main SET pageview=pageview+1 WHERE address=<%# DataSet1.FieldValue("address", Container) %>"><img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/plan-1st-floor.jpg" width="400" border=0/></a>

Я не уверен, должен ли я назвать это по-другому. Я пытаюсь.

- Обновление № 2 -

Поэтому я попытался изменить код еще раз, чтобы понять это. Итак, теперь я пытаюсь передать это через функцию, потому что я не думаю, что она будет работать в гиперссылке. Так вот что я сделал:

<a
    href="model-homes/<%# DataSet1.FieldValue("address", Container) %>/index.html"
    onclick="UpdateDB(<%# DataSet1.FieldValue("address", Container) %>)"
>
<img
    src="model-homes/<%# DataSet1.FieldValue("address", Container) %>/plan-1st-floor.jpg"
    width="400"
    border=0
/>
</a>

И это функция:

function UpdateDb(@address)
{
    SELECT pageview FROM dbo.main WHERE address=@address
    UPDATE pageview=pageview+1  FROM dbo.main  WHERE address=@address
}

Любая помощь в этом будет принята с благодарностью.

Теги:
search
pageviews

1 ответ

0

Подход, который вы пытаетесь, может быть успешным, если вы можете изменить index.html на index.aspx, чтобы решить эту проблему:

  1. Использование переменной строки запроса, но она основана на предположении, что index.html можно изменить на index.aspx:

    <a href="/model-homes/<%# DataSet1.FieldValue("address", Container) html"       
        <img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>
            /plan-1st-floor.jpg" width="400" border=0/>
    </a>
    

    Добавьте переменные строки запроса в конец index.html, как указано ниже:

    <a href="/model-homes/<%# DataSet1.FieldValue("address", Container)%>
        /index.aspx?name=<%# DataSet1.FieldValue("address", Container) %>"       
        <img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>
            /plan-1st-floor.jpg" width="400" border=0/>
    </a>
    
  2. Если index.html не может быть изменен на index.aspx, тогда создайте промежуточную страницу для перехода от index.html?name=<%# DataSet1.FieldValue("address", Container) %> к newpage.aspx, выполните обработку обновления до базу данных по функции pageload, а затем перенаправить обратно в index.html.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню