Verzeichnis für Links organisiert durch Tags.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
2.1 KiB

<?php
class Link{
public $name;
public $url;
public $reg_date;
public function __construct($newName, $newUrl)
{
$this->name = $newName;
$this->url = $newUrl;
}
}
class dbLinkHandler
{
private $pdo;
public function __construct()
{
try
{
// Verbindung zur Datenbank herstellen
$this->pdo = new PDO('mysql:host=localhost;dbname=linkvz', 'linkvz', 'linkvz');
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Tabelle link erstellen, falls nicht vorhanden
$sql = 'CREATE TABLE IF NOT EXISTS link (
link_url VARCHAR(100) NOT NULL PRIMARY KEY,
link_name VARCHAR(50),
reg_date TIMESTAMP
)';
$this->pdo->exec($sql); // use exec() because no results are returned
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
}
public function saveLink($link)
{
try
{
$statement = $this->pdo->prepare('INSERT INTO link(link_url, link_name) VALUES (:link_url, :link_name)');
$statement->execute
([
':link_url' => $link->url,
':link_name' => $link->name
]);
}
catch(PDOException $e)
{
if ($e->errorInfo[1] == 1062)
{
echo "haaaaaa!<br>";
}
else
{
echo $e->getMessage();
}
}
}
public function getListReverse()
{
$statement = $this->pdo->prepare("SELECT * FROM link ORDER BY reg_date DESC");
$statement->execute();
return $statement;
}
public function getList()
{
$statement = $this->pdo->prepare("SELECT * FROM link");
$statement->execute();
return $statement;
}
public function getLink($url)
{
$statement = $this->pdo->prepare("SELECT * FROM link WHERE link_url = ?");
$statement->execute(array($url));
$fetch = $statement->fetch();
$link = new link($fetch[1], $fetch[0]);
$link->reg_date = $fetch[2];
return $link;
}
}
?>