To', codice già pronto! Non sai quanto sia strano
Una bella classe
Codice PHP:
<?php
// nome utente per l'accesso al database
define('NICKNAME', 'johell');
class Testo {
// carica un testo in base all'identificatore; restituisce false se
// il testo non è presente nel database.
static function carica($id)
{
if (!self::$link)
self::connetti();
$id_per_db = mysql_real_escape_string($id);
$result = mysql_query("SELECT `testo` FROM `testi` WHERE `id`='{$id_per_db}'", self::$link);
if ($result and $row = mysql_fetch_assoc($result))
return $row['testo'];
return false;
}
// salva un testo nel database, memorizzandolo con l'identificatore
// specificato; restituisce true se il testo è stato salvato
// correttamente, false altrimenti
static function salva($id, $testo)
{
if (!self::$link)
self::connetti();
$id = mysql_real_escape_string($id);
$testo_per_db = mysql_real_escape_string($testo);
$query = "REPLACE INTO `testi` SET `id`='{$this->id}', `testo`='{$testo_per_db}'";
return mysql_query($query, self::$link);
}
// elimina un testo dal database, in base all'identificatore;
// restituisce true in caso di successo, false altrimenti
static function elimina($id)
{
if (!self::$link)
self::connetti();
$id = mysql_real_escape_string($id);
return mysql_query("DELETE FROM `testi` WHERE `id`='{$id}'", self::$link);
}
// crea la tabella nel database, se questa non esiste già
public static function creaTabella()
{
if (!self::$link)
self::connetti();
return mysql_query("
CREATE TABLE IF NOT EXISTS `testi` (
id VARCHAR(32) PRIMARY KEY,
testo TEXT NULL
)
", self::$link)
or die(mysql_error());
}
private static $link;
// apre la connessione con il database
private static function connetti()
{
self::$link = mysql_connect('localhost', NICKNAME)
and mysql_select_db('my_' . NICKNAME)
or die(mysql_error());
}
}
che si usa così:
Codice PHP:
<?php
require 'testo.php';
// SOLO la prima volta, creiamo la tabella nel database
Testo::creaTabella();
// per creare un nuovo testo e metterlo nel database
Testo::salva('nome_della_frase', '<h1>Titolo</h1> <p>Deh, sia questo il testo della frase!</p>');
// carichiamo un testo dal db
echo Testo::carica('nome_della_frase');
// per eliminare un testo
Testo::elimina('nome_della_frase');