[ damakii @ 23.02.2012. 15:01 ] @
Zdravo, imam sljedeći kod koji mi čita tabelu iz baze, gdje u jednoj koloni prosljeđujem id sa mogučnošću preuzimanja PDF dokumenta. Interesuje me kako brojati klik-ove na link sa .pdf dokumentom i upisivati u bazu u kolonu hit_count, te sumu klikova prikazati u dole navedenoj koloni hit_count. Molim za pomoć, kod je sljedeći:

Code:

<?php
// Retrieve data from database 
$sql="SELECT id,naziv,datum_objave,hit_count FROM obavjestenja WHERE godina='2012' order by id ASC";
$result=mysql_query($sql);
// Define $color=1
$color="1";
 
echo '<table width="665" border="0" align="center" cellpadding="0" cellspacing="1" class="tabtext">';
while($rows=mysql_fetch_array($result)){
 
// If $color==1 table row color = #FFFFFF
if($color==1){
echo "<tr height='20' bgcolor='#FFFFFF'>
<td width='35' align='left' valign='middle'>".$rows['id']."</td>
<td width='' align='left' valign='middle'>".$rows['naziv']."</td>
<td width='120' align='left' valign='middle'>".$rows['datum_objave']."</td>
<td width='50' align='center' valign='middle'><a href='obavjestenja/2012/pdf/".$rows['id'].".pdf' target='_blank'><img src=grafika/PDF.png width='16' height='16' class='bezokvira'/></a></td>
<td width='120' align='left' valign='middle'>".$rows['hit_count']."</td>
</tr>";
// Set $color==2, for switching to other color
$color="2";
}
// When $color not equal 1, use this table row color
else {
echo "<tr height='20' bgcolor='#F0F0F0'>
<td width='35' align='left' valign='middle'>".$rows['id']."</td>
<td width='' align='left' valign='middle'>".$rows['naziv']."</td>
<td width='120' align='left' valign='middle'>".$rows['datum_objave']."</td>
<td width='50' align='center' valign='middle'><a href='obavjestenja/2012/pdf/".$rows['id'].".pdf' target='_blank'><img src=grafika/PDF.png width='16' height='16' class='bezokvira'/></a></td>
<td width='120' align='left' valign='middle'>".$rows['hit_count']."</td>
</tr>";
// Set $color back to 1
$color="1";
}
}
echo '</table>';
mysql_close();
?>
[ ivan.a @ 23.02.2012. 15:40 ] @
Umesto direktnog linka koristi link sa ID (putem GET metode) koji će vršiti upis u bazu.

Na primer:
Code:
<a href="download.php?id=<?php echo $row["id"]; ?>"><img src=grafika/PDF.png width='16' height='16' class='bezokvira'/></a>


download.php

Code:
if (isset($_GET["id"]) AND is_numeric($_GET["id"]) ) {
   $id = (int) $_GET["id"];

  //OVDE STAVI KOD ZA KONEKCIJU SA BAZOM

   $update = mysql_query("UPDATE obavjestenja SET hit_count = hit_count+1 WHERE id = '".(int)$id."' "); //hit count + 1

   //Zatim preusmeri korisnika na download putem header-a
   if (file_exists('obavjestenja/2012/pdf/'.$id.'.pdf') AND $update ) {
     header('Content-type: application/pdf');
     header('Content-Disposition: attachment; filename="'.$id.'.pdf"');
     readfile('obavjestenja/2012/pdf/'.$id.'.pdf'); 
   }
}
[ damakii @ 23.02.2012. 21:23 ] @
Ooo hvala puuunoo, radi kao podmazano. Svaka cast majstore.
[ damakii @ 27.02.2012. 08:09 ] @
Ivane imam jos jedno pitanje, pa te molim da mi pomognes. U proslom primjeru sam trebao da mi broji download određenih file-ova i to sada radi ok. Međutim ako sada imam link koji nije download i koji vodi na drugu php stranicu, kako da napravim istu stvar.

Sve je isto samo sto sada imam umjesto download pdf sljedeće:

Code:

<a href=index.php?id=03vij&vij=".$rows['id']."&jezik=sr>".$rows['naziv_sr']."</a>


gdje na o3vij.php kupim id:

Code:

$id = (int)$_GET['vij'];


Potrebno mi je isto kao i u proslom primjeru da brojim hitove na ovaj link i upisujem ih u bazu u kolonu hit_count.
[ PHPovac @ 29.02.2012. 09:49 ] @
Code (php):

if (isset($_GET["id"]) AND is_numeric($_GET["id"]) ) {
   $id = (int) $_GET["id"];

  //OVDE STAVI KOD ZA KONEKCIJU SA BAZOM

   $update = mysql_query("UPDATE nekatabela SET nesto = nesto+1 WHERE id = '".(int)$id."' ");
}
 

eto. zameni nekatabela sa imenom tabele i nesto sa imenom kolone.
[ damakii @ 29.02.2012. 11:30 ] @
Napravio sam, sve je ok. Nisam zatvorio if sa } pa mi nije radilo, u nekom trenutku sam nadošao na grešku.

U svakom slučaju, hvala ti.
[ PHPovac @ 01.03.2012. 11:18 ] @
zbog toga koristi neki IDE koji ima ugrađen debuger, mnogo je lakše tako pisati skripte..