- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [SCRIPT] News con utilizzo di un Database MySQL
-
Salve, chiedo aiuto per far in modo che il titolo della news risulti linkabile (alla stessa news comprensiva del campo descrizione). Qualcuno può aiutarmi?
Grazie in anticipo
-
Ciao frazoo e bentornato nel Forum GT, dato che è il tuo primo messaggio dal 2009.
Prima di poter linkare il titolo della news manca un passo fondamentale, tipo la pagina per visualizzare la singola news.
Potresti creare una pagina article.php che riceve via GET l'id della news e quindi la visualizzi e modificare la "costruzione" del titolo in news.php per dare il link con l'id:
[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]
-
Ciao e grazie dell'accoglienza
domanda ma lo script che hai inserito ha necessità di funzionare dietro interrogazione al db, vero?
E... come si fa?
forse era meglio che in questi anni il silenzio s'impadronisse di me!
-
Cosa serve per utilizzarlo:
- che sia caricato sul server il modulo PHP 5 >
- un database MySQL
Come puoi leggere nel primo post è fondamentale avere un Db.
Edit: se hai modo di conoscere utente e password del Db e l'indirizzo dello stesso, lo script ha un pannello di installazione.
-
Si, certo ho già installato e fatto funzionare tutto, compreso l'upload di immagini...i particolari che mi mancano sono appunto come fare il link dal titolo e la possibilità di autoridimensionare l'immagine dopo l'upload
-
Il link dal titolo lo puoi fare per come ti ho scritto un paio di post fa. Ti dovrai creare la pagina article.php però.
[URL=http://www.giorgiotave.it/forum/gt-world/101972-forum-gt-disponibile-alle-versioni-per-telefoni-cellulari.html]Postato via Mobile
-
Si, è esattamente ciò che ho fatto, ho crato la pagina article.php ed ho inserito il codice:
<span class="titlenews"><a href="article.php?id=<?php echo $row['id']; ?>" title="<?php echo $row['title']; ?>"><?php echo $row['title']; ?></a></span>Naturalmente il database è popolato...ma a video non vedo nulla, solo la pagina bianca
-
Ops forse solo ora comprendo....duro di comprendonio.
Dunque la pagina article.php, è naturalmente la pagina che comprenderà l'intero testo dell'articolo...mmm ecco allora a me manca lo script che andrà in news.php con il titolo linkabile
-
Allora quello che ti ho scritto prima è da sostituire nel file news.php.
Ovvero sostituire questo:
[php]<span class="titlenews"><?php echo $row['title']; ?></span>[/php]Con questo:
[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]Il file article.php invece è da creare da zero, dovrai prelevare l'id dall'url con $_GET['id'] e quindi eseguire la query prelevando solo quell'id.
A questo punto per visualizzare la news più o meno lo script è uguale a quello contenuto in news.php, con le opportune modifiche che ti ho appena scritto.
-
Qualcosa non mi torna...(sarà perché vedo la pagina bianca?)...
dunque ho 1 pagina che 'stampano a video' quello che con tanta maestria tu hai ideato, trattasi della pagina news.php, dove inserisco il codice:<?php
require_once ("news/config.php");
include ("news/news.php");
?>
per vedere le mie belle news!
e fin qui tutto ok. Ora vorrei fare che un titolo linkabile sia stampato nella pagina news.php e il contenuto si legga in article.php
Quindi in news inserisco:<span class="titlenews"><a href="article.php?id=<?php echo $row['id']; ?>" title="<?php echo $row['title']; ?>"><?php echo $row['title']; ?></a></span>
e in article?
Secondo grosso problema, in news, inserendo quel codice io la notizia linkabile non la vedoSicuro che non era meglio che dal 2009 non parlavo?
-
Hai sostituito per come ti ho detto?
Se si prova a verificare il sorgente pagina, magari mi sfugge qualcosa.
Per article.php prova a ricopiare il contenuto di news.php ed a sostituire:
[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:
[php]$id=$_GET['id'];
$sql="SELECT * FROM news WHERE id='$id'";[/php]
-
Quasi perfetto...
le cose che mi mancano sono:
nella pagina news deve essere a video solo il titolo link, senza descrizionenella pagina article invece solo la notizia linkata senza le altre...
dato che ora accade che nella pagina news ho le notizie con titolo a link e già comprensive di descrizione e nella pagina article sia le notizie come nella home che la notizia come dovrebbe essere in modo corretto (quindi la stessa notizia ripetuta)
-
ok risolto
grazie mille
-
Di nulla.
[URL=http://www.giorgiotave.it/forum/gt-world/101972-forum-gt-disponibile-alle-versioni-per-telefoni-cellulari.html]Postato via Mobile
-
Arieccomi!
Ciao, come stai? volevo chiederti un regalino per natale
Necessiterei di prelevare dal fantastico script tuo, le ultime 3 news e fin qui credo di esserci riuscito facendo così:$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";Quello che mi serve è ora invece di vedere le news una sotto l'altra, vederle affiancate, in 3 div accostati...
grazie molte
-
Ciao!!
Bene dai, mi godo il giorno di riposoPotresti provare ad inserire uno style="float:left" ai <div> aggiungendo dopo un:
[html]<div style="clear:both"></div>[/html]
Spero di averti fatto il regalo di Natale!!Buone feste!!!
-
Ciao,
ho provato a fare quanto mi hai detto, ma le vedo sempre in forma di lista e non affiancate....
-
Hai ragione, lo avevo impostato con un solo <div> contenitore unico.
Dovresti includere gli <span> della news dentro un <div> contenitore ed a questo dare lo style di cui sopra.
-
Questo lo script, credo ci sia un problema nell'inserimento del div e del ciclo, non so come ottimizzarlo per vederle orizzontali le news...e poi ho inserito il float:left; nel css
<link href="news_style.css" rel="stylesheet" type="text/css" />
[php]<? require_once ("config.php");
$time=time(); // preleviamo dal server il timestamp attuale
/** selezioniamo i dati dalla nostra tabella news prelevando solo i dati da pubblicare,- che abbiano una data di pubblicazione inferiore o uguale alla data odierna
- che abbiano la data di fine pubblicazione maggiore o uguale alla data odierna oppure uguale a 0 (che indica che non ha scadenza)
- ordiniamo alla fine per data di pubblicazione ASC o DESC a seconda della scelta da noi effettuata all'atto dell'installazione
-
ed infine estraiamo solo il numero di news che ci interessano.
*/
$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">
--><div id="contentnews" style="clear:both">
<?
// cicliamo adesso il risultato della nostra query per visualizzare le nostre news
while ($row=mysql_fetch_array($query))
{
?><span class="titlenews"><? echo $row['title']; ?></span><br /> <span class="datanews">Data: <? echo date("d/m/Y", $row['publish_data']); ?></span><br /> <!-- avendo salvato il valore data in timestamp utilizziamo la funzione date per visualizzare la data nel formato italiano --> <? echo html_entity_decode($row['text']); // la funzione html_entity_decode serve a ritrasformare le entità HTML create dall'editor in tag ?>
</div>
<?
}
?>
<!--
</div>
-->[/php]
-
Scusa ho letto dopo la tua risposta, ma mi sono perso....
Ho inserito sia float:left che clear:both dentro il css e il resto dello script come sopra, ma non cambia nulla.