pdo statements
Downloadscript 2
Downloads zählen
Damit wir die Downloads zählen können, brauchen wir eine weitere Spalte in der Tabelle
Tabelle für die Datenbank (db_test) ändern
CREATE TABLE download
(
id int (10) NOT NULL AUTO_INCREMENT,
datei_zip varchar(150) NOT NULL,
datei_titel varchar(150) NOT NULL,
datum datetime NOT NULL,
beschreibung text NOT NULL,
hits int(10) NOT NULL,
PRIMARY KEY (id)
);
<?php
Datenbank abfrage ändern
$stmt=$pdo->prepare("
SELECT
id,datei_zip,datei_titel,datum,beschreibung,hits
FROM download
");
$stmt->bindColumn(1,$dl_id);
$stmt->bindColumn(2,$datei_zip);
$stmt->bindColumn(3,$datei_titel);
$stmt->bindColumn(4,$newdatum);
$stmt->bindColumn(5,$beschreibung);
$stmt->bindColumn(6,$hit);
$stmt->execute();
Daten ausgabe ändern
while($stmt->fetch())
{
$datum=new DateTime($newdatum);
echo $datei_titel;
echo'<a href="index.php?page='.$ziel.'&jump=dlcount&datei='.$datei_zip.'&id='.$dl_id.'"><img src="download.bild" alt=""></a>';
echo $datum->format('d.m.Y - H:i:s');
echo $beschreibung;
echo $hit;
}
Sprung variable setzen
if ($jump=='dlcount')
{
variable bestimmen
$filename='dlarchiv/'.$dldatei'].'';
Prüfen und ausführen
if (file_exists($filename))
{
Ab hier hinzufügen
hits aus Datenbank auslesen
$stmt=$pdo->prepare("
SELECT hits
FROM download
WHERE id=:id
");
$ids=isset($_GET['id']) ? $_GET['id'] : "";
$stmt->bindParam(':id',$ids, PDO::PARAM_INT);
if($stmt->execute())
{
if($row=$stmt->fetch())
{
$hits=$row["hits"];
}
}
hits um 1 erhöhen
$old=$hits+1;
Datenbank aktualisieren
$stmt=$pdo->prepare("
UPDATE download
SET hits=:hits
WHERE id=:id
");
$stmt->execute(array('id' => $ids,'hits' => $old));
hinzufügen ende
$files2="/dlarchiv/";
$array=explode("dlarchiv/",dirname($_SERVER['PHP_SELF']));
$files="http://".getenv('HTTP_HOST').$array[0].$files2;
header("Location:$files$dldatei");
}
echo'Konnte Datei nicht finden';
}
?>
Top
Top