• User

    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 vedo

    Sicuro che non era meglio che dal 2009 non parlavo?


  • Consiglio Direttivo

    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]


  • User

    Quasi perfetto...
    le cose che mi mancano sono:
    nella pagina news deve essere a video solo il titolo link, senza descrizione

    nella 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)


  • User

    ok risolto 🙂
    grazie mille


  • Consiglio Direttivo

    Di nulla. 😉
    [URL=http://www.giorgiotave.it/forum/gt-world/101972-forum-gt-disponibile-alle-versioni-per-telefoni-cellulari.html]Postato via Mobile


  • User

    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


  • Consiglio Direttivo

    Ciao!!
    Bene dai, mi godo il giorno di riposo 😄

    Potresti 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!!! :ciauz:


  • User

    Ciao,
    ho provato a fare quanto mi hai detto, ma le vedo sempre in forma di lista e non affiancate....


  • Consiglio Direttivo

    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. 😉


  • User

    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]


  • User

    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.


  • User

    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!


  • Consiglio Direttivo

    [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!!! 😄


  • User

    🙂 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.


  • Consiglio Direttivo

    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. 😉

    :ciauz:


  • User

    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


  • Consiglio Direttivo

    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. 😉


  • User

    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


  • User Newbie

    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 :microsoft:


  • User Newbie

    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