Помогите решить задачу.

sahnovich

Новичок
Помогите решить задачу.

Есть интернет магазин по продажи компьютерной техники. Имеется каталог .Нужно сделать так что бы когда пользователь заходит в данный раздел каталога например мониторы, надо что сначала показывало 5 мониторов которые больше всего пользуются популярностью т.е. к каким пользователи проявляли больше всего интерес. т.е. находили через посиковиви и заходли на странику и т.д.
 

Alexandre

PHPПенсионер
ход решения
- ставишь на страничку счетчик или внедряешь счетчик в скрипт:
- счетчик увеличивает для даннной единицы товара в день(в неделю) на единицу на каждое посещение
- раз в день (неделю/мес ) подводишь итоги, суммируешь счетчики и получаешь рейтинг наиболее популярных товаров, которые пишешь в отдельную тбл
- на стр магазина выводишь данные рейтинга из обобщенной тбл

данный алгоритм отлично работает см на http://tradebox.ru
 

sahnovich

Новичок
не могу понять как это сделать. Думаю что мот в таблицу добавить поле где будут сохраняться кол-во заходов для каждого продукта, и потом просто сортировать по кол-ву этих заходов, но смущает тот факт что надо будет часто обращаться к таблице. Или мот кто может предложить что нить другое?
 

MVV

Новичок
Помогите решить задачу.Хочу удалить запись из базы, при помощи подстановки значения из формы в условие "WHERE" для колонки "passw" в таблице "aut"

if(isset($_POST['send'])) {
#------------удаление из базы aut--------------
$query="DELETE FROM aut WHERE passw=";
$query.=$_POST['pass'];
$passw=mysql_query("$query");
}
значение в $_POST['pass'] 12345

Когда условие записываю вручную всё получается.

if(isset($_POST['send'])) {
#------------удаление из базы aut--------------
$query="DELETE FROM aut WHERE passw='12345' ";
//$query.=$_POST['pass'];
$passw=mysql_query("$query");
}

Подскажите пожалуйста в чем ошибка? или может есть другое решение?
 

weregod

unserializer
if(isset($_POST['send'])) {
#------------удаление из базы aut--------------
$query="DELETE FROM aut WHERE passw=";
$query.=$_POST['pass'];
die($query);

сравните с ручным учловием.


кстати, где Вы научились использовать конструкцию "$query"?
 

MVV

Новичок
На счет "$query"? не помню точно гдето в книжках смотрел примеры. Спасибо большое за помощь, с этим вопросом уже всё получилось но возник еще один. Может хто подскажет каким способом можно данные из одной таблицы внести в другую в той же базе, может какой нибудь пример скрипта хто подкинет. А то я уже второй день никак не могу решить ету задачу - мозгов не хватает. Заранее очень благодарен!

-~{}~ 20.09.09 13:07:

Ребята обясните пожалуйста чайнику почему при удалении строки из базы данных строка удаляется и при выводе не отображается. А вот размер таблицы в базе не уменьшается. привожу кусочек

$idtemp=$_POST['id'];
$query="DELETE FROM temp WHERE temp.id_temp = '$id_temp'";
if (!mysql_query("$query")) echo mysql_error();

Может быть надо еще чегото удалять? Ключ primary key установлен в поле "id_temp".

И еще есть ли способ при выводе таблицы заменять заменять порядковые номера в новую очередность, а то у меня получается хаос следующий номер записывается в строку вместо удаленного допустим - 4;

1
2
3
53
5
6
Заранее благодарен подскажите хто нибудь!!!

-~{}~ 20.09.09 13:09:

Ребята обясните пожалуйста чайнику почему при удалении строки из базы данных строка удаляется и при выводе не отображается. А вот размер таблицы в базе не уменьшается. привожу кусочек

$idtemp=$_POST['id'];
$query="DELETE FROM temp WHERE temp.id_temp = '$id_temp'";
if (!mysql_query("$query")) echo mysql_error();

Может быть надо еще чегото удалять? Ключ primary key установлен в поле "id_temp".

И еще есть ли способ при выводе таблицы заменять заменять порядковые номера в новую очередность, а то у меня получается хаос следующий номер записывается в строку вместо удаленного допустим - 4;

1
2
3
53
5
6
Заранее благодарен подскажите хто нибудь!!!
 

Leonid

PHP? нет, не слышал...
1
2
3
53
5
6

- это не последовательность записей, это просто уникальные идентификаторы записей, которые не могут повторяться, даже если какие-то номера уже удалены. Если бы повторялись, в БД был бы бардак. И не важно, как они расположены -то что ты видишь, это просто неупорядоченный набор записей. Не стоит как-то извращаться и переделывать 53 в 4. Запись №4 удалена, и все. забудь про нее.

Для упорядочивания списка сделай дополнительное поле в таблице, например "prioritet" int И там уже для записей назначай последовательность 0 - 1 - 2 - 3.

И выборку делай select * from table order by prioritet
 
Сверху