Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    ho provato, il risultato è sempre lo stesso pagina bianca ecco l'echo della query

    SELECT id, titolo, ingredienteprincipale, regione FROM DBRicette ORDER BY RAND() DESC titolo LIKE '%riso%' OR ingredienti LIKE '%riso%' OR tipopiatto LIKE '%riso%' OR ingredienteprincipale LIKE '%riso%' OR regione LIKE '%riso%' OR note LIKE '%riso%' OR 0LIMIT 0, 20

    il select va' solo cosi

    $query = "SELECT id, titolo, ingredienteprincipale, regione FROM DBRicette WHERE " . $query;
    come mai?

  2. #12
    ho rimosso
    if (!isset($start) OR $start<0)
    $start=0;
    $step = 20;

    e riformulato il select:
    $query = "SELECT id, titolo, ingredienteprincipale, regione FROM DBRicette ORDER BY RAND() DESC " . $query ." LIMIT 0,15";

    ma a video sempre la pagina bianca e l'echo della query presenta sempre lo 0 prima del limit

    allora alla riga 21 dello script c'e' $query .= "0"; ho provato sia a farlo diventare // $query .= "0"; che $query .= ""; in entrambi i casi lo 0 sparisce ma il risultato non cambia a video solo una pagina bianca...
    Sembra funzionare solo col WHERE

  3. #13
    ci deve essere per forza qualche errore, se eseguo la query sulla portata selezionando antipasto ottengo 2 come numero di pagine il che sta a significare che ci sono 2 pagine contenenti 15 ( $step=15) ricette ciascuna cosa non possibile perche' ho provato sul db attualmente in linea e ne risultano molte di piu'. Allora mi son detto proviamo ad aumentare il limite nella variabile step a 150000 e vediamo cosa succede; i record vengono estratti tutti e a fondo pagina compare correttamente il numero 1 che indica il numero delle pagine generate dalla query.
    Cosa c'e' di sbagliato??

    ecco lo script come è ora
    Codice PHP:
    <h1>Risultati della ricerca</h1>
     <?php error_reporting(E_ALL); include ("config.inc.php"); include ("connect.inc.php"); // imposto il limit per la query If (!isset ($start) OR $start < 0)    $start = 0;    $step = 150000; if ($_POST) {    if ($_POST['azione'] == "cerca") {       $chiave = $_POST['chiave'];       $keys = explode(",", $chiave);       $query = "";       reset($keys);       while (list(, $parola) = each($keys)) {          $parola = trim($parola);          if ($parola != "")             $query .= "titolo   LIKE   '%$parola%'   OR   ingredienti   LIKE   '%$parola%' OR   tipopiatto   LIKE   '%$parola%' OR   ingredienteprincipale   LIKE   '%$parola%' OR   regione   LIKE   '%$parola%' OR   note   LIKE   '%$parola%' LIMIT $start, $step ";       } //  $query .= "0";       $query = "SELECT id, titolo, ingredienteprincipale, regione FROM DBRicette WHERE " . $query;       $result = mysql_query($query, $db); //echo $query;  //dopo l'esecuzione di una query ne mostra il risultato a video       while ($row = mysql_fetch_array($result)) {          echo "<a   href=\"index.php?pag=15&id=$row[id]\">" . "      $row[titolo]" . "       </a>
    ";       } // ricavo il numero totale di record       $query1 = "SELECT COUNT(*) FROM DBRicette WHERE " . $query;       $result1 = mysql_query($query); // record complessivi       $tot_righe = mysql_result($result1, 0); // totale pagine       $tot_pagine = ceil($tot_righe / $step);       echo ($tot_pagine);     }    elseif ($_POST['azione'] == "principale") {       $chiave = $_POST['chiave'];       $keys = explode(",", $chiave);       $query = "";       reset($keys);       while (list(, $parola) = each($keys)) {          $parola = trim($parola);          if ($parola != "")             $query .= " ingredienteprincipale   LIKE   '%$parola%'  LIMIT $start$step   ";       } // $query .= "0";       $query = "SELECT   id,   titoloingredienteprincipale   FROM   DBRicette   WHERE   " . $query;       $result = mysql_query($query$db); //echo $query;  dopo l'esecuzione di una query ne mostra il risultato a video       while ($row = mysql_fetch_array($result)) {          echo "<a   href=\"index.php?pag=15&id=$row[id]\">" "      $row[titolo]"      $row[ingredienteprincipale]</a>
    "
    ;       }       // ricavo il numero totale di record       $query1 = "SELECT COUNT(*) FROM DBRicette WHERE " . $query;       $result1 = mysql_query($query); // record complessivi       $tot_righe = mysql_result($result1, 0); // totale pagine       $tot_pagine = ceil($tot_righe / $step);       echo ($tot_pagine);    }    elseif ($_POST['azione'] == "portata") {       $chiave = $_POST['chiave'];       $keys = explode(",", $chiave);       $query = "";       reset($keys);       while (list(, $parola) = each($keys)) {          $parola = trim($parola);          if ($parola != "")             $query .= "tipopiatto   LIKE   '%$parola%'   LIMIT $start, $step   ";       } // $query .= "0";       $query = "SELECT   id,   titolo, tipopiatto   FROM   DBRicette   WHERE   " . $query;       $result = mysql_query($query, $db); //echo $query;  dopo l'esecuzione di una query ne mostra il risultato a video       while ($row = mysql_fetch_array($result)) {          echo "<a   href=\"index.php?pag=15&id=$row[id]\">" . "      $row[titolo]" . "      $row[tipopiatto]</a>
    ";       }    // ricavo il numero totale di record       $query1 = "SELECT COUNT(*) FROM DBRicette WHERE " . $query;       $result1 = mysql_query($query);       echo($result1); // record complessivi        $tot_righe = mysql_result($result1, 0); // totale pagine       $tot_pagine = ceil($tot_righe / $step);       echo ($tot_pagine);    } } ; ?>

  4. #14
    con $step impostato a 15 ricevo cmq questo errore Resource id #101
    cosa sbaglio??? Parlo della parte inerente la portata quindi il blocco finale del codice

  5. #15
    Codice PHP:
    <h1>Risultati della ricerca</h1>
     <?php error_reporting(E_ALL); include ("config.inc.php"); include ("connect.inc.php");   // imposto il limit per la query if(isset($_GET['pagina']))    $pg = $_GET['pagina']; else    $pg = 0;  $step = 15; if($pg > 1)    $start = ($pg - 1) * $step; else    $start = 0;   if ($_POST) {    if ($_POST['azione'] == "cerca") {       $chiave = $_POST['chiave'];       $keys = explode(",", $chiave);       $parola = $keys[0];        $query = "SELECT id, titolo, ingredienteprincipale, regione FROM DBRicette WHERE titolo   LIKE   '%$parola%'   OR   ingredienti   LIKE   '%$parola%' OR   tipopiatto   LIKE   '%$parola%' OR   ingredienteprincipale   LIKE   '%$parola%' OR   regione   LIKE   '%$parola%' OR   note   LIKE   '%$parola%' LIMIT $start , $step ";       $result = mysql_query($query, $db); echo $query;  //dopo l'esecuzione di una query ne mostra il risultato a video       while ($row = mysql_fetch_array($result)) {          echo "<a   href=\"index.php?pag=15&id=$row[id]\">" . "      $row[titolo]" . "       </a>
    ";       } // ricavo il numero totale di record       $query1 = "SELECT COUNT(*) FROM DBRicette WHERE titolo   LIKE   '%$parola%'   OR   ingredienti   LIKE   '%$parola%' OR   tipopiatto   LIKE   '%$parola%' OR   ingredienteprincipale   LIKE   '%$parola%' OR   regione   LIKE   '%$parola%' OR   note   LIKE   '%$parola%' ";       $result1 = mysql_query($query1);        //echo mysql_result($result1, 0);     // record complessivi   $tot_righe = mysql_result($result1,0); // totale pagine       $tot_pagine = ceil($tot_righe / $step);    //inizio la visualizzazione               if($pg == 0)              {              $precedente = "";              }              else              {              $previous_page = ($pg - 1);              $precedente = "[url='index.php?pag=14&pagina=$previous_page']Precedente[/url]";              }               if($pg == $tot_pagine-1)              {              $successiva = "";              }              else              {              $next_page = ($pg + 1);              $successiva = "[url='index.php?pag=14&pagina=$next_page']Sucessiva[/url]";              }              $paginazione = "                 <table width='30%' border='0' align='center'>                     <tr>                         <td align='center'>                             ".$precedente."                         </td>                         <td align='center'>                             ".$successiva."                         </td>                     </tr>                 </table>";                 echo "<CENTER>" . $paginazione . "</CENTER>";      }   elseif ($_POST['azione'] == "principale") {       $chiave = $_POST['chiave'];       $keys = explode(",", $chiave);       $parola = $keys[0];        $query = "SELECT   id,   titoloingredienteprincipale   FROM   DBRicette   WHERE ingredienteprincipale   LIKE   '%$parola%'  LIMIT $start$step   ";       $result = mysql_query($query$db);  //echo $query;  dopo l'esecuzione di una query ne mostra il risultato a video           while ($row = mysql_fetch_array($result)) {          echo "<a   href=\"index.php?pag=15&id=$row[id]\">" "      $row[titolo]"      $row[ingredienteprincipale]</a>
    "
    ;       }  // ricavo il numero totale di record       $query1 = " SELECT COUNT(*) FROM DBRicette WHERE ingredienteprincipale LIKE '%$parola%' ";       $result1 = mysql_query($query1);       $tot_righe = mysql_result($result1, 0); // totale pagine       $tot_pagine = ceil($tot_righe / $step);       echo ($tot_pagine);    }    elseif ($_POST['azione'] == "portata") {       $chiave = $_POST['chiave'];       $keys = explode(",", $chiave);       $parola = $keys[0];        $query = "SELECT   id,   titolo, tipopiatto   FROM   DBRicette   WHERE tipopiatto   LIKE   '%$parola%' LIMIT $start, $step ";       $result = mysql_query($query, $db);  //echo $query;  dopo l'esecuzione di una query ne mostra il risultato a video           while ($row = mysql_fetch_array($result)) {          echo "<a   href=\"index.php?pag=15&id=$row[id]\">" . "      $row[titolo]" . "      $row[tipopiatto]</a>
    ";       }     // ricavo il numero totale di record     $query1 = "SELECT COUNT(*) FROM DBRicette WHERE  tipopiatto   LIKE   '%$parola%' ";    $result1 = mysql_query($query1);  // echo mysql_result($result1, 0);  // record complessivi        $tot_righe = mysql_result($result1, 0); // totale pagine       $tot_pagine = ceil($tot_righe / $step);       echo ($tot_pagine);    } } ; ?>

    perfetto mostra i primi 15 pero' quando clicco sul link "successiva" non vengono mostrati i successivi 15 e non ottengo nemmeno messaggi d'errore.
    Che sia sbagliato il modo di creare la paginazione?
    Come link di base ho http://test.mondoricette.com/index.php?pag=14 e cliccando su successiva

    http://test.mondoricette.com/index.php?pag=14&pagina=1

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 © 2026 vBulletin Solutions, Inc. All rights reserved.