Kereső
Kategóriák
Hasznos linkek
Hírdetés
Proba

PHP + MYSQL alapú vendégkönyv

Ebben a segédletben a már előzőleg bemutatott PHP + TXT alapú vendégkönyv -et írom át mysql alapúra. Az adatokat egy mysql táblában tárolom, aminek így néz ki a szerkezete:

Forrás fájlok egyben

CREATE TABLE IF NOT EXISTS `gb_posts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE latin2_hungarian_ci NOT NULL,
  `email` varchar(255) COLLATE latin2_hungarian_ci NOT NULL,
  `message` text COLLATE latin2_hungarian_ci NOT NULL,
  `date` date NOT NULL,
  PRIMARY KEY (`id`)
)

Az előző cikkhez képest változás csak a config.php -ben, és a functions.php – ben van. A config.php így változott:

<?php
$per_page          =   5;               //Uzenetek egy oldalon

//Mysql kapcsolat
$db_host = "localhost";
$db_user = "root";
$db_name = "segedletek_demok";
$db_pass = "";

$handler    = mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_name);
mysql_query("SET NAMES LATIN2");

A functions.php így néz ki:

<?php
function print_post($body)
{
    //smileyk
    $body = preg_replace("/\[sm(\d+)\]/","<img src='sm$1.gif' alt='smiley'/>",$body);
    //[b] bbcode
    $body = preg_replace("/\[b\](.*)\[\/b\]/","<strong>$1</strong>",$body);
    return $body;
}

function add_post($name,$email,$message,$handler)
{
    $name      =   mysql_real_escape_string($name);
    $email     =   mysql_real_escape_string($email);
    $message   =   mysql_real_escape_string($message);

    $sql = "INSERT INTO `gb_posts` (
                                `id` ,
                                `name` ,
                                `email` ,
                                `message` ,
                                `date` )
                        VALUES (
                                '' ,
                                '{$name}',
                                '{$email}',
                                '{$message}',
                                NOW())"
;
    $query = mysql_query($sql,$handler);
}

function get_message_num($handler)
{
    return(mysql_num_rows(mysql_query("SELECT `id` FROM `gb_posts`")));
}

function get_current_dataset($curr_page,$per_page,$handler)
{
    $return = array();
    $start = ($curr_page-1)*$per_page;

    $sql = "SELECT
                `name`,
                `email`,
                `date`,
                `message`
            FROM
                `gb_posts`
            ORDER BY
                `id` DESC
            LIMIT {$start}, {$per_page}"
;

    $query = mysql_query($sql,$handler);
    while($row = mysql_fetch_array($query))
    {
        $return[] = $row;
    }

    return $return;
}

Látható, hogy a $handler nevű változóban már nem a tároló file neve van, hanem a mysql kapcsolat azonosítója.  A függvények ugyan azt csinálják, mint a txt-s verzióban, és ugyan olyan adatokkal térnek vissza, a különbség csak annyi, hogy mysql-t használnak.

A következő segédletben bemutatok egy XML alapú vendégkönyvet.

Sok sikert!

 

requiem

Szólj hozzá

{"error":["Invalid domain (web.segedletek.hu) for this app"]}