• User

    Problema nel visualizzare Articoli

    Buongiorno a tutti , questa mattina mi è imbattuto un problema che non capisco come risolvere, secondo diverse guide che ho letto mi sembra di fare tutto correttamente, comunque veniamo al punto:

    In un database mysql ho creato questi campi:

    id - titolo - articolo

    Poi ho creato 3 articoli completi di titolo e articolo, ora volevo visualizzare questi articoli in una pagina, direte semplice , beh lo pensavo pure io.

    Ho inserito questo codice:

    [php]
    <?php
    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'mysql')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('viaggi'))
    die('Selezione database fallita!');

    // query per ottenere l'elenco dei files nel DB
    $query = "SELECT id , titolo , articolo FROM viaggiprova";

    $result = mysql_query($query)
    or die('Query non valida: ' . mysql_error());

    while ($row = mysql_fetch_array($result))

    echo "$row[titolo] <br><br>";
    echo "$row[articolo]<br><br>";

    ?>

    [/php]Però mi visualizza solo il titolo :():
    in questo modo :

    prova tecnica

    seconda prova

    terza prova
    Che sarebbero i nomi che gli ho dato agli articoli , l'articolo in se non lo visualizza , se rimuovo però [php]echo "$row[titolo] <br><br>"[/php] invece visualizza gli articoli !
    Non capisco.


  • ModSenior

    Ciao the_arch,

    [php]
    <?php
    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'mysql')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('viaggi'))
    die('Selezione database fallita!');

    // query per ottenere l'elenco dei files nel DB
    $query = "SELECT id , titolo , articolo FROM viaggiprova";

    $result = mysql_query($query)
    or die('Query non valida: ' . mysql_error());

    while ($row = mysql_fetch_array($result))
    {
    echo "$row[titolo] <br><br>";
    echo "$row[articolo]<br><br>";
    }
    ?>
    [/php]

    Senza parentesi viene ciclata solo l'istruzione echo "$row[titolo] <br><br>";


  • User

    Grazie per la risposta :Davevi perfettamente ragione , ora ho impostato un limite agli articoli

    [php]
    $query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT 0,5";
    [/php]in questo modo solo 5 articoli dal database recupera , visto che ho sempre un problema con gli articoli scrivo direttamente qui, per visualizzare le altre pagina con gli altri articoli , che istruzione dovrei dare ?? 🙂
    Grazie.


  • ModSenior

    Dovresti fare:

    [php]
    $page = ((isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 1);
    $start = ($page-1)*5;

    $query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT $start,5";
    [/php]


  • User

    Ti ringrazio 😉 , ma non riesco a capire quest'istruzione , come fa a creare le pagine ? Dovrei creare un altra pagina a parte ? E' un istruzione che va inserita dove ? Grazie per l'aiuto.


  • ModSenior

    Proprio sopra la query, devi crearti tu i link alle varie pagine, puoi fare articolitotali/5 e li arrotondi per eccesso per sapere quante pagine in totale hai, e ti crei i collegamenti a file.php?page=NUMEROPAGINA.

    Prego. 😉


  • User

    Ci ho provato ma niente :mmm:

    [php]
    <?php
    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'mysql')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('viaggi'))
    die('Selezione database fallita!');

    // query per ottenere l'elenco dei files nel DB
    $query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT 0,5";

    $result = mysql_query($query)
    or die('Query non valida: ' . mysql_error());

    while ($row = mysql_fetch_array($result)) {

    echo "{$row['titolo']} <br><br>";
    echo "{$row['articolo']}<br><br>";

    }

    $page = ((isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 1);
    $start = ($page-1)*5;

    echo " <a href=view.php?page=2>2</a> ";

    $query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT $start,5";
    ?>
    [/php]Gli ho messo il link solo per una pagina per fare un test però non mi funziona , la pagina dove sto lavorando ora si chiama view.php.

    Ma in ogni caso non riesco a capire il sistema , cioè mi sembra di capire che gli stai dicendo che in base al numero pagina deve fare una moltiplicazione :arrabbiato: scusami , ma come funziona?? :rollo: Sono scarso ancora abbì pietà.


  • ModSenior

    [php]
    <?php
    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'mysql')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('viaggi'))
    die('Selezione database fallita!');

    // query per ottenere l'elenco dei files nel DB
    $page = ((isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 1);
    $start = ($page-1)*5;
    $query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT $start,5";

    $result = mysql_query($query)
    or die('Query non valida: ' . mysql_error());

    while ($row = mysql_fetch_array($result)) {

    echo "{$row['titolo']} <br><br>";
    echo "{$row['articolo']}<br><br>";

    }

    echo " <a href=view.php?page=2>2</a> ";

    ?>
    [/php]


  • User

    Ok :fumato:corretto al volo , in questo modo però devo creare io le pagine , quindi dovrei avere un limite massimo di articoli , se invece volessi che i link alle pagine si generano in modo automatico in base agli articoli :mmm:
    thanks.


  • ModSenior

    [php]
    <?php
    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'mysql')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('viaggi'))
    die('Selezione database fallita!');

    // query per ottenere l'elenco dei files nel DB
    $page = ((isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 1);
    $start = ($page-1)*5;
    $query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT $start,5";

    $result = mysql_query($query) or die('Query non valida: ' . mysql_error());
    $total = mysql_num_rows($result);
    while ($row = mysql_fetch_array($result)) {

    echo "{$row['titolo']} <br><br>";
    echo "{$row['articolo']}<br><br>";

    }

    $total_page = ceil($total/5);
    for($i=1; $i<= $total_page; $i++)
    echo '<a href=view.php?page='.$i.'>'.$i.'</a>';

    ?>
    [/php]


  • User

    Perfetto , ti ringrazio. 😄