Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Codice PHP:
    // esempio pratico connessione db Mysql con php

    $db_server "" // può essere localhost o un indirizzo ip es. 62.87.78.12
    $db_username "" // il nome utente per l'accesso al database
    $db_password "" // ehm.. nn servono ulteriori spiegazioni per questo immagino :)

    $nome_database "" // il NOME del tuo database. Da non confondere con il nome utente di chi può averne l'accesso

    // connessione col database mysql
    $connessione mysql_connect($db_server,$db_username,$db_password);

    // controlliamo se siamo connessi 
    if (!$connessione)  // il ! - punto esclamativo - funge da negazione. sta a dire 'se non esiste'
    {
      
    // se non esiste terminiamo lo script, qualcosa è sbagliato nei dati
       
    die('Not connected : ' mysql_error());
    }

    // se riusciamo ad arrivare qui dobbiamo selezionare un db, in quanto 1 server non ha 1 solo db...
    $db_database mysql_select_db($nome_database$connessione);

    // controlliamo se l'operazione appena effettuata abbia avuto successo o meno
    if (!$db_database)
    {
       
    // se vediamo questo errore abbiamo sbagliato il nome del db o chissà cosa...
       
    die ('Errore nella selezione del database : '.mysql_error());  
    }

    // se arriviamo qui si può procedere a mettere il sale nella pentol.. ehm, la query :)
    //per comodità scriviamo la query all'esterno della funzione mysql_query, in quanto potrebbe essere anche moooooolto lunga
    $sql "SELECT * FROM utenti ORDER BY registration_date DESC LIMIT 0,10";
    $result mysql_query($sql,$connessione);


    /* NOTA che :
    * ( asterisco ) vuol dire 'tutti i campi della tabella, quindi traducendo la nostra richiesta ( o query ) :

    ' SELEZIONA tutto (*) DA utenti ( utenti sarà una tabella da noi creata ) ORDINA PER registration_date ( stesso discorso di utenti ) DAL'ULTIMO INSERITO ( DESC, ovvero: dal più grande al più piccolo ) I PRIMI 10 CHE TROVI ( LIMIT 0,10 ) '

    */


    // controlliamo che $result esista
    if (!$result
    {
     
    /* a tutti capita di scrivere query sbagliate, una virgola fuoriposto o un apice non chiuso 
    bloccheranno il tuo script. Se ciò dovesse succedere il mio consiglio è di stampare a video la query codice "echo $sql;" ed incollarla sul phpMyAdmin ( se disponibile ) e vedere che errore da */
       
    die('Problema nella query: ' mysql_error());
    }


    // se esiste $result possiamo procedere all'ultimo passo
    // tentare di scrivere il contenuto di $result con i comandi echo o print non ci porterà a nulla, 
    // in quanto abbiamo a che fare con una RISORSA, dobbiamo prima utilizzare delle altre 
    // funzioni di php atte a estrarre dei dati da questa, per esempio :

    $dati mysql_fetch_array ($result);

    //per vedere il contenuto dell'array possiamo usare print_r

    print_r($dati); 
    Non ho testato questo codice che ho scritto quindi potrebbe avere degli errori e/o dimenticanze, il mio intento era quello di mostrarti a grandi linee come funziona una query ad un database mysql via php.
    Spero ti sia di utilità.

    Ciao

  2. #12
    meglio di cosi non poteva fare

    www.gext.it

  3. #13
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308

  4. #14
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    46
    si grazie ancora

  5. #15
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    48
    Ma che forum hai?
    Se hai il phpBB ti propongo questa soluzione sviluppata da me sul mio sito!

    Ho realizzato "LE ULTIME DAL FORUM" è viene visualizzato:

    Nome Forum
    Nome Topic
    Ultimo post (di ogni forum)
    scritto da
    In Data

    Il tutto che scorre verso l'alto!

    Nel punto dove volevo venissero visualizzate ho richiamato una mia funzione stat_forum_last() e l'ho richiamata tra i tag MARQUEE per realizzare lo scroll dei risultati:

    Codice PHP:
    <MARQUEE 
      onmouseover="this.stop()"
      onmouseout="this.start()"
      scrollamount="1"
      scrolldelay="20"
      direction="up"
      height="200"
      width="500"
      align="right"
      class="Stile67"
    >
    <? stat_forum_last()?>
    </marquee>
    Il codice della funzione invece è il seguente:

    Codice PHP:
    function stat_forum_last() {
            
    $Result mysql_query("SELECT forum_name,topic_title,username,post_time,phpbb_topics.topic_id FROM phpbb_forums,phpbb_topics,phpbb_users,phpbb_posts WHERE (phpbb_forums.forum_last_post_id=phpbb_posts.post_id) AND (phpbb_posts.topic_id=phpbb_topics.topic_id) AND (phpbb_posts.poster_id=phpbb_users.user_id) ORDER BY post_time DESC");
            
    $rs mysql_fetch_array($Result);
            echo
    '<table width="500" border="0" cellpadding="0" cellspacing="2">';
            do{
              echo 
    '[url="phpBB2/viewtopic.php?t=',htmlspecialchars($rs['topic_id']),'"]<tr class="Stile67"><td width="162">',$rs[forum_name],'</td><td width="140">',$rs[topic_title],'</td><td width="106">',$rs[username],'</td><td width="63">',date("d-m-Y",$rs[post_time]),'</td></tr><tr></tr><tr></tr><tr></tr><tr></tr>[/url]';
              }while (
    $rs mysql_fetch_array($Result));
            echo
    '</table>';
            
    $rs->close
            return;

    Ovviamente devi prima effettuare la connessione al DB come ti spiegavano su!

    Qui puoi vedere il risultato in fondo alla pagina:

    http://utenti.lycos.it/toritodj/index.php

    :wink: :wink:

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 © 2026 vBulletin Solutions, Inc. All rights reserved.