• User Attivo

    estrarre record differenti da database

    buongiorno a tutti...
    nuovo problema: vorrei visualizzare su una stassa pagina ma rivhiamando da menù record che appartengono ad una stessa tabella, ma in colonne differenti...

    mi spiego:
    sotto la voce es. storia correi che siano visualizzati sulla pagina la colonna storia e la colonna info, mentre dalla voce menu es. repubblica invece vorrei che vengano visualizzati i record della colonna repubblica e info2 però utilizzando la stessa pagina, senza doverne creare una per storia e una per repubblica visto che la tabella in cui si trovano è la stessa...
    ho pensato una cosa come:

    // creo le variabili
    $storia = <?php
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rs);
    echo "<table border='0' align='center' cellpadding='5' cellspacing='2'><tr>";
    echo "<td><img src='../../immagini/transparent.gif' width='10' height='20' align='top' /></td>";
    echo "<td align='bottom' valign='middle'><h1>" . $row['storia'] . "</h1></td>";
    echo ("</tr><tr>");
    echo "<td colspan='2'>         </td>";
    echo ("</tr><tr>");
    echo "<td><img src='../../immagini/transparent.gif' width='10' height='20' align='top' /></td>";
    echo "<td align='left' valign='middle'><h5>" . $row['info3'] . "</h5></td>";
    echo ("</tr></table>");
    }
    }else{
    echo "Nessun record trovato!";
    }
    mysql_close($db);
    ?>

    $republica = <?php
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rs);
    echo "<table border='0' align='center' cellpadding='5' cellspacing='2'><tr>";
    echo "<td><img src='../../immagini/transparent.gif' width='10' height='20' align='top' /></td>";
    echo "<td align='bottom' valign='middle'><h1>" . $row['storia'] . "</h1></td>";
    echo ("</tr><tr>");
    echo "<td colspan='2'>         </td>";
    echo ("</tr><tr>");
    echo "<td><img src='../../immagini/transparent.gif' width='10' height='20' align='top' /></td>";
    echo "<td align='left' valign='middle'><h5>" . $row['info3'] . "</h5></td>";
    echo ("</tr></table>");
    }
    }else{
    echo "Nessun record trovato!";
    }
    mysql_close($db);
    ?>

    //applico if...else

    <?php>
    If $storia

    $rs = mysql_query("SELECT storia, info FROM reg_ven LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rs);

    else

    $rs = mysql_query("SELECT repubblica, info2 FROM reg_ven LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rs);

    ?>

    non so se può andare e nel caso fosse sorge il problema nel conteggio dei record:
    <?php
    $x_pag = 1;// Righe per pagina
    $pageNum = 8; // Pagina iniziale di default
    // Recupero il numero di pagina corrente.
    if(isset($_GET['page']))
    {
    $pageNum = $_GET['page'];
    }
    // Uso mysql_num_rows per contare le righe presenti
    // all'interno della tabella

    //questo richiama per la variabile $storia, ma non so come fare per la seconda variabile, se aggiungere solo una seconda stinga o ricopiare il tutto
    $all_rows = mysql_num_rows(mysql_query("SELECT storia, info FROM reg_ven LIMIT 8, 5"));
    // Tramite una semplice operazione matematica definisco
    // il numero totale di pagine
    $all_pages = ceil($all_rows / $x_pag);
    $self = $_SERVER['PHP_SELF'];
    $nav = '';
    for($page = 1; $page <= $all_pages; $page++)
    {
    if ($page == $pageNum)
    {
    $nav .= " $page ";
    }
    else
    {
    $nav .= " <a href="$self?page=$page">$page</a> ";
    }
    }

    // Calcolo da quale record iniziare
    $first = ($pageNum - 1) * $x_pag;
    ?>

    e infine ultima cosa <a href:""> dek menu
    in genere metto

    <a href="storia.php?page=8">

    indicando la pagina e il record che deve essere visulizzato, ma credo che così solo non vada bene...

    insomma...è possibile fare una cosa del genere o mi complico solo la vita?
    Era una soluzione che avevo pensato per non creare un sacco di pagine..
    grazie per la pazienza...

    Stefana