Info Utente
Calendario
Utenti in linea
Statistiche Board
Utenti in totale: 37
Post in totale: 8224
Topic in totale: 1773
Categorie in totale: 20
Sezioni totali: 126
Maggior numero di utenti online: 43
Ricerca veloce
Top utenti
|
Sono passati 211 giorni dall'inizio dell'anno che corrispondono a 30 settimane
Tutte le mattine si alzano un furbo e un bischero: se si incontrano, l'affare è fatto
Benvenuti nel Portale e forum di NEL-WEB!
Benvenuti a tutti i forumisti e visitatori. Questo nuovo portale racchiude sia il forum che il portale con le varie notizie, anche se per ora è funzionante solo il forum.
Come funziona?
Funziona esattamente come l'altro, l'unica differenza è che in alto a sinistra dove trovate la scritta "Indice", cliccandoci sopra vedrete questa pagina con i vari menù laterali (che potrete abilitare o disabilitare); questa è la pagina principale che apre a tutte le funzioni del portale.
Il link a fianco "Forum" apre al forum classico simile all'altro anche se con una grafica nuova; si presenta con le board disposte nello stesso modo di quello vecchio, con una particolarità in più: le sottoboard sono elencate sotto le board principali e riprendono l'icona della board per significare se c'è o meno un nuovo messaggio. Purtroppo per il momento le icone personalizzate delle varie board non siamo stati ancora in grado di inserirle, ma stiamo lavorando per trovare la soluzione.
Potrete anche notare che ci sono dei links nuovi nel menù superiore, tra cui "Arcade" e altri.....a voi scoprire cosa aprono e se sono di vostro gradimento. Tra le novità c'è anche il link "Elenco dello staff" dove troverete la lista degli Amministratori e Moderatori del forum con le board che hanno in gestione.
Ecco per il momento è tutto, giratelo con tranquillità e se ci sono delle inesattezze o avete bisogno di fare domande postate i Vostri messaggi in "Comunicazioni Generali" >> "Comunicazioni da / a staff" aprendo una discussione nuova con il quesito o la comunicazione.
Il forum è già fruibile agli utenti con le stesse modalità di quello vecchio, non è necessario fare una nuova iscrizione per gli utenti già iscritti, ma sarà necessario per quelli nuovi naturalmente.
Buona permanenza sul forum!
22:57:19 da nuvolottaVisite: 2 | Commenti: 1
Ho approfittato di una buonissima offerta e ho comperato una macchina del pane della Mulinex in offerta a 80 euro Non sei autorizzato a vedere i links. Registrati o Loginquesta esattamente Mi sono messa all'opera e ho sfornato Le due prime Pagnottone Una al latte e l'altra all'olio. Il prossimo giro proverò fare il pane di patate e vi dirò com'è venuto :-) ...
22:11:02 da fadamiaVisite: 2 | Commenti: 0
Io vò, mi ritiro nel mio "Buen Retiro". L'ozio mi attende. Però verrò a trovarvi, anche li sono addisellato e tra una pennica e l'altra verrò a sbirciare. ...
18:21:11 da nuvolottaVisite: 1 | Commenti: 0
Non sei autorizzato a vedere i links. Registrati o Loginhttp://www.martview.com permette di leggere riviste in pdf Non sei autorizzato a vedere i links. Registrati o Loginhttp://www.lexcycle.com/download-stanza-windows stanza è un programma per ipad e ipod che consente di aprire moltissimi formati di e-book e trasforma il tuo congegno elettronico in un e-book reader si trova in versione desktop per windows, che tuttavia non ha tutte le funzioni ...
18:05:58 da nuvolottaVisite: 2 | Commenti: 0
BitDefender Free Edition e la versione della famosa suite commerciale (che si trova in vendita anche nei negozi di informatica e pc che vendono software) Non sei autorizzato a vedere i links. Registrati o Loginhttp://www.bitdefender.com/PRODUCT-14-en--BitDefender-Free-Edition.html ...
18:00:20 da nuvolottaVisite: 2 | Commenti: 0
Come fare video chiamate su Facebook Non sei autorizzato a vedere i links. Registrati o LoginFriendCameo è un’applicazione che permette di fare video chiamate su Facebook senza installare alcun programma sul proprio PC Serve solamente e ovviamente avere una web cam ...
Pagine: [1]
16:11:43 da micdasVisite: 39 | Commenti: 0
Includere i files esterniA volte si usano dei files esterni per poterli usare in molteplici pagine che usano stessi oggetti o stesse funzioni. E' il caso di una gestione DB. Per esempio nella gestione DB uso sempre 2 files comuni: "config_db.php" "functions.php"Questi files li includo con questa sintassi: <?php include ("config_db.php"); include ("functions.php"); ?>
Uso delle matriciNel config_db.php abbiamo due tipi di matrici: Una matrice normale <?php $campi_rubrica = array ( "id", "cognome", "nome", "nato", "indirizzo", "cap", "citta", "prov", "tel1", "tel2", "tel3" ); ?>
ed una associativa <?php $nomi_campi = array ( "id" => "non inserire", "cognome" => "Cognome", "nome" => "Nome", "nato" => "Data di nascita (formato: gg/mm/aaaa)", "indirizzo" => "Indirizzo", "cap" => "CAP", "citta" => "Città", "prov" => "Prov", "tel1" => "Telefono di casa", "tel2" => "Cellulare", "tel3" => "Fax" ); ?>
La prima ha un indice numerico, la seconda letterale. E' inutile dire che gli indici, in quanto tali debbono necessariamente essere univoci: quelli numerici hanno una numerazione progressiva quelli letterali hanno delle sequenze alfanumeriche non ripetute. Fatte queste premesse possiamo usare queste istruzioni. Per il primo caso: <?php echo $campi_rubrica[1] . "<br />\n"; echo $campi_rubrica[5] . "<br />\n"; ?>
Per il secondo caso: <?php echo $nomi_campi['nome'] . "<br />\n"; echo $nomi_campi['nato'] . "<br />\n"; ?>
E' ovvio che difficilmente useremo le matrici in questa maniera. E' più verosimile, invece, che le useremo in un ciclo, per spazzolarle dall'inizio alla fine, o aiutati da altre variabili che venngono fuori dalla pagina che di volta in volta andremo ad usare. Un primo esempio: uso di cicli usando il ciclo for<?php for ($i = 0; $i < count($campi_rubrica); $i++) { echo $i . " => " . $campi_rubrica[$i] . "<br />"; } ?>
che restituisce: 0 => id 1 => cognome 2 => nome 3 => nato 4 => indirizzo 5 => cap 6 => citta 7 => prov 8 => tel1 9 => tel2 10 => tel3 usando il ciclo foreach<?php $i = 0; foreach ($nomi_campi as $key => $value) { echo $i . ") " . $key . " => " . $value . "<br />"; $i ++; } ?>
che restituisce: 0) id => non inserire 1) cognome => Cognome 2) nome => Nome 3) nato => Data di nascita (formato: gg/mm/aaaa) 4) indirizzo => Indirizzo 5) cap => CAP 6) citta => Città 7) prov => Prov 8) tel1 => Telefono di casa 9) tel2 => Cellulare 10) tel3 => Fax Usando delle variabiliUn esempio banale: <?php $campo = "nato"; echo $nomi_campi[$campo] . "<br />"; ?>
E' ovvio che la variabile può essere creata in svariati modi: in maniera diretta, come nell'esempio appena fatto dai dati inviati da un form dai dati inviati da una Query_string associata ad un link dai dati letti da un DB o da un file di testo. Per ora basta e basta anche con queste notizie preliminari. La prossima volta si inizia il lavoro vero e proprio....perciò ora, come il solito. vado a prendere un buon ...
23:08:23 da micdasVisite: 39 | Commenti: 2
In questi giorni ho un po' di tempo da dedicare ai miei studi ed ho pensato di condividerli con quanti possano avere un qualche interesse per questo argomento.
Per questo piccolo tutorial sui db, oltre ai files indicati volta per volta, vengono usati due files PHP ed uno JS, questi: config_db.php (che è il file da includere) functions.php js.js
Mentre per il file JS mi limito a dire che viene usato in tutte le pagine in cui c'è un Form con campi obbligatori per controllare e validare questi campi, mostrerò ora i files che verranno richiamati in tutte le pagine del tutorial. Questi files verranno inclusi in quasi tutte le pagine che trattano i dati del DB. config_db.phpQuesto file viene usato per rendere disponibili alcune variabili e matrici usate nelle varie pagine del tutorial. I dati di accesso al DB. Questi dati sono reperibili o creabili nell'hosting (Spazio Web) che usate. In Altervista, per esempio, è possibile accedere a questi dati da Pannello di controllo andando in: AlterSito -> Risorse & Upgrade -> DataBase Nella pagina che si apre scendere alla voce "Come accedere" per trovare: Hostname/server: localhost Username: ............. Password: facoltativa (puoi lasciare il campo vuoto) Database: ............
Ecco il file " config_db.php" con le variabili e le matrici che verranno usate nel corso di questo piccolo tutorial. - Le variabili sono quelle per la connessione al DB
- La matrice $campi_rubrica() potrebbe servire per creare una nuova tabella
- La matrice $nomi_campi() viene usata per scrivere le didascalie a fianco ai controlli che serviranno per scrivere i dati da inserire nel DB o modificare quelli già esistenti.
<?php $Host = "localhost"; $User = "username"; $Password = "password"; $DBName = "nome_db"; $table = "rubrica"; $campi_rubrica = array ( "id", "cognome", "nome", "nato", "indirizzo", "cap", "citta", "prov", "tel1", "tel2", "tel3" ); $nomi_campi = array ( "id" => "non inserire", "cognome" => "Cognome", "nome" => "Nome", "nato" => "Data di nascita (formato: gg/mm/aaaa)", "indirizzo" => "Indirizzo", "cap" => "CAP", "citta" => "Città", "prov" => "Prov", "tel1" => "Telefono di casa", "tel2" => "Cellulare", "tel3" => "Fax" ); ?>
La seconda matrice, $nomi_campi = array (), che è una matrice associativa, é particolarmente comoda usata in un ciclo di questo genere: <?php echo "<table>"; for($b=0; $b<count ($campi_rubrica); $b++) { echo "<tr><td>".$b."</td>\n"; echo "<td>".$campi_rubrica[$b]."</td>\n"; echo "<td>".$nomi_campi[$campi_rubrica[$b]]."</td>\n"; echo "</tr>\n"; } echo "</table>"; ?>
oppure con quest'altro: <?php echo "<table>"; $nr = 0; foreach ($nomi_campi as $chiave => $valore) { echo "<tr><td>".$nr."</td>\n"; echo "<td>".$chiave."</td>\n"; echo "<td>".$valore."</td>\n"; $nr ++; } echo "</table>"; ?>
che restituiscono questo risultato: | # | $campi_rubrica() | $nomi_campi() | | 0 | id | non inserire | | 1 | cognome | Cognome | | 2 | nome | Nome | | 3 | nato | Data di nascita (formato: gg/mm/aaaa) | | 4 | indirizzo | Indirizzo | | 5 | cap | CAP | | 6 | citta | Città | | 7 | prov | Prov | | 8 | tel1 | Telefono di casa | | 9 | tel2 | Cellulare | | 10 | tel3 | Fax |
functions.phpIn questo file ci sono alcune funzioni che di volta in volta verranno evocate nei vari script. <?php function mostra_campi($tabella) { global $Host; global $User; global $Password; global $DBName; $Link = mysql_connect ($Host, $User, $Password); $fields = mysql_list_fields($DBName, $tabella, $Link); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { $field[] = mysql_field_name($fields, $i); } mysql_close ($Link); return $field; } // ============================== function time_serial_da_db($data_letta) { $data_1 = str_replace("/", "-", $data_letta); $sub = explode("-", $data_1); $a = $sub[0]; $m = $sub[1]; $g = $sub[2]; $timestamp_rec = mktime(0,0,0,$m,$g,$a); return $timestamp_rec; } // ============================== function time_serial($data_letta) { $data_1 = str_replace("/", "-", $data_letta); $sub = explode("-", $data_1); $g = $sub[0]; $m = $sub[1]; $a = $sub[2]; $timestamp_rec = mktime(0,0,0,$m,$g,$a); return $timestamp_rec; } // ============================== function verify_record($table, $nome, $cognome, $data) { global $Host; global $User; global $Password; global $DBName; $Query = "SELECT * FROM ".$table." WHERE nome = '".$nome."' AND cognome = '".$cognome."' AND nato = '".$data."';"; if (!$link = mysql_connect($Host, $User, $Password)) { die ('errore nella connessione'); } if (!mysql_select_db($DBName, $link)) { die('DataBase non trovato'); } $result = mysql_query($Query, $link); if (!$result) { die ("errore nella Query"); } $num_rec = mysql_num_rows($result); mysql_close ($link); if ($num_rec != 0) { return $num_rec; } else { return FALSE; } } // ============================== function conta_record($tabella) { global $Host; global $User; global $Password; global $DBName; $Link = mysql_connect ($Host, $User, $Password); $Query = "SELECT * FROM ".$tabella; if (mysql_db_query ($DBName, $Query, $Link)) { $Result = mysql_db_query ($DBName, $Query, $Link); $num_rec = mysql_num_rows($Result); } mysql_close($Link); return $num_rec; } // ============================== function connect_db($tabella, $where = false) { global $Host; global $User; global $Password; global $DBName; $campi = mostra_campi($tabella); $Query = "SELECT * FROM ".$tabella; if ($where) { $Query .= $where; } $Query .= ";"; if (!$link = mysql_connect($Host, $User, $Password)) { die ('errore nella connessione'); } if (!mysql_select_db($DBName, $link)) { die('DataBase non trovato'); } $result = mysql_query($Query, $link); if (!$result) { die ("errore nella query<br />".mysql_error()); } $num_rec = mysql_num_rows($result); if ($num_rec == 0) { echo "nessun record nella tabella"; } else { echo $num_rec . " record trovati in archivio<br />\n"; echo "<table>\n"; echo "<tr>\n"; echo "<th>Nome</th>\n"; echo "<th>nato</th>\n"; echo "<th>indirizzo</th>\n"; echo "<th>città</th>\n"; echo "<th>Telefoni</th>\n"; echo "</tr>\n"; while ($row = mysql_fetch_array($result)) { echo "<tr>\n"; echo "<td>" . $row['cognome'] . " "; echo $row['nome'] . "</td>\n"; $data = $row['nato']; $timestamp = time_serial_da_db($data); $nuova_data = date ("d-m-Y",$timestamp); echo "<td>" . $nuova_data . "</td>\n"; echo "<td>" . $row['indirizzo'] . "</td>\n"; echo "<td>" . $row['cap'] . " "; echo $row['citta'] . " "; echo $row['prov'] . "</td>\n"; echo "<td>"; $tel = array(); if ($row['tel1'] != "") { $tel[] = $row['tel1']; } if ($row['tel2'] != "") { $tel[] = $row['tel2']; } if ($row['tel3'] != "") { $tel[] = $row['tel3']; } if (is_array($tel)) { $telefono = implode("<br />", $tel); } echo $telefono; echo "</td>\n"; echo "</tr>\n"; } mysql_close ($link); echo "</table>\n"; } } ?>
Prima di concludere passerei in rassegna ciascuna funzione. function mostra_campi($tabella)Questa funzione legge i nomi dei campi della tabella rappresentata dalla variabile $tabella e li restituisce in una matrice. La funzione usata per questa operazione è " mysql_list_fields()" mentre con la funzione " mysql_num_fields()" ne restituisce il numero. function time_serial_da_db($data_letta)Con questa funzione leggiamo la data dal DB che è in formato AAAA MM GG e restituiamo il timestamp nel formato GG MM AAAA. Il timestamp restituisce, in ambiente Unix, restituisce il tempo misurato in secondi a partire dal 1 gennaio 1970, quindi un numero intero. Viene usata la funzione PHP mktime con questi argomenti: mktime (hour, minute, second, month, day, year) e la sintassi è la seguente: mktime (date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"))
o, più semplicemente: mktime(date("H, i, s, m, d, Y"))
Questo potrebbe essere un possibile valore per la data 5/6/10: 1275767480function time_serial($data_letta)Questa funzione è l'opposto di quella appena vista e serve per trasformare una nomale data in formato GG MM AAAA in quella da memorizzare nel DB in formato AAAA MM GG function verify_record($table, $nome, $cognome, $data)Uso questa funzione per verificare se nella tabella in uso c'è un record che abbia il nome, il cognome e la data che le sono passati come argomenti. Se il record viene trovato viene restituito il numero di record, altrimenti viene restituito FALSE. function conta_record($tabella)Questa funzione è simile alla precedente ma in ogni caso restituisce il numero di record trovati. Se nessun record viene trovato restituisce 0 (zero). Per la connessione al DB viene usata una sintassi differente da quella usata nelle altre funzioni e che è da ritenersi obsoleta. Questo fatto è ininfluente ma l'ho usata semplicemente a titolo informativo per avere a disposizione entrambe le sintassi. function connect_db($tabella, $where = false)Questa funzione è, tra quelle presentate la più lunga e più complessa. Non restituisce alcun valore ma viene usata per stampare una tabella dei dati trovati. Ho optato per questa soluzione per snellire lo script in alcune pagine alleggerendo la mole di codice in esse scritto. La diversità dalle altre funzioni presentate inizia già nell'enunciato stesso in cui, tra gli argomenti ce n'è uno facoltativo, il $where che per default assume il valore " false". Questo fa sì che possa essere chiamata sia con connect_db($table);che con connect_db($table, $where);dopo aver valorizzato la variabile $where con un qualcosa del genere: $where = " WHERE cognome LIKE '%".$lemma."%' OR nome LIKE '%".$lemma."%' OR indirizzo LIKE '%".$lemma."%' OR citta LIKE '%".$lemma."%' order by ".$campo;
Questa stringa va ad aggiungersi alla stringa della Query SELECT nel caso l'argomento $where non sia FALSE. $Query = "SELECT * FROM ".$tabella; if ($where) { $Query .= $where; } $Query .= ";";
Altra caratteristica di questa funzione è che al suo interno vengono chiamate altre funzioni: - mostra_campi($tabella)
- time_serial_da_db($data)
Bene ...... questo è per iniziare. Dalla prossima volta continueremo con le vere pagine di esempio. ...
Pagine: [1]
|
Shoutbox
Staff
Topic Recenti
programmi per leggere gli ebook da nuvolotta [Luglio 29, 2010, 18:21:11 ]
BitDefender Free Edition da nuvolotta [Luglio 29, 2010, 18:05:58 ]
come fare video chiamate su Facebook da nuvolotta [Luglio 29, 2010, 18:00:20 ]
Re:sinonimi e contrari da micdas [Luglio 28, 2010, 22:06:09 ]
sinonimi e contrari da nuvolotta [Luglio 28, 2010, 17:40:17 ]
Top Board
|