Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    Visualizzazione Grafica di Tabella MySQL

    Ciao a tutti ho deciso di creare un database MySQL e una tabella Videoteca, con tutti i film che mi piacciono, e renderla visibile nella mia HOMEPAGE.
    Utilizzo WEBSITE5 per lo sviluppo e ll'interno dell'oggetto HTML ho messo il codice:

    Codice PHP:
    <?php

    require("config.php");


    $count_mess = @mysql_query("SELECT COUNT(NUM) FROM Videoteca");

    $res_count = @mysql_fetch_array($count_mess);

    if (
    $res_count[0] == FALSE) {
    echo 
    "Nessun Titolo trovato nel database";
    }
    else
    {
    $tot_pages ceil($res_count[0]/$msg_per_page);
    $curr_page = (!$_GET['page']) ? : (int)$_GET['page'];
    $primo = ($curr_page 1) * $msg_per_page;

    $query mysql_query("SELECT * FROM Videoteca ORDER BY TRANSLATEDTITLE LIMIT $primo,$msg_per_page");

    while(
    $result mysql_fetch_array($query)) {
    $result['TRANSLATEDTITLE'] = str_replace("\n""
    "
    $result['TRANSLATEDTITLE']);
    echo 
    " [b]Titolo:[/b] " $result['TRANSLATEDTITLE'] ;
    echo 
    " [b]Anno:[/b] " $result['YEAR'] ;
    echo 
    " <hr>\n";
    }

    for(
    $page 1$page <= $tot_pages$page++) {

    if(
    $page == $curr_page) {

    $pag .= "[b]$page[/b] ";
    }

    else

    {

    $pag .= "<a href=\"?page=$page\">$page</a> ";
    }

    }

    echo 
    $pag "
    \n"
    ;
    }

    @
    mysql_close();
    ?>
    Ecco il risultato:





    il risultato non è quello che vorrei.
    Come posso fare a fare una tabella con 4-5 colonne, incolonnata correttamente, con intestazioni per ogni pagina, la paginazione così non mi dispiace.
    Avete qualche consiglio per un neofita come me?

    Il layout sarebbe
    Numero Titolo Anno Genere Trama Trailer
    1 aaaa 2010 xxxxx poche righe un link
    2 bbbb 2010 xxxxx poche righe un link
    999 aaaa 2010 xxxxx poche righe un link

    scusate la mia ignoranza, ho cercato nel forum, ma non ho trovato quello che cercavo.

    Un saluto a tutti
    Davide

  2. #2
    Ti basta usare una tabella HTML da creare con php in base ai dati del DB...
    ciao

  3. #3
    Ciao eliminando temporaneamente quanto fatto parto da zero.

    Creo una tabella HTML:
    codice:
    <TABLE WIDTH="345" BORDER="3" BGCOLOR="white"
     CELLSPACING="2" CELLPADDING="5">
      <TR BGCOLOR="cornsilk">
        <TH BGCOLOR="yellow">
         Titolo</TH>
        <TH BGCOLOR="yellow">
         Anno</TH>
        <TH BGCOLOR="yellow">
         GenereR</TH>
      </TR>
      <TR>
        <TD BGCOLOR="aliceblue">007</TD>
        <TD>2010</TD>
        <TD BGCOLOR="aliceblue">Avventura</TD>
      </TR>
    </TABLE>
    questa mi genera una tabella con 3 colonne, una riga di intestazioni e una riga dettaglio.
    Come faccio a integrarla con le varibili database, del codice precedente?

  4. #4
    Ho un alternativa:

    Codice PHP:
    <?php
    define
    ("DB_HOST"'xxxxx'); 
    define("DB"'xxxxxxx');
    define("DB_USER"'xxxxxxxxxx');
    define("DB_PW"'xxxxxxxxxx');

    mysql_connect(DB_HOSTDB_USERDB_PW);
    mysql_select_db(DB);

    $query="select * from Videoteca order by NUM";
    $resultmysql_query($query);
    $numfields mysql_num_fields($result);

    echo 
    "<table>\n<tr>";
    for (
    $i=0$i $numfields$i++) 
      { 
       echo 
    '<th>'.mysql_field_name($result$i).'</th>'
       }
       echo 
    "</tr>\n";
       
       while (
    $row mysql_fetch_row($result)) 
      { 
       echo 
    '<tr><td>'.implode($row,'</td><td>')."</td></tr>\n"
      }
    echo 
    "</table>\n";
      
    ?>

    così stampa tutti i record della tabella, con impaginazione quasi decente!!
    ma perdo la paginazione, 20 record per pagina e numeri pagina.
    Poi devo gestire diversamente il campo trama e descrizione

  5. #5
    devi impostare tramite una condizione che vengano stampati solo degli specifici 20 record per ogni pagina... magari usando una querystring $_GET, che se impostato a 1 (pagina 1) dia i record da 1 a 20, se è 2 i record da 21 a 40, se è 3 da 41 a 60 e cosi via... non è complicato

    e cosa intendi con "gestire diversamente trama e descrizione"?
    ciao

  6. #6
    Uno dei problemi per me è mixare i 2 codici assieme, il primo che gestisce la paginazione correttamente, ma stampa male le colonne, il secondo che stampa bene ma è senza paginazione.

    Io ho fatto delle prove ma non esce nulla:

    Per quanto riguarda i campi Trama e Trailer metterò un link ad una pagina, altrimenti mi allarga tutto e per ora non mi piace.
    Ciao e Grazie ancora

  7. #7
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Mi sa che stai facendo un po' di caos

    Il tuo primo codice andava abbastanza bene.
    semplicemente nel ciclo while che c'è al centro (è lì che generi le varie righe) inserisci i <tr> e i <td> per generere la tabella come vuoi


    una nota sparsa
    str_replace("\n", "
    ", $result['TRANSLATEDTITLE'])
    può essere sostituito molto efficacemente con una funzione nativa: nl2br()

  8. #8
    Ciao non so come inserire queste info

    Codice PHP:
    while($result mysql_fetch_array($query)) {
    echo 
    " <tr><td>[b]Id:[/b] " $result['NUM'] </td>;
    echo 
    " <td>[b]Titolo:[/b] " $result['TRANSLATEDTITLE'] </td>;
    echo 
    " <td>[b]Anno:[/b] " $result['YEAR'] </td>;
    echo 
    " <td>[b]Genere:[/b] " $result['CATEGORY'] </td></tr>;
    echo 
    " <hr>\n"
    così ovviemente non va, mancano info.

    se fosse html e dati fissi metterei:

    codice:
    <table width="75%" border="1">
        <tr>
           <td width="25%">prima cella</td>
           <td width="75%">seconda cella</td>
       </tr>
    </table>
    ma essendo PHP non trovo modo di crearla correttamente

  9. #9
    la differenza tra riga originale:
    echo " Titolo: " . $result['TRANSLATEDTITLE'] ;

    e riga nuova

    echo " <tr><td>Titolo: " . $result['TRANSLATEDTITLE']. "<tr><td>";

    ho aggiunto i tr e td e la punteggiatura

  10. #10
    e dov'è il problema?

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.