- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [SCRIPT] News con utilizzo di un Database MySQL
-
Dovresti includere gli <span> della news dentro un <div> contenitore ed a questo dare lo style di cui sopra
Potresti spiegarmi un po meglio...perdonami...ma sappi che mezzo busto in tuo onore è già fatto!
-
[php]<?php require_once ("config.php");
$time=time();
$sql="SELECT * FROM news WHERE publish=1
AND publish_data<='$time'
AND (unpublish_data>='$time' OR unpublish_data=0)
ORDER BY publish_data DESC LIMIT 3";
$query=@mysql_query($sql) or die (mysql_error());
?>
<div id="contentnews"><?php
while ($row=mysql_fetch_array($query))
{
?>
<div style="float:left;width:16%">
<span class="titlenews"><?php echo $row['title']; ?></span><br />
<span class="datanews">Data: <?php echo date("d/m/Y", $row['publish_data']); ?></span><br />
<?php echo html_entity_decode($row['text']); ?></div>
<?php
}
?>
<div style="clear:both"></div>
</div>
[/php]Prova così.
@frazoo said:...ma sappi che mezzo busto in tuo onore è già fatto!
Esagerato!!!
-
Grazie davvero... la statua è quasi pronta. Al momento ti faccio i miei più sentiti auguri di buon natale, ma dopo può essere che torno a disturbarti
Grazie.
-
Buon Natale anche a te.
P.S. Come da regolamento ti invito a far attenzione alle regole base della scrittura: maiuscola ad inizio frase e punteggiatura. Ne guadagneremo tutti in leggibilità del Thread.
-
Ciao, ho il seguente problema (credo che qualcosa non funzioni a perfezione):
ho impostato nel pannello d'installazione, l'ordine di visualizzazione delle news decrescente (quella di default per intenderci).
Mi serviva che in prima pagina apparissero solo le ultime 3 news e che cliccando sul tasto leggi tutto, venissi indirizzato in una pagina contenente l'intero elenco delle news, così come previsto.
Mi hai aiutato nel creare lo script della selezione delle ultime 3 news:
<?php require_once ("config.php");
$time=time();
$sql="SELECT * FROM news WHERE publish=1
AND publish_data<='$time'
AND (unpublish_data>='$time' OR unpublish_data=0)
ORDER BY publish_data DESC LIMIT 3";
$query=@mysql_query($sql) or die (mysql_error());
?>Il problema è che io vedo sempre solo le prime 3 news.
Non so se la questione è legata alla data, quindi se inserisco 4 news alla data odierna, comunque leggerò sempre le prime 3 o se c'è altro.
Potresti gentilmente aiutarmi?
Grazie davvero
-
Ciao frazoo.
La select è molto chiara:
ORDER BY publish_data DESC LIMIT 3";Ordina per data pubblicazione decrescentee seleziona solo i primi tre (tradotto, dato l'ordinamento, gli ultimi tre in ordine cronologico - secondo la data pubblicazione).
Hai verificato inserendo date pubblicazione successive a quelle tre?
(ovviamente non successive alla data odierna )EDIT: e verifica anche eventuali date di fine pubblicazione.
-
Ciao,
ho provveduto cambiando la select in
ORDER BY ID DESC LIMIT 3
Dato che il controllo effettuato sulla data di pubblicazione, non permetteva un controllo sull'orario, quindi se venivano inserite 4 news nello stesso giorno, le stesse erano inserite senza tener conto di un reale tempo di inserimento.
Grazie
-
Ciao a tutti, sono nuovo del forum.
Un doveroso ringraziamento a Samyorn@
Era proprio quello che stavo cercando per il mio sito. Per adesso l'ho provato in locale e funziona perfettamente. Davvero un'ottimo lavoro.
Grazie.Bello trovare la pappa pronta! Se dovevo scrivermi il codice da solo facevo questa fine
-
Prima di tutto volevo ringraziare Samyorn per il lavoro svolto ma sopratutto per averlo condiviso.
Ora passo alla piccola richiesta,fuonziona tutto a meraviglia,vorrei capire come poter visualizzare in homepage solamente le prime righe della news,calcolando che ne visualizzo solamente una l'ultima.
Grazie anticipatamente Claudio
-
E'èè già,sono ancora qua,scherzi a parte sto diventando matto da tre giorni per cercare di creare la paginazione delle news,lo so io di php non ci capisco nulla,potreste darmi un aiutino.
Altra cosa che non ho ancora capito,creo la news (la tengo una settimana),cancello la news dal pannello admin ma l'id del database non si aggiorna es:
id 1 blabla pubblicata
id 2 blabla pubblicata
id blabla cancellata
id 4 blabla pubblicata
Come posso spostare l'id 4 al 3 ?
Credo d'aver capito che la paginazione corretta possa funzionare solamente in questo modo.
Ringrazio anticipatamente Claudio
-
Ciao radacl,
scusa ma sono settimane di fuoco, vedo di aiutarti per le due questioni:
@radacl said:...poter visualizzare in homepage solamente le prime righe della news,....
Utilizzando la funzione substr() tronchi il testo della news alla lunghezza desiderata. Nel file news.php modifica questo:
[php]<? echo html_entity_decode($row['text']);[/php]con questo:
[php]<? echo substr(html_entity_decode($row['text']),0,100);[/php]Visualizzerai così i primi 100 caratteri, poi lo modifichi tu a tuo piacimento.
@radacl said:
....Altra cosa che non ho ancora capito,creo la news (la tengo una settimana),cancello la news dal pannello admin ma l'id del database non si aggiorna es:
id 1 blabla pubblicata
id 2 blabla pubblicata
id blabla cancellata
id 4 blabla pubblicata
Come posso spostare l'id 4 al 3 ?
Credo d'aver capito che la paginazione corretta possa funzionare solamente in questo modo.L'ID è un campo chiave autoincrement, se cancelli la news il numero ormai è preso e non viene riassegnato.
Per fare quello che hai descritto ho inserito la data di fine pubblicazione appositamente, ovvero la news è pubblicata e "visibile" fino alla data di fine pubblicazione, dalla data di inizio pubblicazione.
Lo script ordinerà comunque le news secondo la data di pubblicazione, decrescente o meno a seconda di come tu lo hai impostato.
-
@rodolforizzo76 said:
Ciao a tutti, sono nuovo del forum.
Un doveroso ringraziamento a Samyorn@
Era proprio quello che stavo cercando per il mio sito. Per adesso l'ho provato in locale e funziona perfettamente. Davvero un'ottimo lavoro.
Grazie.Bello trovare la pappa pronta! Se dovevo scrivermi il codice da solo facevo questa fine
Grazie rodolforizzo76.Ed io che speravo invogliasse a farsi le cose da solo...
-
[...]
Grazie Samyorn ,aiuto prezioso,devo dire che per lo meno con il tuo lavoro mi hai fatto smanettare in php pur non capendoci nulla e ovviamente buttando ore per capire il funzionamento :x.
Grazie ancora
-
Samyorn perdonami ma è una settimana che cerco di integrare nello script una paginazione ed un anteprima con l'opzione leggi tutto,ma nulla da fa,php negatox ti chiedo aiuto,è possibile?
Grazie Claudio
-
Ciao radacl,
cosa non riesci ad integrare?
L'anteprima o il leggi tutto?
-
[...]
L'anteprima cercavo di crearla tagliando la news ed inserendo a livello del taglio il "leggi tutto" che mi dovrebbe mandare alla pag.con solo la news selezionata.
Ho letto alla pag. 6 domani proverò a linkare il titolo.
Grazie Samyorn
-
Il sistema del titolo o del leggi tutto è praticamente molto simile, invece di mettere il link sul titolo lo metti sulla scritta leggi tutto
-
@Samyorn said:
Il sistema del titolo o del leggi tutto è praticamente molto simile, invece di mettere il link sul titolo lo metti sulla scritta leggi tutto
Ok allora vediamo se ho capito bene,copio la stringa
[PHP]<span class="titlenews"><a href="article.php?id=<?php echo $row['id']; ?>" title="<?php echo $row['title']; ?>"><?php echo $row['title']; ?></a></span>[/PHP]e la incollo al posto di questa
[PHP]<span class="titlenews"><?php echo $row['title']; ?></span>[/PHP]
fino a qui tutto ok.
Creo la pagina article.php giusto?
copio tutta ma proprio tutta la pagina news, e cambio tutto questo[PHP]$sql= "SELECT * FROM news WHERE publish=1
AND publish_data<='$time'
AND (unpublish_data>='$time' OR unpublish_data=0)
ORDER BY publish_data ".$order."";
if ($limit!="" || $limit!=0) // verifichiamo se abbiamo deciso di vedere tutte le news o solo alcune
{
$sql .=" LIMIT 0,".$limit.""; // se abbiamo impostato un limire estraiamo dai risultati della query solo quelle che ci interessano
} [/PHP]con questo
[PHP]$id=$_GET['id'];
$sql="SELECT * FROM news WHERE id='$id'"; [/PHP]così avrei risolto il leggi tutto.
E per la paginazione,cioè vorrei che alla quinta news mi si creasse prima pag.2 3 4 5 ultimaGrazie Samyorn
-
La paginazione va gestita "giocando" con i limit. La prima pagina avrà LIMIT 0,4 , la seconda LIMIT 5, 9 e così via. Puoi puntare alla stessa pagina mettendo ?page=numeropagina.
Per il numero di pagine dividi per cinque il numero di record estratti dalla query e se ottieni un resto dall'intero aggiungi un numero pagina.
È sicuramente una traccia su cui ragionare su.
[URL=http://www.giorgiotave.it/forum/gt-world/101972-forum-gt-disponibile-alle-versioni-per-telefoni-cellulari.html]Postato via Mobile
-
Proviamoci,al massimo posso disturbarti?
Grazie ciao Claudio