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

    help conteggio risultati query

    sto cercando di fare un motore di ricerca che dia i risultati due a due seguendo i tutorial di freephp.
    allora... sono riuscito a fare in modo che mi presenti i risultati 2 per volta, xò dopo aver presentato i primi risultati, mi fa federe tutto quello che c'è nella tabella, sempre due alla volta. il problema è che ho fatto una query che dovrebbe contare i record. come faccio a fargli contare i risultati totali della query (contenenti i parametri immessi, ossia $parola)? posso fare una query che seleziona e conta?

    questo è il codice
    --------
    <html>
    <head>
    <title>Risultati</title>
    </head>
    <body> <font face='verdana'>

    <?
    //connessione al database
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");

    //genera limiti per ordine decrescente
    $start= $_GET[start];
    if (!isset($start) OR $start<0) {
    $start=0;
    }
    $step = 2;


    //toglie spazi gestisce parole inserite
    $keys = explode (",",$_GET[chiave]);
    $query = "";
    reset ($keys);
    while (list(,$parola) = each ($keys))
    { $parola = trim($parola);
    if (isset($parola))
    $query .= "descrizione LIKE '%$parola%' OR nome LIKE '%$parola%'";
    }
    //determina l'ordine crescente con limiti
    $query .= "ORDER BY nome ASC LIMIT $start,$step ";

    $query = "SELECT nome, descrizione, apertura FROM attrazione WHERE ". $query;

    //stampa tabella
    echo"<table border=1 align='top' cellspacing='0' cellpadding'10'>
    <tr >
    <td>[b]nome</td>
    <td>[b]descrizione</td>
    <td>[b]apertura</td>
    <td>variabile assegnata</td>
    <td>num risultati</td>
    </tr>";
    $result = mysql_query($query, $db);

    //contatore per variabili_clip e num tot record selezionati
    $contatore=0;

    //stampa risultati query
    while ($row = mysql_fetch_array($result))
    {
    $varassegnata= "clip".$contatore;
    $contatore++;
    echo"<tr>
    <td> $row[nome]</td>
    <td width='300'> $row[descrizione] </td>
    <td> $row[apertura] </td>
    <td> $varassegnata </td>
    <td> $row[tot]</td>";
    }
    $query2 = "SELECT count(*) AS tot FROM attrazione WHERE descrizione LIKE '%$parola%' OR nome LIKE '%$parola%' OR 0";
    $result2 = mysql_query($query2, $db);
    while ($row = mysql_fetch_array($result2))
    {

    $tot_ris = $row[tot];
    echo"
    <td> $tot_ris</td>
    </tr>
    </table>";


    }
    if ($start + $step < $tot_ris)
    { $start_next = $start + $step;
    echo "successivi";
    }



    mysql_close ($db);
    ?>
    </font>
    </body>
    </html>
    -------------------

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Errare humanum est, perseverare ovest

  3. #3
    allora... ho provato, x'è un problema: così mi conta solo i record selezionati dalla query che però è limitata per fare vedere solo due risultati. quello che voglio fare è sapere il numero delle righe in risposta alla stessa query, ma senza limit. cosa devo fare? una secodnda query? in caso, devo fare una nuova variabile $result2 ?

    grazie

  4. #4
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    prova adattando questo:
    Codice PHP:
    $result_conteggio =  mysql_query("
    SELECT COUNT(*) AS totale 
    FROM tabella 
    "
    ,$connessione);
    $conteggio mysql_fetch_array($result_conteggio);
    $totale $conteggio['totale'] ; 
    Errare humanum est, perseverare ovest

  5. #5
    ho provato a sistemarlo ma ho trovato altro problema

    http://forum.html.it/forum/showthrea...hreadid=847582

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.