Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555

    Problema impaginazione dei Div con uso di "echo"

    Allora ragazzi,
    il problema è il seguente. Stò realizzando una pagina che visualizzi gli articoli contenuti nel database. I campi evidenziati saranno alcuni: il titolo, il sottotitolo e l'immagine e la data di pubblicazione. Dati comunque estraibili con una query. Ora, stò creando una pagina che mostri soltanto 6 articoli, utilizzando quindi l'impaginazione dei dati. Il risultato che vorrei ottenere è questo (posto ora il codice html, dopo il php):

    Codice PHP:
        <table>
        <tr>
        <td>
        <div id='contenutocentrale'>
                            <div class='terzoarticolo'>
                            
                     <div class='textimage'> 
                        <div class='img'> [url='page.php?id=<?php $result multi_array_search(']'>[img]show.php?id=<?php $result multi_array_search('2'$array); echo $array[$result[0]]['art_id']; ?>[/img][/url] 
                        </div>
                      </div>
                    
               <p class='categterza'>[url='#']Recenti[/url]</p>
                      <div class='testoterzoartic'> 
                        <p class='titoloterzoartic'>[url='#']Prova di pubblicazione news sul sito internett&agrave;[/url]</p>
                        <p class='antetestoterzoartic'>Prova su prova per vedere se il funzionamento è corretto oppure se vi sono
                        delle difficoltà ... </p>
                        <p class='pubblicatoil'>Pubblicato il 27-09-2006 alle ore 09:01</p>
                      </div>

                        <div style='clear: left'></div>

                    </div>
            </div>
            </td>
                <td>
        <div id='contenutocentrale'>
                            <div class='terzoarticolo'>
                            
                     <div class='textimage'> 
                        <div class='img'> [url='page.php?id=<?php $result multi_array_search(']'>[img]show.php?id=<?php $result multi_array_search('2'$array); echo $array[$result[0]]['art_id']; ?>[/img][/url] 
                        </div>
                      </div>
                    
               <p class='categterza'>[url='#']Recenti[/url]</p>
                      <div class='testoterzoartic'> 
                        <p class='titoloterzoartic'>[url='#']Prova di pubblicazione news sul sito internett&agrave;[/url]</p>
                        <p class='antetestoterzoartic'>Prova su prova per vedere se il funzionamento è corretto oppure se vi sono
                        delle difficoltà ... </p>
                        <p class='pubblicatoil'>Pubblicato il 27-09-2006 alle ore 09:01</p>
                      </div>

                        <div style='clear: left'></div>

                    </div>
            </div>
            </td>

    </tr>
    </table>

    L'impaginazione che stò utilizzando è questa:

    Codice PHP:
            <?php 
    include("config.php");
    mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("errore nella connessione"); 
    mysql_select_db("$db_name") or die ("errore nella selezione del database"); 
    // esecuzione prima query
    $count mysql_query("SELECT COUNT(art_id) FROM articoli");
    $res_count mysql_fetch_row($count);

    // numero totale di records
    $tot_records $res_count[0];

    // risultati per pagina(secondo parametro di LIMIT)
    $per_page 5;

    // numero totale di pagine
    $tot_pages ceil($tot_records $per_page);

    // pagina corrente
    $current_page = !isset($_GET['page']) ? : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page 1) * $per_page;

    echo 
    "<div align=\"center\">\n<table>\n";

    // esecuzione seconda query con LIMIT
    $query_limit mysql_query("SELECT * FROM articoli Order by art_id Desc LIMIT $primo$per_page"); 
    $str '<table border: solid 2px #000000>'
    $str.= '<thead>'
    $str.= '<tr>'
    $str.= '<th>id articolo</th>'
    $str.= '<th>titolo</th>'
    $str.= '<th>sottotitolo</th>'
    $str.= '<th>ultima modifica</th>'
    $str.= '<th>operazioni</th>'
    $str.= '</tr>'
    $str.= '</thead>'
    $str.= '<tbody>'

    while(
    $results mysql_fetch_array($query_limit)) {
            
    $str.='<tr>'
            
    $str.='<td rowspan="3">'.$results['art_id'].'</td>'
            
    $str.='<td rowspan="3">'.$results['titolo'].'</td>'
            
    $str.='<td rowspan="3">'.$results['sottotitolo'].'</td>'
            
    $str.='<td rowspan="3">'.$results['data'].'</td>';         
            
    $str.="<td><a href=\"page.php?id=$results[art_id]\">mostra</a></td>"
            
    $str.='</tr>'
            
    $str.='<tr>'
            
    $str.="<td><a href=\"modifica.php?id=$results[art_id]\">modifica</a></td>"
            
    $str.='</tr>'
            
    $str.='<tr>'
            
    $str.="<td><a href=\"elimina.php?id=$results[art_id]\">cancella</a></td>"
            
    $str.='</tr>'
             

    $str.= '</tbody>'
    $str.= '</table>'
    echo 
    $str;

    // includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
    include("paginazione_2.php");
    //include("paginazione_1.php");

    // in questa cella inseriamo la paginazione
    echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";

    echo 
    " </tr>\n</table>\n</div>";
    mysql_close(); 
    ?>
    Ora, il risultato lo vorrei ottenere inserendo tabella html e vari DIV laddove vi sono i "$str.=...."
    Ho provato ma ho una serie di problemi. Voi come lo impostereste?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Tente conto che se nel codice in html postato ho inserito del testo, al posto di quel testo dovranno andarci le variabili estratte con la query (quindi titolo, sottotitolo, ecc.)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Troppo complicato?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Poniamola in altro modo.
    Allora, ho ottenuto un risultato con il seguente script d'impaginazione:

    Codice PHP:
          <table border='0' cellpadding='0' cellspacing='0' width='100%'> 
    <tr>
    <td>

    <?php 
    include("config.php");
    mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("errore nella connessione"); 
    mysql_select_db("$db_name") or die ("errore nella selezione del database"); 

    // esecuzione prima query
    $count mysql_query("SELECT COUNT(art_id) FROM articoli");
    $res_count mysql_fetch_row($count);

    // numero totale di records
    $tot_records $res_count[0];

    // risultati per pagina(secondo parametro di LIMIT)
    $per_page 6;

    // numero totale di pagine
    $tot_pages ceil($tot_records $per_page);

    // pagina corrente
    $current_page = !isset($_GET['page']) ? : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page 1) * $per_page;
    echo 
    "<div align=\"center\">\n<table>\n";


    // esecuzione seconda query con LIMIT
    $query_limit mysql_query("SELECT * FROM articoli Order by art_id Desc LIMIT $primo$per_page"); 
    while(
    $results mysql_fetch_array($query_limit)) {
    echo 
    '<div class=\'textimage\'> ';
    echo 
    '<div class=\'image\'>'
    echo 
    '[url="page.php?id='.$results['art_id'].'"]<img src=\"show.php?id='.$results['art_id'].'\" alt=\'immagine anteprima articolo 14076\' width=\'100\' height=\'91\' title=\'immagine articolo 14076\' />[/url]';
    echo 
    '</div>';
    echo 
    '</div>';
    echo 
    '<div class=\'testoterzoartic\'>'
    echo 
    '<p class=\'titoloterzoartic\'>';
    echo 
    '[url="page.php?id='.$results['art_id'].'"]'.$results['titolo'].'[/url]</p>';
    echo 
    '<p class=\'antetestoterzoartic\'>'.$results['sottotitolo'].'</p>';
    echo 
    '<p class=\'pubblicatoil\'>'.$results['data'].'</p>';
    echo 
    '</div>';

    }
     
    // includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
    include("paginazione_2.php");
    //include("paginazione_1.php");

    // in questa cella inseriamo la paginazione

    echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";

    echo 
    " </tr>\n</table>\n</div>";

    mysql_close(); 
    ?>                  

    </td>
    </tr> 
    </table>

    Allora, con questo script ottengo una pagina con 5 articoli (perchè il valore per pagina è settato su 5) uno sotto l'altro (o sopra l'altro, come preferite). Ho però due problemi. Il primo è relativo all'immagine relativa a quel determinato articolo (identificato appunto da un id) che non viene visualizzata:

    Codice PHP:
    echo '[url="page.php?id='.$results['art_id'].'"]<img src=\"show.php?id='.$results['art_id'].'\" alt=\'immagine anteprima articolo 14076\' width=\'100\' height=\'91\' title=\'immagine articolo 14076\' />[/url]'
    In pratica ogni articolo ha una sua immagine associata che viene memorizzata nel file "show.php". Per poterla mostrare devo richiamare tale file. Solo che la riga postata non funziona. Non mi dà errore ma non visualizza l'immagine.

    Il secondo quesito è questo. Come posso evitare che gli articoli vengano messi uno di seguito all'altro? Vorrei che fossero affiancati a 2 a 2. Come posso ottenere questo risultato?

  5. #5
    Invece di questa riga:

    echo '<img src=\"show.php?id='.$results['art_id'].'\" alt='immagine anteprima articolo 14076' width='100' height='91' title='immagine articolo 14076' />';

    prova a scrivere così:

    echo '<img src=\"show.php?id=$results[art_id]\" alt='immagine anteprima articolo 14076' width='100' height='91' title='immagine articolo 14076' />';

    Per l'impaginazione io toglierei le tabelle visto che hai già settato i div e al div che contiene l'articolo nel css lo flotti a sinistra cosi' e fai in modo che abbia una larghezza tale da potercene stare due affiancati nel div contenitore.
    Spero di essere stato chiaro....
    ::Nano::
    http://www.nanoscript.net

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Oddio,
    non è che abbia capito tanto per quel che riguarda i DIV. Potresti farmi un esempio col codice che ho postato prima?

  7. #7
    Correzione sorry:

    echo '[img]show.php?id=$results[art_id][/img]';
    ::Nano::
    http://www.nanoscript.net

  8. #8
    ti faccio un esempio:

    <div id="contenitore" style="width:750px">
    <div id="primo articolo" style="float:left; width:300px; height:200px">

    qui dentro ci metti il testo l'immagine e tutto quello che recuperi dal db

    </div>
    </div>
    In questo modo avrai due articoli affiancati e il terzo andrà a capo in automatico.
    ::Nano::
    http://www.nanoscript.net

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Niente da fare. Ho corretto il codice ma nulla. Ad onor del vero avevo già provato prima questa soluzione ma nulla. Poi allora ho aggiunto le variabili con i punti ai lati. Non funziona con entrambe le varianti.

  10. #10
    Prova così:

    echo "<a href=\"page.php?id=$results[art_id]\"><img src=\"show.php?id=$results[art_id]\" alt=\"immagine anteprima articolo 14076\" width=\"100\" height=\"91\" title=\"immagine articolo 14076\" /></a>";
    ::Nano::
    http://www.nanoscript.net

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.