Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-08-2009, 15:47   #1
KuWa
Senior Member
 
Iscritto dal: Aug 2002
Città: Udine
Messaggi: 1922
[php] mostrare le news nella homepage

Salve a tutti, spero possiate darmi una mano. Ho un database e ho implementato l'inserimento, cancellazione delle news tramite php. Ora ho la homepage e dovrei far visualizzare il titolo delle ultime 5 news. Non sono molto pratico e può essere che la domanda sia banale/stupida. Come posso far aggiornare le news in maniera intelligente? I problemi per quanto mi riguarda sono due: uno la home è in html e se volessi aggiornare le news ad ogni refresh dovrei rinominare il file index.html in .php ma dopo funzionerebbe il tutto?
Se volessi aggiornare le news ad ogni inserimento di news come dovrei fare?
ah le new scorrono e per fare questo non posso usare flash e ho utilizzato il tag Marqee (so che non è molto compatibile ma non ho trovato altro).

Ammettendo di aver superato questo problema poi dovrei fare un'altra cosa... cliccando il titolo della news dovrebbe andare in un'altra pagina e visualizzare il titolo + il testo. come posso fare questo in php?
grazie a tutti. se avete ulteriori domande chiedete.
__________________
CCIE Routing&Switching 40590
KuWa è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2009, 16:02   #2
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Quote:
Originariamente inviato da KuWa Guarda i messaggi
se avete ulteriori domande chiedete.
Come può, il titolo del topic, aiutare chi in futuro cercherà una soluzione questo problema?
Come fanno, i possibili interessati, a sapere cosa chiedi per sapere se lo sanno - gli interessa- o meno?
Mah...






Per dare comunque un reale contributo alla discussione,
basta semplicemente che mostrando il link alla notizia scrivi dinamicamente dei dati, magari da passare in GET alla pagina che deve mostrare l'articolo (supponendo che si chiami "shownews.php", ad esempio "shownews.php?id_notizia=1)

Poi dipende da come è strutturato il tuo database, passi dei riferimenti alla pagina che analizzandoli può effettuare una query al database recuperando il titolo della notizia e il corpo, poi da lì è tutta impaginazione dinamica del contenuto.
Definisci la struttura e dentro i tags ci metti il contenuto.

Per aprire una nuova pagina è semplice HTML.... usi l'attributo target del tag <a>. (che dice al browser "apri il link in una nuova pagina")

Ciao.
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2009, 17:02   #3
KuWa
Senior Member
 
Iscritto dal: Aug 2002
Città: Udine
Messaggi: 1922
manderò un pvt al moderatore pere il titolo... scusate ma non ci ho proprio pensato.
cmq il problema non è recuperare i titoli dal database... quello lo so fare benissimo.
1) come visualizzo le news nella index? il problema è che l'index è html e non posso semplicemente inserire il codice php li...
2)so come fare a linkare una pagina... ma il problema è linkarla e, in base alla "parola" del link, visualizzare la nuova pagina in maniera dinamica... in pratica come faccio a leggere il titolo del link.
Faccio un esempio: HWUPGRADE. in questo caso io dovrei leggere la parola HWUPGRADE per andarla a cercare nel database.
se hai un suggerimento per il titolo del topic te ne sarei grato perchè non mi va bene.
__________________
CCIE Routing&Switching 40590

Ultima modifica di KuWa : 28-08-2009 alle 17:06.
KuWa è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2009, 17:11   #4
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Quote:
Originariamente inviato da KuWa Guarda i messaggi
manderò un pvt al moderatore pere il titolo... scusate ma non ci ho proprio pensato.
cmq il problema non è recuperare i titoli dal database... quello lo so fare benissimo.
1) come visualizzo le news nella index? il problema è che l'index è html e non posso semplicemente inserire il codice php li...
2)so come fare a linkare una pagina... ma il problema è linkarla e, in base alla "parola" del link, visualizzare la nuova pagina in maniera dinamica... in pratica come faccio a leggere il titolo del link.
Faccio un esempio: HWUPGRADE. in questo caso io dovrei leggere la parola HWUPGRADE per andarla a cercare nel database.
se hai un suggerimento per il titolo del topic te ne sarei grato perchè non mi va bene.
Il metodo più semplice è usare un formato .php
lasciare il semplice html li com'è e dove vuoi le news inserisci il codice PHP tra i tag <?php e ?>... non vedo dov'è il problema.
Se devi fare tutto dinamicamente questa è la soluzione - la pagina deve essere dinamica -... altrimenti dovresti modificare te a mano tutto... e non è una soluzione pensabile se le news non le inserisci tu, o comunque è assurdo dover usare un simile escamotage potendo usufruire del PHP.

Riguardo l'aggiornamento automatico basta che fai una query in cui richiedi le ultime 5 news e poi fai un fetch del risultato stampando tutti i link e i titoli...
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2009, 19:32   #5
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Chiedo scusa per il ritardo ma son dovuto uscire.
Allora.
Quote:
Originariamente inviato da KuWa Guarda i messaggi
1) come visualizzo le news nella index? il problema è che l'index è html e non posso semplicemente inserire il codice php li...
Per farlo dinamicamente, hai bisogno di una pagina dinamica, nel tuo caso PHP è la risposta.
Volendo potresti crearti una classe Template che carica in una variabile l'intero contenuto del file html, e crearti una specie di parser, che all'occorrenza di una certa stringa sostituisca il contenuto dinamicamente. Es. nel file html tra i tag <h1>e</h1> ci metti un tag speciale come potrebbe essere <$ titolo $> e sostituisci poi il tag speciale con il titolo, e cosi via... Altrimenti fai come sopra... metti il PHP nell'HTML.
Quote:
2)so come fare a linkare una pagina... ma il problema è linkarla e, in base alla "parola" del link, visualizzare la nuova pagina in maniera dinamica... in pratica come faccio a leggere il titolo del link.
Nella pagina usando PHP leggi le ultime 5 news dal db, quindi prendi il titolo è lo usi come testo (visualizzato) del link, nel attributo href, ci linki una pagina che si occupa di recuperare le news, che accetta i parametri in GET.
Quindi, sapendo con che riferimento, estrai i contenuti dal database (ad esempio NEWS_ID), nella home crei il link "http://www.example.com/viewnews.php?id=ID_NEWS, dove id news il parametro di riferimento che ti fà riconoscere la news da estrarre (potrebbero essere più parametri). Cliccando sul link si apre la pagina viewnews.php?id=ID_NEWS, che legge il parametro get "id" e quindi inserisci l'id nella query per tirar fuori dal database quella news (cosi come l'hai recuperata con la query che ti ha permesso di creare il link dinamico). Ti ritorna quindi il risultato, effettui una fetch e recuperi tutti i dati che ti servono che verranno messi nel corpo della pagina e restituita... et voilà! Hai il tuo sistema di news.... il concetto è molto semplice.

Quello della classe che richiama i template è un possibile metodo per tenere la logica separata dalla presentazione - per altro, secondo me un MUST se si programma OOP -.

Spero di essere stato chiaro, nel caso dimmi cosa non ti torna.
Quote:
Faccio un esempio: HWUPGRADE. in questo caso io dovrei leggere la parola HWUPGRADE per andarla a cercare nel database.
se hai un suggerimento per il titolo del topic te ne sarei grato perchè non mi va bene.
Se devi estrarre le ultime 5 news non serve questa logica... non è un motore di ricerca... (per altro, semplicisticamente risolvibile con una buona query... a meno che tu non voglia competere con google).

Tu estrai le 5 news, ne recuperi i riferimenti (di solito nei database a ogni record si assegna un ID) e crei il link. Aperto il link la pagina legge l'ID passato tramite GET (accodato al nome del file) e recupera dal database il risultato corrispondente all'ID.

Ripeto, il metodo è molto semplice, il concetto pure.

Riguardo a un possibile nome... boh... mettici [php] Creare link dinamici per lettura news.

Insomma, sintetizza il contenuto del topic.

Ciao!
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2009, 01:44   #6
KuWa
Senior Member
 
Iscritto dal: Aug 2002
Città: Udine
Messaggi: 1922
quindi se cambio l'estensione dovrebbe funzionare se ho capito bene? quello che ho fatto è fare una query per le ultime 5 e prendere i risultati in un fetch no?
fin qui è semplice.
Dopo hai detto
Quote:
Quindi, sapendo con che riferimento, estrai i contenuti dal database (ad esempio NEWS_ID), nella home crei il link "http://www.example.com/viewnews.php?id=ID_NEWS
. qua ho capito cosa intendi ma come lo faccio? puoi farmi un esempio?
__________________
CCIE Routing&Switching 40590
KuWa è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2009, 10:52   #7
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Quote:
Originariamente inviato da KuWa Guarda i messaggi
quindi se cambio l'estensione dovrebbe funzionare se ho capito bene? quello che ho fatto è fare una query per le ultime 5 e prendere i risultati in un fetch no?
fin qui è semplice.
Dopo hai detto
. qua ho capito cosa intendi ma come lo faccio? puoi farmi un esempio?
Allora, vado direttamente con un esempio *incompleto* giusto per farti capire come procedere.

Partiamo supponendo di avere una tabella come segue:
Codice:
[ovviamente questo non è codice SQL]
(nome della tabella: news)
ID - Autoincrement
Title - Varchar(30)
Date - Int o una delle funzioni "date" di MySQL, che consiglio.
// .... body etc etc
Ho solo specificato il campo ID e Title perchè sono probabilmente i due campi (salvo diversa disposizione della tabella) che ti trovi ad usare per trovare una news.
Adesso effettui una query al database dicendogli esplicitamente "dammi solo i primi 5 record".
Ecco un'esempio
Codice:
SELECT ID, Title FROM news LIMIT 0, 5
Nota la clausola LIMIT che, in questo caso, dice al database dammi solo i primi cinque record.
Se li vuoi ordinare ti basta a questo punto addizionare alla query la clausola ORDER BY Date DESC (cosi saranno ordinati in modo decrescente- il primo articolo visualizzato è l'ultimo inserito).

A questo punto è tutto PHP. Supponiamo di aver già effettuato la connessione, i dovuti controlli e la query è stata definita in una variabile $myquery.
Codice PHP:
$result mysql_query$query$database ); 
Ora fai un fetch del risultato con una bella chiamata a mysql_fetch_array, lo metti come segue in un ciclo while, come da esempio:
Codice PHP:
while( $row mysql_fetch_array$result ) )
{
    echo 
"<a href=\"viewnews.php?id_news=$row[id]\">$row[titolo]<\a><br />";

Questo è un semplice ecempio, volendo puoi anche metterci la data accando al titolo o tra parentesi producendo un ipotetico risultato come segue:
Codice:
Titolo del post (news del: 00/00/0000)
- questo risultato ovviamente se metti tra parentesi la data , altrimenti solo il titolo del post)

A questo punto la questione link è risolta hai i link ordinati bell'e pronti.
Ovviamente il link deve funzionare, quindi crei il relativo file viewnews in cui eseguirai le query in base al parametro GET che ricevi.
I parametri GET li prendi cosi:
Codice PHP:
$news=$_GET['id_news'];
$myquery "SELECT * FROM news WHERE ID='$news'"
A questo punto, nuovamente effettui un fetch (essendo solo uno il record ovviamente non cicli nulla), ottieni quindi i vari valori e poi nel documento HTML piazzi le variabili come
Codice PHP:
<h2>$row[title]</h2><p>$row[body]</p
E cosi via...
Come vedi non è impossibile farlo, anzi è una delle cose più comuni con PHP (altrimenti non si giustificherebbe la dinamicità senza passaggio di parametri).

Spero di essere stato esauriente.
Per ulteriori referenze sulle funzioni o sulle query riferisciti direttamente ai siti ufficiali PHP e MySQL.


Buona giornata.

PS. Ci tengo a dire che solitamente i parametri vengono SEMPRE controllati per sicurezza, nel tuo caso un ID sbagliato inserito da un utente può dare un vecchio post se esistente, altrimenti un errore. Bisogna sempre controllare comunque gli input secondo il dato aspettato, perchè nel caso si effettuino query un po' più complesse o anche no, che comunque non sono controllate si lascia un buco verso attacchi di tipo SQL Injection.
Nel passato - ma anche oggigiorno - anche siti di una certa portata sono stati colpiti da questi attacchi, fai ben attenzione.
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov

Ultima modifica di Y3PP4 : 29-08-2009 alle 10:59.
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2009, 11:21   #8
KuWa
Senior Member
 
Iscritto dal: Aug 2002
Città: Udine
Messaggi: 1922
grazie mille per l'esempio... in realtà non sapevo che dando il link nella maniera che mi hai consigliato tu (cioè passando come parametro l'id), dopo potevo fare il get nell'altro file come si può fare con i form.
__________________
CCIE Routing&Switching 40590
KuWa è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2009, 13:14   #9
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Quote:
Originariamente inviato da KuWa Guarda i messaggi
grazie mille per l'esempio... in realtà non sapevo che dando il link nella maniera che mi hai consigliato tu (cioè passando come parametro l'id), dopo potevo fare il get nell'altro file come si può fare con i form.
Beh se dai un occhiata alla documentazione HTTP riguardante i metodi di interazione tra i tanti trovi GET e POST.
Leggi e capirai molte cose, come il limite di caratteri passabili per il metodo GET.

Sottolineo, comunque che puoi passare più variabili nella forma .php?var1=value1&var2=value2

E cosi via.
Ciao.
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Nuovi ribassi Amazfit su Amazon: Bip 6 a...
200 miliardi di dollari in un anno: la s...
OPPO Find X9s in arrivo con due varianti...
AirPods Pro 3 al minimo storico su Amazo...
MacBook entry level: si farà, ma ...
Un solo agente per tutto? OpenAI lancia ...
Il ridimensionamento di Realme è partito...
Google Pixel 10a si mostra in nuove imma...
Sicurezza domestica a meno di 21€ su Ama...
Poker di Bethesda al Nintendo Direct: In...
Anthropic alza l’asticella: Claude Opus ...
Lefant al contrattacco su Amazon: tre ro...
Sony continuerà a realizzare smar...
Gemini continua a crescere: 100 milioni ...
Il Washington Post di Jeff Bezos ha lice...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v