- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [SCRIPT] News con utilizzo di un Database MySQL
-
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
-
Altalenante in questo periodo ma ci sono sempre.
-
Ho cercato di testare il tuo script, ma credo di sbagliare qualcosa visto che non sono esperto.
- ho collegato la tabella news al db
- la tabella ha un ID,date,titolo
- il campo date l'ho specificato come timestamp
Non riesco a leggere le news dove sbaglio?
Potresti aiutarmi?
-
Potrei avere lo script già pronto sia in html che in php con l'impaginazione?
Grazie
-
Ciao biagiosurace,
hai utilizzato l'install o hai creato manualmente il tutto?Hai inserito questo codice dove vuoi vedere le news?:
[php] <?php
require_once ("news/config.php");
include ("news/news.php");
?> [/php]
Se si, la pagina ha estenzione .php?Personalmente non ho ancora implementato l'impaginazione allo script, magari in futuro.
-
Ciao Samyorn,
Mi sono accorto che c'è qualcosa che non va per quanto riguarda la scrittura nel db della data di fine pubblicazione, la quale sembra essere impostata sempre a zero anche se si imposta un valore diverso in "modifica news".
A qualcun altro risulta?
Ho provato a dare un'occhiata al codice ma non ho trovato l'errore.
Puoi provare a verificare anche tu quando hai tempo?Inoltre volevo riscaricare il file .zip dello script nel primo post ma il link non funziona più.
Da dove si può riscaricare?Grazie.
Rodolfo
-
osservando attentamente il codice ho notato che nel file admin_action.php
nella riga 146 manca una "i"//adesso che tutti i campi sono pronti per l'invio al Db, passiamo ad aggiornare i campi relativi a questa news $sql="UPDATE news SET title='$title', text='$text', publish='$publish', publish_data='$publish_data', unpublish_data='$unpublsh_data' WHERE id='$id'"; $query=@mysql_query($sql) or die (mysql_error()); header("Location:admin.php?msg=modify"); // e torniamo alla pagina inviando l'indice del messaggio di avvenuta modifica
penso che l'errore che ho descritto nel post precedente dipenda da questo.
-
Confermo, corretta la "i" mancante ora funziona, inoltre aggiungo che spulciando i file admin.php e admin_action.php (adesso non ricordo esattamente in quale riga) mi sono accorto di un'altro errore in un else if
else if ($unpublish_data=="")
mancava il simbolo "$" davanti a unpublish_data==""
Spero possa essere d'aiuto a qualcun altro
Un saluto
-
Ciao!
Arrivo tardi eh?
La copia che ho io non presenta problemi. Ora verifico perché non ti fa più scaricare lo zip e controllo la copia che c'è online. Grazie della segnalazione.
[URL=http://www.giorgiotave.it/forum/gt-world/101972-forum-gt-disponibile-alle-versioni-per-telefoni-cellulari.html]Postato via Mobile
-
allora probabilmente sono io che inavvertitamente ho sporcato il codice.
Comunque guarda il link per scaricare lo zip in prima pagina che è interrotto!
Ciao
Rodolfo.