Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Paginare i risultati di una query

    Ciao a tutti, sono nuovo sia del forum che di PHP-MySQL ma ho voglia di imparare... Ho a disposizione uno script che tramite un form estrae i dati da un database costituito da 3 tabelle. Inserisco i passi per interrogare i database:

    // ESTRAPOLA DETTAGLIO STRUTTURE
    $db_table = "STRUTTURE";
    $db_table2 = "CATEGORIE";
    $query = "SELECT *,PS.ID AS IDSTRUTTURA FROM $db_table PS, $db_table2 PC";
    $query = $query." WHERE PS.CATEGORIA = PC.ID";
    $query = $query." AND PS.GRUPPO IN (2,3)"; //dove dormire
    if($comune<>"TUTTO")
    {
    $query = $query." AND PS.COMUNE = '$comune'";
    }
    if($categoria<>"TUTTO")
    {
    $query = $query." AND PS.CATEGORIA = '$categoria'";
    }
    if($stelle<>"TUTTO")
    {
    $query = $query." AND PS.STELLE = '$stelle'";
    }
    if($nome<>"")
    {
    $query = $query." AND PS.NOME LIKE '%$nome%'";
    }
    $query = $query." ORDER BY PS.COMUNE, PS.CATEGORIA, PS.NOME";
    $result = db_query($query, $db);
    $row = db_num_rows($result);


    per stampare i risultati eseguo un ciclo while:

    while ($dati = db_fetch_array($result))


    .....ecc...


    Lo script funziona perfettamente..... UNICO PROBLEMA: LA PAGINAZIONE!!!!!

    Se ho inserito 800 strutture, vengono restituite tutte in sequenza con la conseguente chilometrica pagina dei risultati

    Ho letto quasi tutto, ma la funzione LIMIT non saprei proprio come impostarla perchè non dispongo di una semplice SELECT...

    Grazie a tutti, scusate se sbaglio il modo di esprimere il concetto.

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    perchè dici che non hai una semplice select?

    hai provato cosi?

    $query = "SELECT *,PS.ID AS IDSTRUTTURA FROM $db_table PS, $db_table2 PC ";
    $query .= " WHERE PS.CATEGORIA = PC.ID ";
    $query .= " AND PS.GRUPPO IN (2,3) "; //dove dormire
    $query .= " LIMIT 1, 30 " ;

  3. #3
    Ciao, grazie per la risposta...

    ho provato ad inserire la funzione limit, ma ora non riconosce l'ordinamento che volevo... mi restituisce il seguente errore:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY PS.COMUNE, PS.CATEGORIA, PS.NOME' at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY PS.COMUNE, PS.CATEGORIA, PS.NOME' at line 1


    potresti rispondermi?
    grazie

  4. #4
    SCUSA..... se introduco il limit dopo l'ordinamento funziona... cmq grazie tante!!!!!!

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.