divisione in pagine...

torrone

Nuovo Utente
28 Nov 2006
6
0
0
32
Padova
trovato nei tutorial! :beer:

--------


salve.. vi faccio l'elenco di qualche pagina di un semplicissimo forum che ho..

per cominciare questà è la struttura del db per il forum

Codice:
-- --------------------------------------------------------

-- 
-- Struttura della tabella `forum_lite_main`
-- 

CREATE TABLE `forum_lite_main` (
  `id` int(11) NOT NULL auto_increment,
  `titolo` varchar(255) NOT NULL default '',
  `img` varchar(255) NOT NULL default '',
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

-- 
-- Dump dei dati per la tabella `forum_lite_main`
-- 

INSERT INTO `forum_lite_main` (`id`, `titolo`, `img`) VALUES (1, 'prova forum', 'immagine.gif'),
(2, 'prova 2', '');

-- --------------------------------------------------------

-- 
-- Struttura della tabella `forum_lite_thread`
-- 

CREATE TABLE `forum_lite_thread` (
  `id` int(11) NOT NULL auto_increment,
  `topic_id` varchar(255) NOT NULL default '',
  `data` varchar(255) NOT NULL default '',
  `autore` varchar(255) NOT NULL default '',
  `titolo` varchar(255) NOT NULL default '',
  `testo` text NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

-- 
-- Dump dei dati per la tabella `forum_lite_thread`
-- 

INSERT INTO `forum_lite_thread` (`id`, `topic_id`, `data`, `autore`, `titolo`, `testo`) VALUES (1, '1', '27/11/2006', 'torrone', 'prova post', 'prova messaggio 1');

-- --------------------------------------------------------

-- 
-- Struttura della tabella `forum_lite_topics`
-- 

CREATE TABLE `forum_lite_topics` (
  `id` int(11) NOT NULL auto_increment,
  `forum_id` varchar(255) NOT NULL default '',
  `data` varchar(255) NOT NULL default '',
  `autore` varchar(255) NOT NULL default '',
  `titolo` varchar(255) NOT NULL default '',
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

-- 
-- Dump dei dati per la tabella `forum_lite_topics`
-- 

INSERT INTO `forum_lite_topics` (`id`, `forum_id`, `data`, `autore`, `titolo`) VALUES (1, '1', '27/11/2006', 'torrone', 'prova post');


poi c'è index.php (che visualizza le categorie)

PHP:
<?php
# Includo il file di configurazione
require("config.php");

# Recupero i forum esistenti
$query = mysql_query("SELECT * FROM forum_lite_main 
    ORDER BY titolo ASC");

# Stampo il percorso
echo "Forum";

echo "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\"><tr><td colspan=\"2\"><b><center>Categoria</center></b></td></tr>";

# Stampo la lista di tutti i Forum
while($result = mysql_fetch_array($query))
{
    echo "<tr><td width=\"30\" height=\"30\"><img src=\"$result[img]\" \></td><td> <a href=\"forum.php?f=$result[id]\">";
    echo "$result[titolo]</a></td></tr>";
}

echo "</table>";
?>


poi c'è forum.php (che visualizza le sezioni delle categorie)

PHP:
<?php
require("config.php");

# Recupero i topic del forum
$query = @mysql_query("SELECT * FROM forum_lite_topics
    WHERE forum_id = '" . $_GET[f] . "' ORDER BY data ASC");

# Recupero il titolo del forum per il percorso
$query2 = @mysql_query("SELECT titolo FROM forum_lite_main
    WHERE id = '" . $_GET[f] . "'");

# Recupero i messaggi nel topic
$query3 = @mysql_query("SELECT MAX(topic_id) FROM 
    forum_lite_thread");

$result2 = @mysql_fetch_array($query2);
$result3 = @mysql_fetch_array($query3);

# Stampo il percorso
echo "<a href=\"index.php\">Forum</a> » 
$result2[titolo]<br><br>";

echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\"><tr><td><b><center>Discussione</center></b></td><td><b><center>Autore</center></b></td></tr>";

# Stampo a video tutti i topic del Forum selezionato
while($result = @mysql_fetch_array($query))
{
    echo "<tr><td><a href=\"thread.php?f=$_GET[f]&t=$result[id]\">";
    echo "$result[titolo]</a></td>";
    echo "<td><i><center>$result[autore]</center></i></td></tr>";
}

echo "</table>";

# Recupero il valore più alto di topic_id e lo incremento di uno
# per creare il link nuovo topic
$topic_id = $result3[topic_id]+1;
echo "<p>[ <a href=\"new.php?f=$_GET[f]&t=$topic_id\">";
echo "Nuovo topic</a> ]";
?>


poi c'è new.php (che è la pagina epr inserire una discussione)

PHP:
<?php
require("config.php");

# Recupero il titolo del forum dal DB
$query2 = @mysql_query("SELECT * FROM forum_lite_main
    WHERE id = '" . $_GET[f] . "'");
$result2 = @mysql_fetch_array($query2);

# Stampo il percorso
echo "<a href=\"index.php\">Main</a> »";
echo "<a href=\"forum.php?f=$_GET[f]\">";
echo "$result2[titolo]</a> » Nuovo topic";

# Se il valore di cmd è false stampo il form a video
if ($_POST[cmd] == FALSE)
{
    echo "<form action=\"$REQUEST_URI\" method=\"post\">\n";
    echo "<strong>Titolo</strong>:<br>\n";
    echo "<input type=\"text\" name=\"titolo\"><br><br>\n\n";
    echo "<strong>Nome (o nick)</strong>:<br>\n";
    echo "<input type=\"text\" name=\"autore\"><br><br>\n\n";
    echo "<strong>Messaggio</strong>:<br>\n";
    echo "<textarea name=\"testo\" cols=\"50\" rows=\"5\">";
    echo "</textarea><br><br>\n\n";
    echo "<input type=\"hidden\" name=\"cmd\" value=\"add\">\n";
    echo "<input type=\"submit\" value=\"Crea\">\n";
    echo "</form>\n";
}

# Se cmd è diverso da false...
else
{
    # Verifico che tutti i campi necessari siano stati compilati
    if ($_POST[titolo] == FALSE OR $_POST[autore] == FALSE
       OR $_POST[testo] == FALSE)
    {
        echo "<p>Tutti i campi sono obbligatori.";
    }

    # Se il controllo è ok salvo tutto nel DB
    else
    {
        $_POST[testo] = str_replace("\n", "<br>", $_POST[testo]);

        mysql_query("INSERT INTO forum_lite_topics
                     VALUES ('',
                             '" . $_GET[f] . "',
                             '" . date("d/m/Y") . "',
                             '" . $_POST[autore] . "',
                             '" . $_POST[titolo] . "')");

        mysql_query("INSERT INTO forum_lite_thread
                     VALUES ('',
                             '" . $_GET[t] . "',
                             '" . date("d/m/Y") . "',
                             '" . $_POST[autore] . "',
                             '" . $_POST[titolo] . "',
                             '" . $_POST[testo] . "')");

        echo "<p>Il tuo topic è stato inviato con successo.";

    }
}
?>


poi c'è reply.php (pagina epr rispondere ad un messaggio

PHP:
<?php
require("config.php");

# Recupero il titolo del forum
$query2 = mysql_query("SELECT titolo FROM forum_lite_main
    WHERE id = '" . $_GET[f] . "'");

# Recupero il titolo del topic
$query3 = mysql_query("SELECT titolo FROM forum_lite_topics
    WHERE forum_id = '" . $_GET[f] . "'");

$result2 = mysql_fetch_array($query2);
$result3 = mysql_fetch_array($query3);

# Stampo il percorso
echo "<a href=\"index.php\">Main</a> »";
echo "<a href=\"forum.php?f=$_GET[f]\">$result2[titolo]</a> »";
echo "<a href=\"thread.php?f=$_GET[f]&t=$_GET[t]\">";
echo "$result3[titolo]</a> » Rispondi";

# Se il valore di cmd è false stampo il form a video
if ($_POST[cmd] == FALSE)
{
    echo "<form action=\"$REQUEST_URI\" method=\"post\">\n";
    echo "<strong>Titolo</strong>: (facoltativo)<br>\n";
    echo "<input type=\"text\" name=\"titolo\"><br><br>\n\n";
    echo "<strong>Nome (o nick)</strong>:<br>\n";
    echo "<input type=\"text\" name=\"autore\"><br><br>\n\n";
    echo "<strong>Messaggio</strong>:<br>\n";
    echo "<textarea name=\"testo\" cols=\"50\" rows=\"5\">";
    echo "</textarea><br><br>\n\n";
    echo "<input type=\"hidden\" name=\"cmd\" value=\"add\">\n";
    echo "<input type=\"submit\" value=\"Rispondi\">\n";
    echo "</form>\n";
}

# Se cmd è diverso da false...
else
{
    # Verifico che tutti i campi necessari siano stati compilati
    if ($_POST[autore] == FALSE OR $_POST[testo] == FALSE)
    {
        echo "<p>Nome e messaggio sono obbligatori.";
    }

    # Se il controllo è ok salvo tutto nel DB
    else
    {
        $_POST[testo] = str_replace("\n", "<br>", $_POST[testo]);
        mysql_query("INSERT INTO forum_lite_thread
                     VALUES ('',
                              '" . $_GET[t] . "',
                             '" . date("d/m/Y") . "',
                             '" . $_POST[autore] . "',
                             '" . $_POST[titolo] . "',
                             '" . $_POST[testo] . "')");

        echo "<p>Il tuo messaggio è stato inviato con successo.";
    }
}
?>


poi c'è thread.php (mostra i messaggi postati)

PHP:
<?php
require("config.php");

# Recupero i messaggi del thread
$query = mysql_query("SELECT * FROM forum_lite_thread
    WHERE topic_id = '" . $_GET[t] . "' ORDER BY data ASC");

# Recupero il titolo del forum
$query2 = mysql_query("SELECT titolo FROM forum_lite_main
    WHERE id = '" . $_GET[f] . "'");

# Recupero il titolo del topic
$query3 = mysql_query("SELECT titolo FROM forum_lite_topics
    WHERE forum_id = '" . $_GET[f] . "'");

$result2 = mysql_fetch_array($query2);
$result3 = mysql_fetch_array($query3);

# Stampo il percorso
echo "<a href=\"index.php\">Main</a> »";
echo "<a href=\"forum.php?f=$_GET[f]\">$result2[titolo]</a> »";
echo "$result3[titolo]";

# Uso il ciclo while per stampare tutti i messaggi del thread
while($result = mysql_fetch_array($query))
{
    echo "<hr><div style=\"display: block\"><strong>";
    echo "$result[titolo]</strong>\n";
    echo "<i>di $result[autore]</i><br>$result[testo]</div>\n";
}

# Stampo a video il link per rispondere alla discussione
echo "<hr><p><a href=\"reply.php?f=$_GET[f]&t=$_GET[t]\">";
echo "Rispondi</a>";
?>


poi c'è config.php (normale pagina di connessione al db)

PHP:
<?php
# Host
$mysql['host'] = " ";

# Username
$mysql['user'] = " ";

# Password
$mysql['pass'] = " ";

# Nome del DB
$mysql['name'] = " ";

# Titolo della nostra Applicazione
$title = "Forum";

# Funzioni di connessione al nostro DB MySQL
@mysql_connect($mysql['host'], $mysql['user'], $mysql['pass']);
@mysql_select_db($mysql['name']);

echo "<p>$title</p>\n";
?>


-------------------



io avrei bisogno di suddividere per pagine la lista delle discussioni (10 per pagina) e dei messaggi in una discussione (sempre 10 o 15 per pagina)... qualcuno mi aiuta, non so come fare.. :berto:


poi avrei bisogno di una pagina ch mi permettesse di cancellare i messaggi e/o modificare...

qualche buon anima è disposta ad aiutrami perhcè non so proprio come fare ste cosette!

grazie!
 
Discussioni simili
Autore Titolo Forum Risposte Data
N [PHP] Lunghezza celle tabella dopo divisione dati query in pagine PHP 0
F Problema divisione smiles aggiuntivi per pagine Javascript 1
M Divisione in Pagine PHP 1
elpirata [PHP] Arrotondare risultato di una divisione con round PHP 4
M Divisione in blocchi PHP 3
M Partitioning o divisione in più tabelle? MySQL 1
C Risultato della divisione PHP 1
Monital Divisione di una query e resto della divisione PHP 3
G Ricerca personale per divisione programmatori -Bergamo Offerte e Richieste di Lavoro e/o Collaborazione 0
G semplice divisione Classic ASP 2
K Visualiuzzare 0 al posto di #Errore in una divisione Database 3
B COMPRO PAGINE FACEBOOK 30k+ Annunci servizi di Social Media Marketing 0
D [COMPRO] Spam e pagine (o gruppi) su Facebook settore SEXY Annunci servizi di Social Media Marketing 0
S conta pagine lato server Classic ASP 4
M Memorizzazione temi per le diverse pagine del sito Javascript 1
G Consigli SEO per scrittura e struttura pagine SEO e Posizionamento 7
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
G cerco: traffico sito, pubblicità condividente post su pagine gruppi Vendere e Acquistare pubblicita' online 0
A Mostrare dati database per pagine PHP 2
N Problema passaggio variabili tra pagine PHP 4
W Cerco Pagine Facebook Annunci servizi di Social Media Marketing 0
I Pagine instagram Annunci servizi di Social Media Marketing 0
F Creo pagine instagam con logo e 1k follower Offerte e Richieste di Lavoro e/o Collaborazione 0
R Convertire slides Powerpoint in Pagine Web HTML e CSS 7
S Trasferire dati sulle pagine del sito PHP 7
G COMPRO PAGINE INSTAGRAM 5/10/15k Annunci servizi di Social Media Marketing 1
elpirata Gestire permessi accesso alle pagine PHP 3
C COMPRO PAGINE INSTAGRAM MINIMO 100K Annunci servizi di Social Media Marketing 1
F [PHP] Aggiungere ruolo per accedere alle pagine PHP 2
A vendo 11 pagine facebook a 5 euro Annunci servizi di Social Media Marketing 1
G [PHP] chiamate di pagine condizionali PHP 2
Peppe94 Vendo Pagine Facebook & Account Instagram Annunci servizi di Social Media Marketing 2
A Limitare accesso ad alcune pagine web PHP PHP 2
lucadegaetano Vendo Pagine Facebook da 100k e 800k Annunci servizi di Social Media Marketing 2
Domenico_Falco1 Cambiare url in un sito con pagine dinamiche Ajax 4
E Offro possibilità di monetizzare pagine FB o INSTA Vendere e Acquistare pubblicita' online 1
M Compro pagine o gruppi fb Annunci servizi di Social Media Marketing 0
xPippo93 Vendo pagine Instagram 837k, 742k e 638k followers Annunci servizi di Social Media Marketing 1
S VENDO Followers e pagine Instagram Annunci servizi di Social Media Marketing 2
A Cerco pagine instagram da 40k a 120€ Annunci servizi di Social Media Marketing 5
G acquisto bot , pagine ig con almeno 5k Annunci servizi di Social Media Marketing 0
E [PHP] GET su 2 pagine PHP 4
I VENDO Followers e Pagine Instagram Annunci servizi di Social Media Marketing 2
K Vendo alcune pagine facebook settore travel Annunci servizi di Social Media Marketing 2
P Compro pagine da 10k in su Annunci servizi di Social Media Marketing 0
S Cerco pagine Instagram, meglio se femminili. Annunci servizi di Social Media Marketing 3
I [WordPress] pagine custom all'interno di un tema WordPress 0
P [COMPRO] Compro pagine Instagram con engagement 5/7% Annunci servizi di Social Media Marketing 2
I Xamp non mi fa vedere le seconde pagine del sito locale Web Server 0
A Come consultare dati da più siti o pagine web Programmazione 1

Discussioni simili