Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    Ecco come fare le news scorrevoli in verticale

    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
    "
    ;
    }

    $databasemysql_create_db(news,$connessione);
    if (
    $database) {
    echo 
    "Creazione  database riuscita
    "
    ;
    }else{
    echo
    " Creazione database fallita probabilmente c'e già
    "
    ;
    }

    $db_name="news";

    $selezionemysql_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
    "
    ;
    }

    $databasemysql_create_db(news,$connessione);
    if (
    $database) {
    echo 
    "Creazione  database riuscita
    "
    ;
    }else{
    echo
    " Creazione database fallita probabilmente c'e già
    "
    ;
    }

    $db_name="news";

    $selezionemysql_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..........

  2. #2
    sei conscio del fatto che <marquee> non è un tag HTML standard, e che su molti browser non scorre proprio un bel niente, vero?

  3. #3
    già. se quella è la novità del tuo sistema non è che sia il massimo...

  4. #4
    Originariamente inviato da mdsjack
    già. se quella è la novità del tuo sistema non è che sia il massimo...
    LOL... ma non essere cattivo dai.

    cmq vediamo un po':

    1) il tag <marquee> come ha detto guido non è compatibile con tutti i browser

    2) di conseguenza il tuo codice php potrà anche essere buono ma quello html sarà sempre limitato ad alcuni navigatori (oltre che invalidabile)

    3) a questo punto ti consiglio di andare su www.dynamicdrive.com dove potrai trovare molti news ticker funzionanti su diversi browser. ti basterà sfruttare quei codici javascript per ottenere un effetto multipiattaforma
    w la topa

  5. #5
    Puoi fare due versioni.
    Per gli utenti con explorer usi marquee per gli altri ti crei una funzioncina in dhtml facile facile :-P

    Ragazzi lo avete distrutto!!!
    Marco Bianucci
    marco@phoenixweb.it
    Hosting php
    Programmazione & WebDesign

  6. #6
    Ecco come fare le news scorrevoli in verticale
    in poche parole.........

    a fatto la battutaaaaa!!!!! :gren: :metallica
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  7. #7
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    Originariamente inviato da }gu|do[z]{®©
    sei conscio del fatto che <marquee> non è un tag HTML standard, e che su molti browser non scorre proprio un bel niente, vero?
    vero! ma sulle ultime versioni di opera, mozilla e explorer funziona

    forse farà i capricci su qualke browser minuscolo di linux... ma per quanto mi riguarda va più che bene!





    dico questo NON xke uso questo tag in uno script che fa praticamente la stessa cosa

  8. #8
    io invece ho fatto tempo fa uno script per news con lo stesso metodo e me lo sono pure fatto pagare!!! :gren: :metallica
    ...........il giusto dovuto ovviamente!!!
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  9. #9
    Come non scorre io l'ho testato su

    Explorer
    Netscape
    Mozilla
    Opera

    L'ho testato sui maggiori ora non mi posso scaricare tutti browser in circolazione

    ho preso quelli che frequentano maggiormente il mio sito
    4000 utenti al mese

    non ne vedo altri

    Dovrebbero vederlo tutti con le nuove versioni

    Ditemi chi non lo vede

  10. #10
    non è cmq un tag standard

    Non scorreva con tutte le penultime versioni di tutti i browser (e funzionava con IE, ammesso che sia un browser )

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.