Update при клик

sentenello

Registered
Как мога да направя при кликане на дадена снимка да добавя в полето КЛИК +1

Ето този код ползвам, но не мога да го направя да работи... Къде трябва да го сложа ?
Код:
mysql_query("UPDATE `gallery` SET views=views+1 WHERE id='".$_GET[id]."'")or die(mysql_error());
 
Имам файл gallery мисля, че е там даже съм сигурен, но незнам къде точно и как да го направя. Ето го файла.
Код:
<style>
.str { 
width: 50px; 
height: 50px; 
border: 1px solid #000000; 
background-color: white; 
color: red; 
text-align: center; 
} 

.str a:hover { 
border: 1px solid #a7a7a7; 
background-color: blue; 
color: white; 
text-decoration: none; 
} 
.str a { 
text-decoration: none; 
}
</style>
<?php 
include "config.php"; 
$broinastranica = 4; 

$pageNum = 1; 

if(isset($_GET['page'])) 
{ 
$pageNum = $_GET['page']; 
} 
//򳪠 ﰰ楥퀬塪蘒𥤮㥠񥠱塯﫠裠򠭠౨᫮ $_GET['page']=2 
// 񥠯﫠祠ﲠ20 宠40-򨠰椮 
$redove = ($pageNum - 1) * $broinastranica; 
//衿㫠򠠹塢򰭥 񠬮 ௱︥塰楮㥠- ౨ﲠ20 宠40 ⡧ᣨ񨬮񲠮򠤟GET['page'] 
$query = " SELECT * FROM gallery ORDER BY id DESC LIMIT $redove, $broinastranica"; 
$result = mysql_query($query) or die('Error, query failed'); 

$i=0; 
while($row = mysql_fetch_array($result)) 
{ 
$small=$row[small]; 
$rep=str_replace("/small","",$small); 
echo "<a href='$rep'><img style='border:6px groove #3366FF ;' class='gallery' src='$small' alt='$row[info]' width='140' height='140'></a> "; 

if($i==4){ 
echo "<br />"; 
$i=0; 
} 
} 
// ౮㦰塲᢫鷠򠠪שׁ楮㥠魠 
$query = "SELECT COUNT(snimka) AS numrows FROM gallery"; 
$result = mysql_query($query) or die('Error, query failed'); 
$row = mysql_fetch_array($result, MYSQL_ASSOC); 
$numrows = $row['numrows']; 


$maxPage = ceil($numrows/$broinastranica); 

$self = $_SERVER['PHP_SELF']; 
$nomeranastranici = ''; 
echo "<div  align='center'>"; 
for($page = 1; $page <= $maxPage; $page++) 
{ 
if ($page == $pageNum) 
{ 
$nomeranastranici .= "<a STYLE='color: red; font-weight: bold;'> $page</a>"; 
} 
else 
{ 
$nomeranastranici .= "<span class='str'><a href=\"login.php?page=$page\">$page</a></span>"; 
} 
} 

if ($pageNum > 1) 
{ 
$page = $pageNum - 1; 
$predishna = " <a href=\"login.php?page=$page\">$prev</a> "; 

$parva = " <a href=\"login.php?page=1\">$first</a> "; 
} 
else 
{ 
$predishna =' '; 
$parva = '<span class="str"> </span>'; 
} 
if ($pageNum < $maxPage) 
{ 
$page = $pageNum + 1; 
$sledvashta = " <a href=\"login.php?page=$page\">$next</a>"; 

$posledna = " <a href=\"login.php?page=$maxPage\">$last</a>"; 
} 
else 
{ 
$sledvashta = ' '; 
$posledna = ' '; 
} 
echo "<table><td> <span class='str'>$parva</span></td> <td><span class='str'>$predishna</span></td><td>$nomeranastranici</td><td><span class='str'>$sledvashta</span></td><td><span class='str'>$posledna</span></td></table>"; 
echo "</div>"; 

?>
 
Ами ако линка за да видиш снимката е http://domain.com/pics.php?id=[id] кода ще го сложиш в pics.php.

<?php
include("connect.php");
$id = (int) $_GET['id'];
if (!id) die();
mysql_query("UPDATE `gallery` SET views=views+1 WHERE id=$id");
..
?>
 
А използваш ли .js файла ,от старата тема , и ако да , каква грешка ти извежда?
Просто за твоя начин няма да стане без Ajax или нещо подобно , понеже нямаш отделен линк за разглеждане на снимките.
Ако искаш по този начин да ъпдейтваш полето в базата данни , ще трябва да си напишеш скрипт , за отделно извеждане на дадена картинка , който може да е от сорта на gallery.php?img=$row[id] , и в самия файл gallery.php , ще трябва да ги извеждаш
if (isset($_GET['img']))) { // тука ще обновяваш преглежданията; }
else { // тук ще ти е кода със страницирането , предния ти файл; }
 
Replace пробвах по доста начини... включително който и ти ми каза, но нещо не мога да го скопосам като хората.

За да ви обясня нагледано какво искам да стане ще ви дам ето този линк.
www.prognozite.com/GALERIQ/login.php

Искам под всяка снимка да ми излиза колко пъти е прегледана тя. В файла gallery.php който съм дал по-горе трябва да добавя някакъв код с който при клик на дадена снимка за да се види голяма да добавя в полето +1, а след това както каза ти
Код:
$vidqna = mysql_result(mysql_query("SELECT klikaniq FROM `таблицата` WHERE id='".$_GET[id]."'"),0)or die(mysql_error()); 
echo "Снимката е видяна ".$vidqna." пъти";
Така да извадя колко пъти е видяна. Когато пробвам някой от дадените кодове кликам върху снимката и после гледам в phpmyadmina дали някое поле е мраднало от нулата.
Също така в gallery.php трябва да добавя някъде да $row views което също незнам къде да добавя за да ми го изкарва под всяка снимка.

Това е проблема който имам...
 
сложи във view.php това:

<?php
include('conf.php');
$getid = $_GET['id'];
$our = mysql_query("SELECT * FROM views where id='$getid'");
while($r=mysql_fetch_array($our)){
$views=$r[views]+1;
$url = $r; $update = mysql_query("Update [co... '$views' where id = '$getid'"); } ?>[/quote]
 
Доколкото съм разбрал трябва да го направя така ли?

в gallery.php слагам
Код:
function calc_view(id) { 
var xmlhttp = false; 
try { xmlhttp = new ActiveXObject('Msxm12.XMLHTTP'); } 
catch(e) { 
try { xmlhttp = new ActiveXObject('Microsonf.XMLHTTP'); } 
catch(e) { xmlhttp = false; } 
} 
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); } 
xmlhttp.open('GET','view.php?id=' + id,true); 
xmlhttp.send(null) 
return; 
}

правя едно view.php и слагам
Код:
<?php 
include('conf.php'); 
$getid = $_GET['id']; 
$our = mysql_query("SELECT * FROM views where id='$getid'"); 
while($r=mysql_fetch_array($our)){ 
$views=$r[views]+1; 
$url = $r[url]; 
$update = mysql_query("Update таблицата за снимките set views = '$views' where id = '$getid'"); } 
?>

И още какво трябва да добавя в gallery.php за да ми изкарва под всяка снимка колко пъти е видяна ?
 
sentenello каза:
Доколкото съм разбрал трябва да го направя така ли?

в gallery.php слагам
Код:
function calc_view(id) { 
var xmlhttp = false; 
try { xmlhttp = new ActiveXObject('Msxm12.XMLHTTP'); } 
catch(e) { 
try { xmlhttp = new ActiveXObject('Microsonf.XMLHTTP'); } 
catch(e) { xmlhttp = false; } 
} 
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); } 
xmlhttp.open('GET','view.php?id=' + id,true); 
xmlhttp.send(null) 
return; 
}

правя едно view.php и слагам
Код:
<?php 
include('conf.php'); 
$getid = $_GET['id']; 
$our = mysql_query("SELECT * FROM views where id='$getid'"); 
while($r=mysql_fetch_array($our)){ 
$views=$r[views]+1; 
$url = $r[url]; 
$update = mysql_query("Update таблицата за снимките set views = '$views' where id = '$getid'"); } 
?>

И още какво трябва да добавя в gallery.php за да ми изкарва под всяка снимка колко пъти е видяна ?

дай си кода от gallery.php да ти го вкарам :D
 
Този код го добавяш в секцията <head> & </head> като джава скрипт , ето ти един пример
<html>
<head>
<title> Untitle :-) </title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<script type="text/javascript">
function calc_view(id) {
var xmlhttp = false;
try { xmlhttp = new ActiveXObject('Msxm12.XMLHTTP'); }
catch(e) {
try { xmlhttp = new ActiveXObject('Microsonf.XMLHTTP'); }
catch(e) { xmlhttp = false; }
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); }
xmlhttp.open('GET','view.php?id=' + id,true);
xmlhttp.send(null)
return;
}
</script>

</head>
<body>
тук вече си караш сайта
</body>
</html>
и после остава да сложиш да се изпълнява функцията calc_view(id) при извеждането на снимките , и това ще стане , чрез събитието onClick
echo "<a href=\"ref\"><img src=\"".$row[name]."\" onClick=\"calc_view($row[id]);\" /></a>";
 
stoqnski каза:
sentenello каза:
Доколкото съм разбрал трябва да го направя така ли?

в gallery.php слагам
Код:
function calc_view(id) { 
var xmlhttp = false; 
try { xmlhttp = new ActiveXObject('Msxm12.XMLHTTP'); } 
catch(e) { 
try { xmlhttp = new ActiveXObject('Microsonf.XMLHTTP'); } 
catch(e) { xmlhttp = false; } 
} 
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); } 
xmlhttp.open('GET','view.php?id=' + id,true); 
xmlhttp.send(null) 
return; 
}

правя едно view.php и слагам
Код:
<?php 
include('conf.php'); 
$getid = $_GET['id']; 
$our = mysql_query("SELECT * FROM views where id='$getid'"); 
while($r=mysql_fetch_array($our)){ 
$views=$r[views]+1; 
$url = $r[url]; 
$update = mysql_query("Update таблицата за снимките set views = '$views' where id = '$getid'"); } 
?>

И още какво трябва да добавя в gallery.php за да ми изкарва под всяка снимка колко пъти е видяна ?

дай си кода от gallery.php да ти го вкарам :D

Gallery.php съм го дал малко по горе. Мерси
 

Back
Горе