Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите. Как с помощью php через тег <a> передать данные
 
 автор: peter888   (11.11.2008 в 18:59)   письмо автору
 
 

Проблема такая:

Есть такое

ссылка 1 - кликнули 123 раз
ссылка 2 - кликнули 153 раз
ссылка 3 - кликнули 23 раз
ссылка 4 - кликнули 1233 раз
...
ссылка И - кликнули 343 раз

а мне надо, чтоб при нажатии например на "ссылка 3" - кликнули добавилось +1 (т.е. 24) и переменной $url присвоилось href из етого тега <a>. Но учтите, при переходе на "ссылка 3" новая страница открываесться в новом окне, а число 24 надо записать в базу данных.
Числа я вставляю из БД (через переменные).

  Ответить  
 
 автор: sim5   (11.11.2008 в 19:10)   письмо автору
 
   для: peter888   (11.11.2008 в 18:59)
 

Вы (по контексту примера) получаете 23 из таблицы, которое соответсвует какой-то записи. Вставляете идентификатор этой записи в url как значение параметра, а затем если щекнули по "кликнули 23 раз" то увеличивайте значение соответсвуещей колонки в таблице для записи с этим идентификатором, а затем переход с выводом нового значения...

  Ответить  
 
 автор: peter888   (11.11.2008 в 19:15)   письмо автору
 
   для: sim5   (11.11.2008 в 19:10)
 

Хорошо, но как мне передать чило 24 и урл через переменные (через пхп) для записи в БД?
Может как то через <form> или Session

  Ответить  
 
 автор: sim5   (11.11.2008 в 19:24)   письмо автору
 
   для: peter888   (11.11.2008 в 19:15)
 

Какое число 24? Давайте плясать "от печки". При первом заходе на страницу вы берете значение 23 от куда? Из таблицы. Вам кто либо передает его в url или через url? Нет, некому, ни кто ни на что не кликал еще. Так какие вопросы быть могут? Например, у вас в записи под id 125, в поле cnt записано значение 23. Вы получаете это значение у и id записи, и вставляете в url: <a href="main.php?c=125">кликнули 23 раза</a>. Щелкнули эту ссылку или нет, вы можете узнать проверив $_GET['c'], и если щелкнули, то обновление записи 125 и далее возврат к пункту "от печки". Собственно тоже самое и при переходах на другую страницу.

PS. Если на странице в новом окне нужно просто отобразить новое число, пожалуйста - можете и через сессию, можете предать в адресе через заголовок.

  Ответить  
 
 автор: peter888   (11.11.2008 в 19:45)   письмо автору
 
   для: sim5   (11.11.2008 в 19:24)
 

Ну я мало что понимаю в нтмл и пхп, извените что так тупо задал вопрос. Вот что у меня есть:

echo("<td align=\"center\"><a href=\"".$url[1]."\">".$url[1]."</a> - кликнули ".$hits[1]." раз </td>");
echo("<td align=\"center\"><a href=\"".$url[2]."\">".$url[2]."</a> - кликнули ".$hits[2]." раз </td>");
echo("<td align=\"center\"><a href=\"".$url[3]."\">".$url[3]."</a> - кликнули ".$hits[3]." раз </td>");
...
echo("<td align=\"center\"><a href=\"".$url[n]."\">".$url[n]."</a> - кликнули ".$hits[n]." раз </td>");

Надо чтоб при переходе по одной из ссылок две переменные $url[k] и $hits[k] передались на $url[k] страницу и там $url_ok=$url[k]; $hits_ok=$hits[k]+1.
Как узнать какое будет ето k (т.е. по какой именно ссылке кликнули)?
n - может быть больше 100

  Ответить  
 
 автор: peter888   (11.11.2008 в 20:18)   письмо автору
 
   для: peter888   (11.11.2008 в 19:45)
 

Я уже нашол:
echo("<td align=\"center\"><a href=\"".$url[k]."?k=".$k." \">".$url[k]."</a> - кликнули ".$hits[k]." раз </td>");


Потом беру $k из _GET и делаю с ней что хочу. вместо ?k=".$k можно написать ?url= $url[k]&hits=$hits[k]

Но как мне зделать чтоб при переходе по к-ссылке в новом окне открылась $url[k]-ссылка и та что есть, просто перезапустилась но уже с $hits[k]=$hits[k]+1

  Ответить  
 
 автор: Valick   (11.11.2008 в 20:19)   письмо автору
 
   для: peter888   (11.11.2008 в 19:45)
 

Ну вопервых ставить счётчик на каждой странице не рационально, а иногда и нереально (если страница не ваша).
Обычно передают url в качестве параметра на определённую страницу, где происходит подсчёт, а потом редирект на нужный url.


<?php
echo("<td align='center'><a href='count.php?url=".$url[1]."'>".$url[1]."</a> - кликнули ".$hits[1]." раз </td>");
echo(
"<td align=\"center\"><a href=\"".$url[2]."\">".$url[2]."</a> - кликнули ".$hits[2]." раз </td>");
echo(
"<td align=\"center\"><a href=\"".$url[3]."\">".$url[3]."</a> - кликнули ".$hits[3]." раз </td>");
...
echo(
"<td align=\"center\"><a href=\"".$url[n]."\">".$url[n]."</a> - кликнули ".$hits[n]." раз </td>");
?>

Только вместо реальных url в код я бы передавал id_url из базы (если конечно эти адреса храняться в базе, а если нет то я бы настоятельно рекомендовал их туда поместить, а рядом соответственно и поле для количества переходов по этому адресу (или конкретной ссылке))
Изменил первую строку... остальные так же надо поменять

  Ответить  
 
 автор: peter888   (11.11.2008 в 20:26)   письмо автору
 
   для: Valick   (11.11.2008 в 20:19)
 

"Только вместо реальных url в код я бы передавал id_url из базы (если конечно эти адреса храняться в базе, а если нет то я бы настоятельно рекомендовал их туда поместить, а рядом соответственно и поле для количества переходов по этому адресу (или конкретной ссылке))"
так и есть.

но как мне зделать чтоб при переходе по к-ссылке в новом окне открылась $url[k]-ссылка и та что есть, просто перезапустилась но уже с $hits[k]=$hits[k]+1

  Ответить  
 
 автор: Valick   (11.11.2008 в 20:38)   письмо автору
 
   для: peter888   (11.11.2008 в 20:26)
 

Можно конечно обновить вашу страницу $hits[k]=$hits[k]+1, а с помощью ява скрипт открыть новое окно и в нём $url[k]-ссылку, но зачем это?
Обычно с обработчика (count.php) происходит редирект на $url[k]-ссылку и запись в базу перехода по ней, а количество переходов можно будет увидеть при следующем посещении вашей страницы со ссылками. Вы увидете обновлённое количество переходов если конечно кеширование не будет воду мутить))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования