Ich benutze PHP, um die Zeiten zu zählen, die ein Link geklickt wird.PHP: Wie man Wert aus mySQL-Datenbank druckt
Jetzt möchte ich diese Nummer anzeigen, aber ich bin mir nicht sicher, wie.
Die Datenbank ist wie folgt strukturiert:
CREATE TABLE IF NOT EXISTS `count_clicks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`url` varchar(250) NOT NULL,
`clicks` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2;
die URLs in der Datenbank gespeichert sind, und mit ihrer ID wie folgt aufgerufen:
<a href="click.php?id=1">Click me</a>
Dann leitet es an die URL.
click.php:
// get url details based on ID
$sql = "SELECT * FROM " . $SETTINGS["data_table"] . " WHERE id='" . intval($_REQUEST["id"]) . "'";
$sql_result = mysql_query($sql, $connection) or die('request "Could not execute SQL query" ' . $sql);
// check if ID exists
if (mysql_num_rows($sql_result) > 0) {
$item = mysql_fetch_assoc($sql_result);
// increase clicks count by one
$sql = "UPDATE " . $SETTINGS["data_table"] . " SET clicks=clicks+1 WHERE id='" . intval($_REQUEST["id"]) . "'";
$sql_result = mysql_query($sql, $connection) or die('request "Could not execute SQL query" ' . $sql);
header("Location: " . $item["url"]);
} else {
echo "Item is missing.";
}
Es funktioniert perfekt. Aber wie erstelle ich eine PHP-Funktion, die es mir erlaubt, die Anzahl für jeden Link zu wiederholen? Ich denke wie eine Funktion, wo das Argument die ID ist - es wird die Zählung zurückgeben ...
Sie können nicht nur 'Wählen Klicks von count_clicks' und Echo das Ergebnis? Oder vermisse ich etwas? –
Hallo. Als erstes sollten Sie mysqli_ * oder PDO_ * anstelle der Erweiterung mysql_ * verwenden, da mysql veraltet ist und nicht mehr unterstützt wird. Um Ihr Problem zu lösen, werfen Sie einen Blick auf die mysql 'count' Funktion (http://www.w3schools.com/sql/sql_func_count.asp). Ein bisschen alt, aber sollte noch funktionieren. Außerdem sollten Sie prüfen, welche vorbereiteten Anweisungen verwendet werden und diese verwenden, um Ihre Anwendung sicherer zu machen. – Twinfriends