Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di giobar
    Registrato dal
    Aug 2004
    Messaggi
    41

    Problema dettaglio news

    Il mio problema è il seguente:
    HO una pagina dove visualizzo l'elenco delle news(in maniera dinamica da una select) con le prime tre righe degli articoli. Vorrei che premendo su un bottone o anche un link, mi portasse sulla pagina di dettaglio della news.
    Al momento visualizzo una decina di record però se scelgo il primo ad esempio l'id che mi dà e dell'ultimo visualizzato.
    Ottengo quello scelto solo se stampo il record nella pagina, ma non voglio che si veda articolo tasto continua e un numero che non ha senso che si veda .

    Come posso fare ??

    Grazie in anticipo
    Gio75

  2. #2
    Scusa se usi un while sul recordset ottenuto dalla SELECT
    ti basta dettaglio per ogni riga.
    Eventualmente puoi postare il codice al riguardo?

    Ciao
    In a world without walls and fences - who needs windows and gates ?

  3. #3
    Utente di HTML.it L'avatar di giobar
    Registrato dal
    Aug 2004
    Messaggi
    41
    <?php
    // Tolgo due al giorno di oggi per prendere irecord degli ultimi due giorni
    $gruppo = " ";
    $grpre = "";
    $gg = date('d')-2;
    $dtconf= date('Y-m-').$gg;
    $query = "select utenti.gruppo as gruppo, utenti.name as nmaut, utenti.surname as suraut, articoli.data as data, articoli.titolo as titolo,
    articoli.sottotitolo as sottotitolo , articoli.articolo as articolo, articoli.id from articoli ,utenti
    where articoli.idute= utenti.id and articoli.data >=".$dtconf;
    $result = mysql_query($query) or die("Errore:".mysql_error());
    $temp=array();
    while($row=mysql_fetch_assoc($result))
    // I dati vengono messi nell'array associativo $temp[] senza [] da un'array singolo
    $temp[]=array($row['gruppo'],$row['nmaut'], $row['suraut'], $row['data'], $row['titolo'], $row['sottotitolo'],$row['articolo'],$row['id']);
    // Recupero numero di record letti
    $i = count($temp)-1;

    // Ciclo per leggere l'array il secondo for legge tutti gli elementi dell'arrary interne

    for($n = 0; $n <= $i; $n++){
    for ($j=0;$j<count($temp[$n]);$j++)

    {switch($j){
    case 0:
    $gruppo = $temp[$n][$j];
    if($gruppo <> $grpre){
    echo "<span class='gru'>".$gruppo."</span>
    ";
    $grpre = $gruppo;
    }
    break;
    case 1:
    echo "

    <table width='500'><tr></tr><tr><td>Autore:</td><td width='10' class='bold'>".$temp[$n][$j];
    break;
    case 2:
    echo "</td><td width='10' class='bold'>".$temp[$n][$j];
    break;
    case 3:
    echo "</td><td width='300'></td><td width='10'>del</td><td width='70' class='bold'>".$temp[$n][$j];
    break;
    case 4:
    echo "</td></tr></table>
    <table width='500'><tr><td class='tit'>".$temp[$n][$j];
    break;
    case 5:
    echo "</td></tr><tr><td class='sottit'>".$temp[$n][$j];
    break;
    case 6:
    echo "</td></tr><tr><td height='20'>".substr($temp[$n][$j],0,100)."...</td></tr></table>

    ";
    break;
    case 7:
    echo "</td></tr><tr><td height='20'><input name='id' type='hidden' value='".$temp[$n][$j]."'></td></tr><tr><td align='right'><input name='but' type='submit' value='".$temp[$n][$j]."' >
    </td></tr></table>

    ";
    break;
    }
    }}
    ?>

    Questo è il codice che mi da l'elenco delle news.
    Io volevo che scegliendone una mi portasse dietro i valori nella pagina di dettaglio (come per i form), diciamo che funziona in parte perchè mi porta i dati dell'ultima notizia visualizzata invece di quella che scelgo io.
    Scusate ma sono alle prime armi con php
    Gio75

  4. #4
    Non sarebbe piu' semplice se ti porti nella pagina di dettaglio solo l'id del record e con quello esegui la query che ti estrae tutti i dati dell'articolo?
    Inoltre mi permetto di suggerirti di cambire la query in questo modo
    $query = "select utenti.gruppo as gruppo, utenti.name as nmaut, utenti.surname as suraut, articoli.data as data, articoli.titolo as titolo,
    articoli.sottotitolo as sottotitolo , articoli.articolo as articolo, articoli.id from articoli ,utenti
    where articoli.idute= utenti.id and articoli.data >= DATE_SUB(".date("Y-m-d").", INTERVAL 2 DAY)";

    per gestire meglio il vincolo dei due giorni precedenti.

    Per il dettaglio ti suggerisco di usare un link così
    case 7:
    echo "</td></tr><tr><td height='20'>
    <a href=\"dettaglio.php?id=".$temp[$n][$j]."\">dettaglio</a>
    </td>
    </tr>
    </table>


    ";

    Ciao
    In a world without walls and fences - who needs windows and gates ?

  5. #5
    Utente di HTML.it L'avatar di giobar
    Registrato dal
    Aug 2004
    Messaggi
    41
    Grazie mille anche per il suggerimanto sulla data

    Ciao
    Gio75

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.