Siccome qualcuno aveva detto che in php non si possono fare ora vi spiego benissimo
come farle. Per fare queste news useremo php e mysql.Per far scorrere le news useremo
il tag html <marquee>. Poi per rendere l'applicazione piu bella useremmo javascript
Per fare questa applicazione noi usereme 5 file
1)db_connect.php
2)install.php
3)form.htm
4)inserisci.php
5)guarda.php
Ora spieghiamo come sono formati i nostri file
1)db_connect
Lo utilizzeremo per fare le connessioni al nostro database
Codice PHP:
<?php
mysql_connect("localhost", "root") or die("Impossibile connettersi al database");
mysql_select_db("news") or die("Impossibile selezionare il database");
?>
Semplicissimo file che si connette al database e seleziona il database news
2)install.php
Con questo file installeremo il database con le tabelle
Codice PHP:
<?php
$connessione=mysql_connect("localhost", "root") or die("Impossibile connettersi al database");
if ($connessione) {
echo "Connessione a mysql riuscita
";
}else{
echo" Connessione fallita
";
}
$database= mysql_create_db(news,$connessione);
if ($database) {
echo "Creazione database riuscita
";
}else{
echo" Creazione database fallita probabilmente c'e già
";
}
$db_name="news";
$selezione= mysql_select_db($db_name);
if ($selezione) {
echo "Selezione database riuscita
";
}else{
echo" Selezione fallita
";
}
$creatabella= "CREATE TABLE messaggi (
id INT (5) UNSIGNED not null AUTO_INCREMENT,
Messaggio TEXT ,
Data DATE ,
PRIMARY KEY (id))";
$crea=mysql_query($creatabella,$connessione) or die("Impossibile eseguire la query [b]$ciao[/b]<a href=\"inserisci.php\">
Inserisci un messaggio</a>
[b]Errore[/b]:".mysql_error());
if ($crea) {
echo "Creazione Tabella riuscita
";
}else{
echo" Creazione Tabella fallita
";
}
?>
Il file è molto semplice. Non includo il file db_connect perchè in quel file seleziono il database news non ancora creato e darebbe errore. Dopo esseremi connesso al database
lo installo con mysql_create_db e successivamente lo seleziono con mysql_select_db. Poi creo la mia tabella contenente il campo Messaggio e il campo Data.
3)form.htm
Grazie a questo file e al successivo riusciremo a inserire le nostre news dinamicamente nel nostro db. Molto facile da comprendere. Passo la variabile messaggio tramite il metodo
get al file inserisci.php
Codice PHP:
<?php
$connessione=mysql_connect("localhost", "root") or die("Impossibile connettersi al database");
if ($connessione) {
echo "Connessione a mysql riuscita
";
}else{
echo" Connessione fallita
";
}
$database= mysql_create_db(news,$connessione);
if ($database) {
echo "Creazione database riuscita
";
}else{
echo" Creazione database fallita probabilmente c'e già
";
}
$db_name="news";
$selezione= mysql_select_db($db_name);
if ($selezione) {
echo "Selezione database riuscita
";
}else{
echo" Selezione fallita
";
}
$creatabella= "CREATE TABLE messaggi (
id INT (5) UNSIGNED not null AUTO_INCREMENT,
Messaggio TEXT ,
Data DATE ,
PRIMARY KEY (id))";
$crea=mysql_query($creatabella,$connessione) or die("Impossibile eseguire la query [b]$ciao[/b]<a href=\"inserisci.php\">
Inserisci un messaggio</a>
[b]Errore[/b]:".mysql_error());
if ($crea) {
echo "Creazione Tabella riuscita
";
}else{
echo" Creazione Tabella fallita
";
}
?>
4)inserisci.php
Questo file inserisce il messaggio nel nostro database. Dopo aver incluso il nostro db_connect ,memorizzo la data in una variabile con $data=(date ("Y-m-d")); e poi
le database inserisco il messaggio e la data.
Codice PHP:
<?php
include("db_connect.php");
$data=(date ("Y-m-d"));
$creatabella= "INSERT INTO messaggi ( Messaggio, Data)
VALUES(
'$messaggio',
'$data'
)
";
$crea=mysql_query($creatabella) or die("Impossibile eseguire la query [b]$ciao[/b]
[b]Errore[/b]:".mysql_error());
if ($crea) {
echo "Inserimento riuscito
";
}else{
echo"Inserimento Fallito
";
}
?>
5)guarda.php
Ecco il file che visualizza le nostre news scorrevoli in verticale. Come potete vedere creo una tabella con border 1(sbizzarritevi voi nella grafica) e inserisco un marquee
Dentro il tag <marquee> c'e una indicazione che mi permette di visuallizare le nostre news in verticale cioè direction="up". Il gioco è fatto perche ora mi estraggo dal
database le news. Grazie a ORDER BY ID DESC mi seleziona le news in modo da mostrare l'ultima inserita per prima e grazie a LIMIT 5 decido quante mostrarle.
Con mysql_fetch_array inserisco tutto in un array e poi con $id=$riga1["Messaggio"]; e $id2=$riga1["Data"]; mi estrapolo i dati inseriti. Facendo poi echo "$id2
"; permetto
alla data di farmi da titolo della news e poi con echo "$id
"; visualizzo la news. Voi dovete regolarvi poi sul numero di
.
Codice PHP:
<html>
<body>
<table border=1>
<tr>
<td>
<MARQUEE behavior="scroll" direction="up" scrollamount="2" scrolldelay="0" width="307" height="141" >
<?php
include ("db_connect.php");
$risultati_mysql=mysql_query("SELECT * FROM messaggi ORDER BY ID DESC LIMIT 5");
while ($riga1=mysql_fetch_array($risultati_mysql))
{
$id=$riga1["Messaggio"];
$id2=$riga1["Data"];
echo "<center>";
echo "$id2
";
echo "$id
";
echo "</center>";
}
?>
</MARQUEE>
</td>
</tr>
</table>
</body>
</html>
Ora come promesso con un po di javascript rendiamo la nostra applicazione piu interessante.
Possiamo fare in modo che quando l'utente passi con il mouse la news si fermi e poi quando
l'utente toglie il mouse riparte. Bastano in realta due aggiunte nel tag marquee eccole:
onmouseover='this.stop()' e onmouseout='this.start()'
quindi
Codice PHP:
<MARQUEE behavior="scroll" direction="up" scrollamount="2" scrolldelay="0" width="307" height="141" onmouseover='this.stop()' onmouseout='this.start()'>
Un altra cosa interessante potrebbe essere dare un limite hai caratteri inseriti nel form per controllare che non superiamo un certo numero.
Nel nostro form.htm. Il primo input size collegato alla textarea visualizza i caratteri rimanenti. Nella texarea con un javascript ci conta i caratteri e ci ferma
quando arriviamo a 160(impostato da noi).
Codice PHP:
<form action="inserisci.php" method="get">
<input size=2 type=text value="160" name="conta">
<textarea onkeyup='javascript: {a = 160-messaggio.value.length; if
( a < 0) { messaggio.value = messaggio.value.substring(0, messaggio.value.length + a);
a = 0}; conta.value = a }' wrap = virtual name="messaggio"
rows="4" name="messaggio"></textarea>
<input type="submit" value="Invia news">
</form>
Ciao Ciao se c'è qualcosa che non capite postate pure..........