• User

    CODICE PAGINA "CERCA.PHP" (ricerca per marca) Modificato da me

    <br>
    <div id="white90">
    <p class="red"><strong>Affina la Ricerca...</strong></p>
    <p class="blu"><strong>Marca:</strong> <?php print $marca2; ?></p>
    <form action="cerca2.php" name="ric" method="post">
    <p class="blu">
    Seleziona il modello che ti interessa:&nbsp;&nbsp;
    <select name="modello" class="textbox">
    
    <?php
    // Determino la variabile Marca
    $marca2 = $_POST["marcax"];
    if ($marca2 ==""){ $marca2=$_GET["marca"]; }
    $marca2 = str_replace ("'","",$marca2);
    //preparo la query al database per selezionare gli annunci che mi interessano
    $select="DISTINCT MODELLO";
    $from="annunci";
    $where="MARCA ='".$marca2."' and ADI = 0";
    $orderby ="MODELLO";
    include('../functions/selectorder.php');
    while ($rec = mysql_fetch_assoc ($queryselectorder)){
    $modello = $rec["MODELLO"];
    ?>
    <option><?php print $modello; ?></option>
    <?php } ?>
    
    <?php
    //faccio il calcolo di quanti annunci ricavo in base ai parametri della query
    $select2="COUNT(*) as Quante";
    $from2="annunci";
    //la var. where2 è uguale a where, cioè "tutti gli annunci di quella marca che hanno 
    //il valore ADI = 0
    $where2=$where;
    include('../functions/select2.php');
    $rec2 = mysql_fetch_assoc ($queryselect2);
    $output = $rec2["Quante"];
    
    //Ricavo il numero della pagina in cui mi trovo
    $pagina = ($_GET["pag"] != "") ? (int)$_GET["pag"] : 1;
    // Specifico quanti record per pagina
    $recpagina = 10;
    // Specifico da che record inizio a prelevare i dati
    $inizio = ($pagina-1)*$recpagina;
    // Conto le pagine totali 
    $totalepagine=ceil($output/$recpagina);
    ?>
    
    </select>
    <input name="marca2" type="hidden" value="<?php print $marca2; ?>">
    <input name="c" type="submit" value="Cerca" class="textbox"/>
    </form>
    </p>
    </div>
    
    <?php if ($output > $recpagina){ ?>
        <div class="centro">
        <p class="blu">
        Pagina Attuale: <?php print $pagina; ?><br><br>Pagine Totali: <?php print $totalepagine; ?><br><br>
        </p>
        <?php 
        $pagname="cerca.php?";
        include('../include/paginazione.php'); ?>
        </div>
        <?php } ?>
    <?php
    $select="ID, MARCA, MODELLO, STATO, ANNO, MESE, PREZZO, TIPO";
    $from="annunci";
    $where=$where2;
    $orderby ="TIPO, ID desc";
    $limit="$inizio, $recpagina";
    include('../functions/selectlimit.php');
    while ($rec = mysql_fetch_assoc ($queryselectlimit)){
    $idann = $rec["ID"];
    $marca = $rec["MARCA"];
    $modello = $rec["MODELLO"];
    $anno = $rec["ANNO"];
    $mese = $rec["MESE"];
    $stato = $rec["STATO"];
    $prezzo = $rec["PREZZO"];
    $tipo = $rec["TIPO"];
    ?>
    <div id="annunci">
        <div id="blank60">
        <p class="blu">
        <br />
        &nbsp;&nbsp;<?php print $marca; ?><br /><br />
        &nbsp;&nbsp;<?php print $modello; ?><br /><br />
        &nbsp;&nbsp;<?php print $anno; ?><br /><br />
        &nbsp;&nbsp;<?php print $mese; ?><br /><br />
        &nbsp;&nbsp;<?php print $stato; ?><br /><br />
        &nbsp;&nbsp;<?php print $prezzo; ?><br /><br />
        &nbsp;&nbsp;>> <strong><?php print $tipo; ?></strong><br /><br />
        </p>
        </div>
    <?php 
    // Seleziono le foto pubblicate dall'utente
            $selectl="FOTO";
            $froml="fotoann";
            $wherel="IDANN=".$idann;
            $orderbyl="rand()";
            $limitl="1";
            include('../functions/selectlimit2.php');
            $fpubb = mysql_fetch_assoc ($queryselectlimitl);
            $foto = $fpubb ["FOTO"];
            ?>
        <div id="blank40">
            <?php
            if ($foto !=""){
            ?>
        <br /><br />
        <div class="centro">
        <a href="../annunci/singolo.php?id=<?php print $idann; ?>"><img src="../include/tnp.php?image=../fotoann/<?php print $foto; ?>&tnsize=150" alt="Clicca qui per esaminare l'annuncio completo..." class="img"></a>
        </div>
        <?php } else{ ?>
        <br />
        &nbsp;&nbsp;<a href="../annunci/singolo.php?id=<?php print $idann; ?>"><img src="../skin/senzafoto.jpg" class="img"/></a>
        <?php } ?>
        
        
        </div>
    </div>
    <?php if ($titolouser =="Admin"){?>
        <div class="centro">
        <form action="admdel.php" method="post" name="d">
        <input name="id" type="hidden" value="<?php print $idann; ?>">
        <input name="canc" type="submit" value="Cancella Annuncio" class="textbox">
        </form>
        </div>
        <?php } ?>
    <?php } ?>
    

  • User

    FILE "CERCA.PHP" ORIGINALE

    
    <?php
    
    $marca2 = $_POST["marcax"];
    if ($marca2 ==""){ $marca2=$_GET["marca"]; }
    $marca2 = str_replace ("'","",$marca2);
    
    ?>
    <html>
    <head>
    <title><?php print $ws; ?> - Ricerca Annuncio</title>
    
    <?php
    
    // Includo i meta tags
    include('../include/meta.php');
    // Includo il css
    include('../include/css.php');
    
    ?>
    </head>
    <body>
    <div id="box">
    <div id="top">
    <?php
    // Includo la testa
    include('../include/top.php');
    ?>
    </div>
    <div class="clearer"></div>
    <div id="contenuto">
    <?php
    // Login/Benvenuto
    include('../include/log.php');
    ?><br>
    <img src="../skin/ricerca.jpg">
    <div id="white90">
    <p class="red"><strong>Affina la Ricerca...</strong></p>
    <p class="blu"><strong>Marca:</strong> <?php print $marca2; ?></p>
    <form action="cerca2.php" name="ric" method="post">
    <p class="blu">
    Seleziona il modello che ti interessa:&nbsp;&nbsp;
    <select name="modello" class="textbox">
    <?php
    $select="DISTINCT MODELLO";
    $from="annunci";
    $where="MARCA ='".$marca2."' and ADI = 0";
    $orderby ="MODELLO";
    include('../functions/selectorder.php');
    while ($rec = mysql_fetch_assoc ($queryselectorder)){
    $modello = $rec["MODELLO"];
    ?>
    <option><?php print $modello; ?></option>
    <?php } ?>
    </select>
    <input name="marca2" type="hidden" value="<?php print $marca2; ?>">
    <input name="c" type="submit" value="Cerca" class="textbox"/>
    </form>
    </p>
    </div>
    <div id="white90">
    <p class="red"><strong>Risultati Parziali...</strong><br>
    per visualizzare l'annuncio completo clicca sulla freccia corrispondente...
    </p>
    
    <?php
    
    $select="ID, MODELLO, STATO, PREZZO, TIPO";
    $from="annunci";
    $where="MARCA ='".$marca2."' and ADI = 0";
    $orderby ="TIPO, MARCA, MODELLO, PREZZO";
    include('../functions/selectorder.php');
    while ($rec = mysql_fetch_assoc ($queryselectorder)){
    $idann = $rec["ID"];
    $modello = $rec["MODELLO"];
    $stato = $rec["STATO"];
    $prezzo = $rec["PREZZO"];
    $tipo = $rec["TIPO"];
    ?>
    <?php 
    // Seleziono le foto pubblicate dall'utente
            $selectl="FOTO";
            $froml="fotoann";
            $wherel="IDANN=".$idann;
            $orderbyl="rand()";
            $limitl="1";
            include('../functions/selectlimit2.php');
            $fpubb = mysql_fetch_assoc ($queryselectlimitl);
            $foto = $fpubb ["FOTO"];
            ?>
        <div id="blank20">
            <?php
            if ($foto !=""){
            ?><br>
        <div id="centro"><a href="../annunci/singolo.php?id=<?php print $idann; ?>"><img src="../include/tnp.php?image=../fotoann/<?php print $foto; ?>&tnsize=50" alt="Clicca qui per esaminare l'annuncio completo..." class="img"></a>
        </div>
        <?php } else{ ?>
        <br />
        <div id ="centro"><a href="../annunci/singolo.php?id=<?php print $idann; ?>"><img src="../skin/freccia.jpg" class="img" alt="Clicca qui per esaminare l'annuncio completo..." /></a></div>
        <?php } ?>
        </div>
        <?php if ($tipo =="Concessionaria"){ ?>
    <div id="blank80c">
    <?php } else { ?>
    <div id="blank80">
    <?php } ?>
    <p class="blu">
    <strong>Auto: </strong><?php print $marca2." ".$modello; ?><br>
    <strong>Stato:</strong> <?php print $stato; ?><br>
    <strong>Prezzo:</strong> <?php print $prezzo; ?>, 00 ?<br>
    <strong>Venditore:</strong> <?php print $tipo; ?><br><br>
    </p>
    </div>
    <img src="../skin/separatore.jpg"><br><br>
    <?php } ?>
    
    </div>
    </div>
    <div id="menu">
    <?php
    // Includo il menu
    include('../include/menu.php');
    ?>
    

  • Super User

    puoi postare il file paginazione.php?


  • User

    Eccolo... ma il problema non credo sia lì

    <p class="red">
                <?php
                          // Caso pagina 1
                          if ($pagina == 1){
                                for ($i = 1; $i <= 5; $i++){
                                if ($i == $pagina){
                        ?>
    
                        <?php
                        }
                        else
                        {
                        ?>
                        
                        <?php
                        }
                                if ($i <= $totalepagine){
                         ?>
                         <a href="<?php print $pagname; ?>pag=<?php print $i; ?>"><strong><?php print $i; ?></strong></a>
                         <?php        
                                }
                                }
                        ?>
                        <?php
                          $next = $pagina + 5;
                          if ($next <= $totalepagine){
                          ?>
                          <a href="<?php print $pagname; ?>pag=<?php print $pagina + 5; ?>"><strong>...</strong></a>
                         <?php
                         }
                         ?>
                        <?php
                            }
                         // Caso pagina 2
                          elseif ($pagina == 2){
                                for ($i = 1; $i <= 5; $i++){
                                if ($i == $pagina){
                        ?>
                
                        <?php
                        }
                        else
                        {
                        ?>
    
                        <?php
                        }
                                if ($i <= $totalepagine){
                         ?>
                         <a href="<?php print $pagname; ?>pag=<?php print $i; ?>"><strong><?php print $i; ?></strong></a>
                         
        
                         <?php        
                                }
                                }
                                ?>
                            <?php
                          $next = $pagina + 4;
                          if ($next <= $totalepagine){
                          ?>
                        <a href="<?php print $pagname; ?>pag=<?php print $pagina + 4; ?>"><strong>...</strong></a>
                         <?php
                         }
                         ?>    
                                <?php
                            }
                          // Caso pagina >= 3
                          else{
                          ?>
                        
                          <?php
                          if ($pagina >= 4){
                          ?>
                          <a href="<?php print $pagname; ?>pag=<?php print $pagina - 3; ?>"><strong>...</strong></a>
                         <?php
                         }
                         ?>
                          <?php
                          for ($i = 2; $i > 0; $i-- ){
                          if ($pagina - $i > 0){
                          
                          ?>
                         <a href="<?php print $pagname; ?>pag=<?php print $pagina - $i; ?>"><strong><?php print $pagina - $i; ?></strong></a>
                          <?php
                          }
                          }
                          
                          ?>
                        <a href="<?php print $pagname; ?>pag=<?php print $pagina; ?>"><strong><?php print $pagina; ?></strong></a>
                          <?php
                          for ($i = 1; $i < 3; $i++ ){
                          if ($pagina + $i <= $totalepagine){
                          ?>
                          <a href="<?php print $pagname; ?>pag=<?php print $pagina + $i; ?>"><strong><?php print $pagina + $i; ?></strong></a>
                          <?php
                          }}
                          ?>
                          <?php
                          $next = $pagina + 3;
                          if ($next <= $totalepagine){
                          ?>
                          <a href="<?php print $pagname; ?>pag=<?php print $pagina + 3; ?>"><strong>...</strong></a>
                         <?php
                         }
                         ?>
                          
                          <?php
                          }
                          ?>
                          </p>
    

    Grazie mille della collaborazione! :yuppi:


  • User

    Eccolo... ma il problema non credo sia lì

    <p class="red">
                <?php
                          // Caso pagina 1
                          if ($pagina == 1){
                                for ($i = 1; $i <= 5; $i++){
                                if ($i == $pagina){
                        ?>
    
                        <?php
                        }
                        else
                        {
                        ?>
                        
                        <?php
                        }
                                if ($i <= $totalepagine){
                         ?>
                         <a href="<?php print $pagname; ?>pag=<?php print $i; ?>"><strong><?php print $i; ?></strong></a>
                         <?php        
                                }
                                }
                        ?>
                        <?php
                          $next = $pagina + 5;
                          if ($next <= $totalepagine){
                          ?>
                          <a href="<?php print $pagname; ?>pag=<?php print $pagina + 5; ?>"><strong>...</strong></a>
                         <?php
                         }
                         ?>
                        <?php
                            }
                         // Caso pagina 2
                          elseif ($pagina == 2){
                                for ($i = 1; $i <= 5; $i++){
                                if ($i == $pagina){
                        ?>
                
                        <?php
                        }
                        else
                        {
                        ?>
    
                        <?php
                        }
                                if ($i <= $totalepagine){
                         ?>
                         <a href="<?php print $pagname; ?>pag=<?php print $i; ?>"><strong><?php print $i; ?></strong></a>
                         
        
                         <?php        
                                }
                                }
                                ?>
                            <?php
                          $next = $pagina + 4;
                          if ($next <= $totalepagine){
                          ?>
                        <a href="<?php print $pagname; ?>pag=<?php print $pagina + 4; ?>"><strong>...</strong></a>
                         <?php
                         }
                         ?>    
                                <?php
                            }
                          // Caso pagina >= 3
                          else{
                          ?>
                        
                          <?php
                          if ($pagina >= 4){
                          ?>
                          <a href="<?php print $pagname; ?>pag=<?php print $pagina - 3; ?>"><strong>...</strong></a>
                         <?php
                         }
                         ?>
                          <?php
                          for ($i = 2; $i > 0; $i-- ){
                          if ($pagina - $i > 0){
                          
                          ?>
                         <a href="<?php print $pagname; ?>pag=<?php print $pagina - $i; ?>"><strong><?php print $pagina - $i; ?></strong></a>
                          <?php
                          }
                          }
                          
                          ?>
                        <a href="<?php print $pagname; ?>pag=<?php print $pagina; ?>"><strong><?php print $pagina; ?></strong></a>
                          <?php
                          for ($i = 1; $i < 3; $i++ ){
                          if ($pagina + $i <= $totalepagine){
                          ?>
                          <a href="<?php print $pagname; ?>pag=<?php print $pagina + $i; ?>"><strong><?php print $pagina + $i; ?></strong></a>
                          <?php
                          }}
                          ?>
                          <?php
                          $next = $pagina + 3;
                          if ($next <= $totalepagine){
                          ?>
                          <a href="<?php print $pagname; ?>pag=<?php print $pagina + 3; ?>"><strong>...</strong></a>
                         <?php
                         }
                         ?>
                          
                          <?php
                          }
                          ?>
                          </p>
    

    Grazie mille della collaborazione! :yuppi:


  • Super User

    Scusami, ma il problema sta proprio qui.
    Facciamo una piccola analisi.
    Compilo il form
    Clicco su "CERCA"
    Lo script analizza i dati inviati dal form tramite POST e scrive la query
    Vengono visualizzati i risultati
    Clicco su pagina due
    Lo script che fa? Non ha dati passati ne da POST ne da GET

    [php]$marca2 = $_POST["marcax"];
    if ($marca2 ==""){ $marca2=$_GET["marca"]; }[/php]
    $marca sarà sempre uguale a ''


  • User

    ...quindi come dovrei modificarlo?? Mi intreccio con quelle virgolette e quegli apici 😞


  • Super User

    Ci sono diversi modi
    uno è questo:
    passa tramite url i valori

    <a href="<?php print $pagname; ?>pag=<?php print $i; ?>**&marca=$marca&secondo_valore=$secondo_valore**"><strong><?php print $i; ?></strong></a>
    

  • User

    Allora.. facciamo un esempio concreto: se ho ben capito io dovrei sostituire questa parte

    
    <?php if ($output > $recpagina){ ?>
        <div class="centro">
        <p class="blu">
        Pagina Attuale: <?php print $pagina; ?><br><br>Pagine Totali: <?php print $totalepagine; ?><br><br>
        </p>
        <?php 
        $pagname="cerca.php?";
        include('../include/paginazione.php'); ?>
        </div>
        <?php } ?>
    

    O meglio, questa riga

    Pagina Attuale: <?php print $pagina; ?><br><br>Pagine Totali: <?php print $totalepagine; ?>
    

    Con il codice che hai scritto tu.
    Dove

    1. $pagname sarebbe l'equivalente del mio $pagina (quindi devo modificarlo con $pagina)
    2. $i non ho capito cosa sia
    3. $marca ok va bene
    4. $secondo_valore devo mettere l'altro valore che la pagina dovrebbe "portarsi dietro" ma non capisco se dev'essere il numero dei risultati che restano...:?😢
      abbi pazienza!!! mi sto impegnando! :rollo:

  • Super User

    @Eddieangel said:

    1. $pagname sarebbe l'equivalente del mio $pagina (quindi devo modificarlo con $pagina)
      Nel tuo codice vi è : $pagname="cerca.php?";
      ossia il file di riferimento
      @Eddieangel said:
    2. $i non ho capito cosa sia
      Nel tuo codice vi è: for ($i = 1; $i <= 5; $i++){
      ossia un contatore per visualizzare le pagina da 1 a 5
      @Eddieangel said:
    3. $marca ok va bene
      Ok
      @Eddieangel said:
    4. $secondo_valore devo mettere l'altro valore che la pagina dovrebbe "portarsi dietro" ma non capisco se dev'essere il numero dei risultati che restano...:?😢
      Tutti i valori presenti nel modulo di ricerca.

    Il link deve essere di questo tipo
    <a href="cerca.php?pag=<?php echo $i; ?>&primo_valore=<?php echo $primo_valore; ?>&secondo_valore=<?php echo $secondo_valore; ?>>"><?php echo $i; ?></a>