Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833

    Gestione pagina senza un DB?

    Ciao a tutti, volevo chiedervi secondo voi quale e' la soluzione ideale per poter gestire questa situazione.
    Pagina art.php legge il contenuto della cartella articoli (220 record o meglio sottocartelle)
    e in base al numero di pagina passato dal chiamante ne carica solo 10 (esempio pagina 2 parte dal articolo 11 fino al 20).
    Poi ad ogni prodotto associa il relativo numero e lo imposta nel link, in modo che se passo sopra il 15 prodotto nel link ci sara' il percorso per andare a recuperare i dati della cartella 15.
    Allora da come avrete capito, sono un cane a programmare e questa situazione parla da sola, leggo 220 articoli per emetterne a video solo 10. per non parlare del problema degli url ...?area=$area&art=$art ecc...
    Ora potete consigliarmi su come gestireste voi questa situazione (id in un db con associato elle immagini e un testo per esempio).

    Metto lo schifocodice che sto utilizzando adesso.
    Codice PHP:
    <?php 
    $pag
    =$_GET['pag'];
    $area=$_GET['area'];
    $contatore="0";


    if (
    $area!=""){
    $area="$area/";
    $dir "articoli/$area";  
    }
    if (
    $area==""){
    $dir "articoli";  
    }

    $dh  opendir($dir);
    while (
    false !== ($filename readdir($dh))) {

    if ((
    $filename==".") || ($filename=="..") ) continue;
    if ((
    $filename=="milano") || ($filename=="roma") ) continue;
    if ((
    $filename=="bergamo") || ($filename=="brescia") ) continue;
    if (
    $filename=="padova")  continue;
                if (
    substr($filename, -4, -3) =="."){
                }else{            
                
    $files[] = $filename;
                
    $contatore=$contatore 1;
                }
    }
    sort($files);


    if (
    $pag==""){ $pag=1; } 
    if (
    $contatore 10) { $numpag=2; } if ($contatore 20){ $numpag=3; } if ($contatore 30){ $numpag=4; } if ($contatore 40){ $numpag=5; } if ($contatore 50){ $numpag=6; }
    if (
    $contatore 60){ $numpag=7; } if ($contatore 70){ $numpag=8; } if ($contatore 80){ $numpag=9; } if ($contatore 90){ $numpag=10;} if ($contatore 100){ $numpag=11;}
    if (
    $contatore 110){ $numpag=12;} if ($contatore 120){ $numpag=13;} if ($contatore 130){ $numpag=14;}if ($contatore 140){ $numpag=15;}if ($contatore 150){ $numpag=16;}
    if (
    $contatore 160){ $numpag=17;}if ($contatore 170){ $numpag=18;}if ($contatore 180){ $numpag=19;}if ($contatore 190){ $numpag=20;}if ($contatore 200){ $numpag=21;}

    $crttable=0;
    $page2=$pag*10;
    $page=$page2-10;

    if (
    $pag == 1) { $page=0$page2=10; }
    if (
    $page2 $contatore) { $page2=$contatore; }

    $table=$page+4;
    $endtable=$page+9;

    for(
    $x=$page;$x<$page2;$x++){

    if (
    $crttable==0)  {  $crttable=$crttable+1?>
    <table cellSpacing="0" cellPadding="0" width="540" border="0">
    <tr>
    <?php ?>


    <td align="left" style="font-family: Verdana, Arial, Helvetica, sans-serif; color: #ffffff; font-size: 12px; vertical-align: top" width="90">
    <table style="BORDER-RIGHT: #785d10 0px solid; BORDER-TOP: #785d10 2px solid; BORDER-LEFT: #785d10 0px solid; BORDER-BOTTOM: #785d10 2px solid" height="153"  width="90">
    <tr><td style="width: 130px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #ffffff; font-size: 12px; vertical-align: top" align="middle" height="151">
    <table style="BORDER-RIGHT: #785d10 3px solid; BORDER-TOP: #785d10 2px solid; BORDER-LEFT: #785d10 3px solid; BORDER-BOTTOM: #785d10 2px solid" height="153"  width="90">
    <tr><td style="width: 90px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #ffffff; font-size: 12px; vertical-align: top" align="middle">
    <a href="detail.php?area=<?php echo($area);?>&art=<?php echo($x+101);?>&pag=<?php echo($pag);?>"  target="_parent" title="" style="color: #f9dd40; text-decoration: none">
    [img]articoli/<?php echo($area);?><?php echo($x+101);?>/image.jpg[/img]<br class="clear"/>
    <div class="bg-links" style="width:112px;height:16px;">
    <div class="links"><ul class="links inline"><li class="blog_usernames_blog first last">
    Informazioni</a>[/list]</div></div></td>
    </tr>
    </table>
    </td></tr></table></td>

    <?php if ( ($x==$table) || ($x==$endtable) ) { ?>  </tr><tr> <?php } } ?>
    </tr></table>




    <?php if ($numpag!= ""){ ?>

    <table cellSpacing="1" cellPadding="0" border="0">
    <tr><td class="browse_tool" style="HEIGHT: 20px" align="right">Vai a pagina: </td>

    <?php   ?>

    <?php for($a=1;$a<=$numpag;$a++){

    if (
    $pag == $a){ ?>
    <td class="browse_tool_curpage">[b]<?php echo($a);?>[/b] </td>
    <?php } if ($pag != $a){ ?>
    <td class="bt_pages">
    <a class="bt_pages" href="art.php?area=<?php echo($area);?>&pag=<?php echo($a);?>">
    [b]<?php echo($a);?>[/b]</a> 
    </td>
    <?php }  } ?>
    </table>
    Qualunque consiglio per ottimizzare o sostituire questa gestione e' molto ben accetto.
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Sapevo di avere scritto una porcata e il vostro silenzio lo conferma, pero' devo dire a mio discolpa che dal punto di vista di usabilita' di un utente, la funzione non era pessima, se non altro bastava aggiungere una cartella con dentro tre immagini e un testo e le pagine avrebbero riportato subito le novita' senza toccare neanche un po di codice.
    Va be sara' anche ora di studiare invece di fare accrocchi.

    Ciao a tutti.

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.