[PHP] Testo giornaliero automatico

Kolop

Utente Attivo
20 Mar 2017
57
0
6
23
Salve, vorrei inserire nel mio sito un testo che ogni giorno (ora italiana) cambia automaticamente. Più precisamente vorrei creare per esempio:
20/03/2017: Compleanno di Marco.
Poi domani 21/03/2017 alle 00.00 si dovrebbe aggiornare automaticamente in:
21/03/2017: Compleanno di Luca.
E così via giorno per giorno.
Lo so che non mi sono spiegato bene ma non so come spiegarlo...
Ho provato a cercare online ma sinceramente non so come scrivere per trovarlo e quindi chiedo a voi.
Se avete dei link da mandarmi di qualche guida o mi dite voi come fare vi sarei grato.
Grazie mille.
 

Kolop

Utente Attivo
20 Mar 2017
57
0
6
23
Ciao, grazie per le risposte. @borgo italia io so poco di php, js ecc. quindi dipende da come richiede il codice. Cioè io posso creare una tabella, un file .txt o altro. @peradev ho visto il link ma non ci capisco niente xD.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
secondo me il metodo migliore è usare mysql e fare una tabella del tipo chiamata es compleanni, ti schematizzo
Codice:
id int(6) autoincrement primarykey
compleanno string(5)// esempio 04/03
utente string(50)
e riempirla con i vari dati es.
1 04/03 Sofonisba
2 21/11 Pancrazio
3 12/09 Asdrubale
4 21/11 Attenzio
...ecc...
poi nella pagina in cui vuoi far apparire gli auguri
PHP:
<?php
//...
$conn = mysqli_connect('tuo_host','tuo_username','tua_password','tuo_db') or die (mysqli_error());
$oggi=date("d/m");//leggi la data atuale, attento = a come è scritta in tabella
//interroghi il db
$query="SELECT utente FROM compleanni WHERE compleanno='$oggi' ORDER BY utente";
$ris=mysqli_query($conn, $query);
//e estrai i nomi degli utenti che compiono gli anni $oggi
while($riga=mysqli_fetch_assoc($ris)){
    $utenti[]=$riga['utente'];
}
//raggruppi i nomi
$compleanni_di_oggi=implode(", ",$utenti);//diventa es. Attenzio, Pancrazio
//e fai gli auguri
echo "buon compleanno $compleanni_di_oggi";
//....
?>
si intende il tutto condito con css
se però gli utenti sono pochi ci sono altri metodi, eventualmente te li posto
 

Kolop

Utente Attivo
20 Mar 2017
57
0
6
23
Ciao grazie @borgo italia fra un po' ci provo e vedo. Comunque la parte finale cioè il "buon compleanno" alla fine non mi serve perché a me basta che mi esce solo: Data e sotto i nomi. Comunque grazie. Ci provo e ti faccio sapere.
 

Kolop

Utente Attivo
20 Mar 2017
57
0
6
23
Ciao @borgo italia ho provato allora, siccome io non ci capisco molto di Mysql e non l'ho mai usato, ho creato una tabella ma questo codice dove lo devo mettere?
Codice:
id int(6) autoincrement primarykey
compleanno string(5)// esempio 04/03
utente string(50)

Grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
no no non è un codice, ma la struttura della tabella che puoi fare tramite phpMyAdmin, ma come dici l'hai gia fatta immagino con phpMyAdmin.
ora devi solamente riempirla con i dati o da phpMyAdmin o con uno script form html + script di insert che è la cosa migliore e più rapida e soprattutto più controllabile (a prova d'errore o quasi), se vuoi ti posto uno schema

dimenticavo:
eventualmente posta come hai fatto esattamente la tabella, sempre phpMyAdmin puoi ricaverne la struttura
 

Kolop

Utente Attivo
20 Mar 2017
57
0
6
23
Ciao @borgo italia scusa ma non ho mai fatto queste cose e quindi ricapitolando:
ho creato una tabella chiamata compleanni ma la strutta della tabella non l'ho fatta o boh.
Poi questi dati dove li devo mettere?
e riempirla con i vari dati es.
1 04/03 Sofonisba
2 21/11 Pancrazio
3 12/09 Asdrubale
4 21/11 Attenzio
...ecc...

e un'ultima cosa il codice PHP che mi hai dato sopra devo modificare solo la parte:
PHP:
$conn = mysqli_connect('tuo_host','tuo_username','tua_password','tuo_db') or die (mysqli_error());
o anche altro?
Grazie ma come ho già detto non ci capisco molto.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
??non hai fatto la struttura? senza struttura non funziona. stai usando myAdmin?
poi nella riga $conn......
devi mettere i tuoi dati (che non posso conoscere)
se lavori in locale alla prima voce devi mettere localhost dove ho scritto tuo_host questa è l'unica che posso sapere
se lavori in remoto i dati deve fornirteli il tuo provider.

passiamo alla tabella cercando di fare chiarezza:
- con mysql puoi fare diversi database evidentemente con nomi diversi, es mio_db (in locale puoi sceglierlo tu, in remoto generalmente lo fornisce il provider)
- ogni database può avere diverse tabelle es mio_db può essere composto dalle tabelle chiamate es compleanni, eutenti ecc... (i nomi delle tabelle puoi sceglerli tu in locale e remoto)
- ogni tabella (vedi es excel) è formata di righe (record) da una o più, generlamente individuata da un identificativo quasi sempre chiamato id
- ogni record (riga) è formato da colonne (campi) ogni campo a avrà il suo nome, conviene sempre dare alle tabelle e ai campi dei nomi esplicativi (meglio usando sempre caratteri minuscoli) si evitano errori
- ogni campo poi conterrà qualcosa (numeri, caratteri alfanumerici, date....) quindi devo indicare cosa conterrà quel determinato campo.
veniamo, partendo da zero e in locale, quello che dovresti fare con myAdmin: lo chiami, se è la prima volta probabilmente vedrai un solo database esistente "prova", lascialo stare, quindi userai 'crea db' fatto, ti chiederà che nome vuoi dargli dai nome e salva,
nell'elenco tra i db ci sarà il nome che hai dato lo selezioni e vai a crea tabella
quando dai crea tabella ti chiederà
1) il nome della tabella (es. compleanni)
2) di quanti campi (colonne) sarà composta la tabella (per quella che stiamo esaminando il valore è 3)
al salva ti apparirà una schermata in cui andrai a definire i campi (in questo caso vedrai 3 righe)

...... ma continuo domani devo andare
 

Kolop

Utente Attivo
20 Mar 2017
57
0
6
23
Ciao @borgo italia grazie per la risposta. Io uso Altervista quindi a tuo_host a me esce: Hostname/server: localhost, quindi rimango localhost? Poi tuo_username, password e database già li ho compilati.
Per quanto riguarda il database Altervista ti fa usare PhpMyAdmin.
Ah poi una cosa che voglio specificare: i nomi delle persone che compiono gli anni non sono persone registrate sul mio sito ma devo fare io una lista e ogni giorno appare il nome della persona. Ci tenevo a specificare.
Comunque per quanto riguarda la tabella ho messo come nome compleanni e i campi per ora ho messo 3.
Poi non so come continuare quindi aspetto te. Grazie mille comunque per aiutarmi ma io non ci capisco niente..
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
se hai creato la tabella dovresti essere arrivato alla schermata simile a quella di fig 6 della guida che ti ho postato
o ci arrivi selezionando prima il db poi il nome della tabella e gli dai "mostra"
nella figura ogni riga rappresenta un campo e ogni colonna le caratteristiche che il campo deve avere.

vai sulla prima riga
nella colonna campo scrivi id
ti sposti sulla colonna tipo e definisci il tipo di contenuto inquesto caso int (intero)
ancora su lunghezza e scrivi es 6(non credo proprio che ti serva tanto di più)
ancora su attributi e cerchi autoincrement e lo selezioni
ancora sulla casella primaria e la selezioni
passi alle seconda riga
campo digiti compleanno tipo varchar lunghezza 5
passi alla terza riga
campo digiti nome tipo varchar lunghezza 50

fatto questo salvi

in alto della schermata trovi inserisci record, clicchi e ti si presenta la schermata di riempimento
NON scrivere nulla sul campo id, ci pensa lui avendogli dato autoincrement a aumentare di uno l'identificativo del record
nella campo compleanno scriverai es 02/04 (attento di scrivere le date sempre nello stesso modo)
e nel campo nome scrivi il nome Sofonisba Verdi
o dai inserisci altro record o se finito esegui

anche se poi sarà molto più comodo fare gli inserimenti via script php

p.s.
per i nomi dei campi seguei le regole dei nomi delle variabili php, meglio sempre tutti minuscoli (si evitano errori di digitazione) e che siano esplicativi
tieni presente che volendo in seguito puoi modificare la tabella
 

Kolop

Utente Attivo
20 Mar 2017
57
0
6
23
Ciao @borgo italia ho trovato un codice javascript che è molto semplice.
Il codice è questo:
HTML:
    <script language="JavaScript" type="text/javascript">
    <!--
    function frase_del_giorno() {
    // per ogni mese dell'mese crei un array contenete tutte le frasi (una per ogni giorno)
    febbraio=new Array();
    febbraio[0]="frase 1";
    febbraio[1]="frase 2";
    febbraio[2]="frase 3";
    febbraio[3]="frase 4";
    febbraio[4]="frase 5";
    febbraio[5]="frase 6";
    febbraio[6]="frase 7";
    febbraio[7]="frase 8";
    febbraio[8]="frase 9";
    febbraio[9]="frase 10";
    febbraio[10]="frase 11";   
    febbraio[11]="frase 12";
    febbraio[12]="frase 13";
    febbraio[13]="frase 14";
    febbraio[14]="frase 15";
    febbraio[15]="frase 16";
    febbraio[16]="frase 17";
    febbraio[17]="frase 18";
    febbraio[18]="frase 19";
    febbraio[19]="frase 20";
    febbraio[20]="frase 21";
    febbraio[21]="frase 22";
    febbraio[22]="frase 23";
    febbraio[23]="frase 24";
    febbraio[24]="frase 25";
    febbraio[25]="frase 26";
    febbraio[26]="frase 27";
    febbraio[27]="frase 28";
    febbraio[28]="frase 29: Questo è un anno bisestile";

    marzo=new Array();
    marzo[0]="frase 1";
    marzo[1]="frase 2";
    marzo[2]="frase 3";
    marzo[3]="frase 4";
    marzo[4]="frase 5";
    marzo[5]="frase 6";
    marzo[6]="frase 7";
    marzo[7]="frase 8";
    marzo[8]="frase 9";
    marzo[9]="frase 10";
    marzo[10]="frase 11";
    marzo[11]="frase 12";
    marzo[12]="frase 13";
    marzo[13]="frase 14";
    marzo[14]="frase 15";
    marzo[15]="frase 16";
    marzo[16]="frase 17";
    marzo[17]="frase 18";
    marzo[18]="frase 19";
    marzo[19]="frase 20";
    marzo[20]="frase 21";
    marzo[21]="frase 22";
    marzo[22]="frase 23";
    marzo[23]="frase 24";
    marzo[24]="frase 25";
    marzo[25]="frase 26";
    marzo[26]="Luca";
    marzo[27]="frase 28";
    marzo[28]="frase 29";
    marzo[29]="frase 30";
    marzo[30]="frase 31";

    agosto=new Array();
    agosto[0]="frase 1";
    agosto[1]="frase 2";
    agosto[2]="frase 3";
    agosto[3]="frase 4";
    agosto[4]="frase 5";
    agosto[5]="frase 6";
    agosto[6]="frase 7";
    agosto[7]="frase 8";
    agosto[8]="frase 9";
    agosto[9]="frase 10";
    agosto[10]="frase 11";
    agosto[11]="frase 12";
    agosto[12]="frase 13";
    agosto[13]="frase 14";
    agosto[14]="frase 15";
    agosto[15]="frase 16";
    agosto[16]="frase 17";
    agosto[17]="frase 18";
    agosto[18]="frase 19";
    agosto[19]="frase 20";
    agosto[20]="frase 21";
    agosto[21]="frase 22";
    agosto[22]="frase 23";
    agosto[23]="frase 24";
    agosto[24]="frase 25";
    agosto[25]="frase 26";
    agosto[26]="frase 27";
    agosto[27]="frase 28";
    agosto[28]="frase 29";
    agosto[29]="frase 30";
    agosto[30]="frase 31";


    settembre=new Array();
    settembre[0]="frase 1";
    settembre[1]="frase 2";
    settembre[2]="frase 3";
    settembre[3]="frase 4";
    settembre[4]="frase 5";
    settembre[5]="frase 6";
    settembre[6]="frase 7";
    settembre[7]="frase 8";
    settembre[8]="frase 9";
    settembre[9]="frase 10";
    settembre[10]="frase 11";
    settembre[11]="frase 12";
    settembre[12]="frase 13";
    settembre[13]="frase 14";
    settembre[14]="frase 15";
    settembre[15]="frase 16";
    settembre[16]="frase 17";
    settembre[17]="frase 18";
    settembre[18]="frase 19";
    settembre[19]="frase 20";
    settembre[20]="frase 21";
    settembre[21]="frase 22";
    settembre[22]="frase 23";
    settembre[23]="frase 24";
    settembre[24]="frase 25";
    settembre[25]="frase 26";
    settembre[26]="frase 27";
    settembre[27]="frase 28";
    settembre[28]="frase 29";
    settembre[29]="frase 30";

    ottobre=new Array();
    ottobre[0]="frase 1";
    ottobre[1]="frase 2";
    ottobre[2]="frase 3";
    ottobre[3]="frase 4";
    ottobre[4]="frase 5";
    ottobre[5]="frase 6";
    ottobre[6]="frase 7";
    ottobre[7]="frase 8";
    ottobre[8]="frase 9";
    ottobre[9]="frase 10";
    ottobre[10]="frase 11";
    ottobre[11]="frase 12";
    ottobre[12]="frase 13";
    ottobre[13]="frase 14";
    ottobre[14]="frase 15";
    ottobre[15]="frase 16";
    ottobre[16]="frase 17";
    ottobre[17]="frase 18";
    ottobre[18]="frase 19";
    ottobre[19]="frase 20";
    ottobre[20]="frase 21";
    ottobre[21]="frase 22";
    ottobre[22]="frase 23";
    ottobre[23]="frase 24";
    ottobre[24]="frase 25";
    ottobre[25]="frase 26";
    ottobre[26]="frase 27";
    ottobre[27]="frase 28";
    ottobre[28]="frase 29";
    ottobre[29]="frase 30";
    ottobre[30]="frase 31";

    novembre=new Array();
    novembre[0]="frase 1";
    novembre[1]="frase 2";
    novembre[2]="frase 3";
    novembre[3]="frase 4";
    novembre[4]="frase 5";
    novembre[5]="frase 6";
    novembre[6]="frase 7";
    novembre[7]="frase 8";
    novembre[8]="frase 9";
    novembre[9]="frase 10";
    novembre[10]="frase 11";
    novembre[11]="frase 12";
    novembre[12]="frase 13";
    novembre[13]="frase 14";
    novembre[14]="frase 15";
    novembre[15]="frase 16";
    novembre[16]="frase 17";
    novembre[17]="frase 18";
    novembre[18]="frase 19";
    novembre[19]="frase 20";
    novembre[20]="frase 21";
    novembre[21]="frase 22";
    novembre[22]="frase 23";
    novembre[23]="frase 24";
    novembre[24]="frase 25";
    novembre[25]="frase 26";
    novembre[26]="frase 27";
    novembre[27]="frase 28";
    novembre[28]="frase 29";
    novembre[29]="frase 30";

    dicembre=new Array();
    dicembre[0]="frase 1";
    dicembre[1]="frase 2";
    dicembre[2]="frase 3";
    dicembre[3]="frase 4";
    dicembre[4]="frase 5";
    dicembre[5]="frase 6";
    dicembre[6]="frase 7";
    dicembre[7]="frase 8";
    dicembre[8]="frase 9";
    dicembre[9]="frase 10";
    dicembre[10]="frase 11";
    dicembre[11]="frase 12";
    dicembre[12]="frase 13";
    dicembre[13]="frase 14";
    dicembre[14]="frase 15";
    dicembre[15]="frase 16";
    dicembre[16]="frase 17";
    dicembre[17]="frase 18";
    dicembre[18]="frase 19";
    dicembre[19]="frase 20";
    dicembre[20]="frase 21";
    dicembre[21]="frase 22";
    dicembre[22]="frase 23";
    dicembre[23]="frase 24";
    dicembre[24]="frase 25";
    dicembre[25]="frase 26";
    dicembre[26]="frase 27";
    dicembre[27]="frase 28";
    dicembre[28]="frase 29";
    dicembre[29]="frase 30";
    dicembre[30]="frase 31";

    // Inserisci tutti i mesi all'interno di un secondo array
    mese=new Array();
    mese[0]=gennaio;
    mese[1]=febbraio;
    mese[2]=marzo;
    mese[3]=aprile;
    mese[4]=maggio;
    mese[5]=giugno;
    mese[6]=luglio;
    mese[7]=agosto;
    mese[8]=settembre;
    mese[9]=ottobre;
    mese[10]=novembre;
    mese[11]=dicembre;

    // Crei un oggetto di tipo data contenete le data odierna e da questo estrai il giorno ed il mese
    oggi=new Date();
    oggi_g=oggi.getDate()-1;
    oggi_m=oggi.getMonth();

    var mese_selezionato=mese[oggi_m]; // inserisci il mese corrente all'interno di una variabile e...

    document.write(mese_selezionato[oggi_g]); // ... visualizzi la frase corrispondente al giorno
    }
    // -->
    </script>

    <div><script language="javascript" type="text/javascript">
    frase_del_giorno();
    </script></div>

Solo una cosa. Se io volessi aggiungere più di un nome a giorno devo per forza fare così:
marzo[26]="Luca - Laura - Alberto";
Non c'è un altro modo? Grazie comunque per avermi aiutato.
(Ho cancellato alcuni mesi perché il codice è troppo lungo e non mi faceva pubblicare)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
io prfeferirei sempre mysql che forse devi studiare, ma poi è sempre più facile da gestire.
se non lo vuoi/puoi usare potresti fare così

ti fai un file chiamato compleanni.php in cui di folta in volta aggiungi i nomi e data
PHP:
<?php
$frase['Mario_Rossi']="07/03";
$frase['Sofonisba_Verdi']="12/12";
$frase['Pancrazio_Verdi']="27/08";
$frase['Attenzio_Bianchi']="27/08";
//.....e altri che puoi aggiungere non ti serve fare l'elenco di tutti e 365 (o 366) giorni dell'anno
//elabora
ksort($frase);//ordino alfabeticamente i nomi
$oggi=date("d/m");//leggi la data odierna
foreach($frase as $nome => $data){
    if($data==$oggi){
        /*
        sostituisci _ co spazio
        messo strtolower e ucwords se per caso
        ti dimentiche le maiuscole sul nome o sul cognome
        */
        $c[]=ucwords(strtolower(strtr( $nome , "_" , " " )));
    }
}
//crei l'elenco di nomi
$compleanni=date("d/m/Y").": ".implode(", ",$c);//messo separati da virgola e spazio, se vuoi puoi mettere altro
?>
poi nella pagina e nel punto in cui vuoi che appaia la scritta metti questo codice
PHP:
<?php
//.........
require_once "compleanni.php";//o se complenanni in cartella diversa "cartella/compleanni.php"

echo "$compleanni";
//.......
?>
p.s.
il require_once puoi metterlo anche all'inizio della pagina (anche prima del doctype html), basta che tu posizioni l'echo nel posto voluto
 

Kolop

Utente Attivo
20 Mar 2017
57
0
6
23
Ciao @borgo italia grazie il tuo codice è meglio così non c'è bisogno dell'elenco di tutti e 365-366 giorni.
Comunque preferisco il PHP perché lo sto anche studiando, MySql per ora è presto xD.
Solo una cosa. Io voglio che appare prima la data senza i : finali e poi sotto il nome e non affianco come faccio? Siccome è PHP non so come fare. Poi se volessi linkare il nome si può? Nel senso il giorno 28/03/2017 è il compleanno di Luca, posso linkare che cliccando sul nome vado su un link del mio sito? Se non si può fare non fa niente tanto non mi serve assai. Comunque grazie mille.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
per andare a capo
PHP:
$compleanni=date("d/m/Y")."<br>".implode(", ",$c);
poi spiega meglio: ad ogni nome hai una pagina?
si è possibile, però attento, se non capisco male, mi sa che mysql mi sembra indispensabile
 
Discussioni simili
Autore Titolo Forum Risposte Data
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
A Estrapolare parti di testo con PHP PHP 2
Gabriele15497514 php testo errato durante la lettura del file txt quando lo script viene eseguito contemporaneamente PHP 3
Cosina [PHP] Cancellare una riga da un file di testo in base al nome PHP 2
Shyson [PHP] Inserire testo nel codice PHP 2
R [PHP] Testo su immagine al passaggio del mouse PHP 2
Cosina Andare a capo nel testo della mail ricevuta dal form php PHP 1
Trapano [PHP] Testo in grassetto quando rilevo modifiche PHP 2
B [PHP] Elimina quindi aggiungi una riga in un file di testo PHP 0
C [PHP] Scrivere testo su immagine PHP 3
gandalf1959 [PHP] Dividere un campo di testo in più campi PHP 9
LalaGp [PHP] Incremento di un campo numerico in base a incremento campo di testo PHP 2
P [PHP] file di testo e array PHP 11
giancadeejay Codice php come testo-quale tag usare? PHP 9
B Scrivere in una casella di testo una variabile PHP PHP 9
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
P Colore testo variabile PHP PHP 5
T4MAR4 [PHP] estrarre tag da un testo PHP 3
M Javascript/Php. Stringa di testo a capo con alert Javascript 7
B [PHP] Copiare testo da iframe dopo il caricamento? PHP 1
M Inserimento automantico di un testo in una pagina PHP PHP 4
B [PHP] Creare un'interfaccia di inserimento testo in varie posizioni PHP 1
Creatt [PHP] Posizionare e formattare testo PHP 13
Roulder [PHP] Stampa file di testo Automatico senza conferma PHP 1
S [PHP] Fpdf e testo a capo con cell PHP 5
M [PHP] Come convertire data in formato testo PHP 4
utente testo fisso " intestazione, telefono " sul css in pagina php PHP 2
Mr. Alex D. Come far apparire un testo preimpostato in una casella di un form di uno script php? PHP 1
M [risolto] variabile php costituita da variabili testo PHP 12
T [PHP] Estrapolare testo da una stringa PHP 18
S Script PHP: Immagine da Testo PHP 3
IImanuII Mail in php da testo a html PHP 40
S CSS & PHP: Formattare il testo mostrato da uno script php PHP 75
S Output file php in formato testo PHP 9
T Calendario in PHP (con file di testo) PHP 4
G Visualizzare testo in più righe php PHP 4
D Cambiare colore di un testo modificando php PHP 3
E Pagine php visualizzate come testo PHP 1
G pagine php visualizzate come testo PHP 2
S Php - Testo ripetuto nel Form ? parte il messaggio PHP 2
S PHP con effetti di testo ? PHP 1
M Testo PHP PHP 3
L php file di testo(db) cancellare una stringa Database 0
L php file di testo(db) cancellare una stringa PHP 1
A cambiare la dimensione del testo (era: js e php) Javascript 1
A codice php per testo PHP 0
L File di testo e Php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0

Discussioni simili