Добавяне в DB и ъпдейт

cold_zero

Registered
Имам следния код
Код:
$query3 = "update viewed set viewed=viewed+1 where filename='$filename'";
$result3 = mysql_query($query3) or die('Error, query failed');

чрез него ъпдейтвам колко пъти е слушана дадена песен, искам обаче да проверява дали има запис във viewed за тази песен и ако няма да не прави update, а да добавя песента... Тъпо го обясних за което ви моля да ме извините... :roll:
 
ами вмомента несе сещам друг начин освен първо да проверяваш дали има стоиност т.е. ще стане с 2 заявки
първо селект
$sql="SELECT * FROM viewed WHERE viewed>0 AND filename=$filename";
$result = mysql_query($sql) or die('Error, query failed');

ако има резултати ще прави ъпдеит +1
if(mysql_num_rows($result )>0){
$query3 = "update viewed set viewed=viewed+1 where filename='$filename'";
}
ако има ли няма нищо записано (т.е. viewed>0 )
else{
#тука си правиш заявката за ъпдеит на името на песента или там квото трябва да е че неразбрах :)
}
 
ааа неразбрах нещо
примерно
$filename="madona - la bonita";

ако я има ъпдейтва +1
ако я няма добавя песента в база данни
такали ?
 
ами значи горния код трябва да се промени малко и мисля че ще стане

$sql="SELECT * FROM viewed WHERE filename=$filename";
$result = mysql_query($sql) or die('Error, query failed');

ако има резултати ще прави ъпдеит +1

if(mysql_num_rows($result )>0){
$query3 = "update viewed set viewed=viewed+1 where filename='$filename'";
}

ако има ли я няма песента в листата
else{
$sql="INSERT INTO viewed(filename) VALUES('$filename');
$query=mysql_query($sql);
}
 
Код:
 Parse error: syntax error, unexpected T_STRING in d:\webdesign\site\www\music\play.php on line 48
:roll:

Кода
$sql="SELECT * FROM viewed WHERE filename=$filename";
$result = mysql_query($sql) or die('Error, query failed');


if(mysql_num_rows($result )>0){
$query3 = "update viewed set viewed=viewed+1 where filename='$filename'";
}
else{
$sql="INSERT INTO viewed(filename) VALUES('$filename');
$query=mysql_query($sql);
}

Ред 48

$query2 = " SELECT* FROM dir where dirID='$dir_id' ORDER BY dirid DESC";
 
невиждам грешка в този ред дай няколко реда по нагоре
еи тук сам забравил да сложа "
$sql="INSERT INTO viewed(filename) VALUES('$filename')";
 
Да аз го оправих :P Аддва файла, ако го няма в базата данни, но после не го ъпдейтва с viewed+1 :cry:
 
То си е default 0 и при insert в момента е така

Код:
$queryV3="INSERT INTO viewed(filename, viewed) VALUES('$filename', '1')";

Но не става не ъпдейтва viewed като рефрешна страницата :cry:
 
ами значи трябва да става щом преди е ставало
$query3 = "update viewed set viewed=viewed+1 where filename='$filename'";

полето integer ли е ?
 
ами тип на полето като дадеш на Structore на самата таблица и изписва какъв вид е полето int text data varchar нещо такова трябва да пише
можеби трябва да е int но си мисля че щом преди е правило ъпдеит по този начин с where viewed=viewed+1 значи и сега трябва да става :roll:
 
Оправих го :lol: Трябва да е по следния начин
Код:
if(mysql_num_rows($resultV)>0){
$query3 = "update viewed set viewed=viewed+1 where filename='$filename'";
$result3 = mysql_query($query3) or die('Error, query failed');
}

Беше забравил да сложиш кода за изпълнение на $query3 :). Благодаря за помоща, заслужена една точка :P
 
мерси за точката
нече съм забравил просто защо ползваш $resultV $result3 и т.н.т. просто ги прави с едно име това няма да ти влияе на скрипта но както ти е удобно разбирасе !
 
Мерси за съвета :) Сега го преработвам за едно друго нещо ама пак проблеми :lol:
 

Back
Горе