- Home
- Categorie
- Coding e Sistemistica
- Coding
- paginazione e query di estrazione
-
paginazione e query di estrazione
Buongiorno a tutti i mebri del forum.
sono una principiante del linguaggio php ed incappo sempre in mille problemi, ma quello che ancora non risolvo è il seguente.
Ho una query di estrazione che funziona come un motore di ricerca e fino a qui va tutto bene.
quando ho deciso di dare un limite al numero di informazioni da presentare a video non sono stata più capace ad andare avanti con lo sv. del codice.La query di estrazione è la seguente:
mysql_query("SELECT nome, cognome, via,localita, telefono, descrizione, mail FROM iscritti WHERE discipline='"
.$_REQUEST['discipline']."' and provincia='".$_REQUEST['provincia']."'");Qualche anima gentile mi può aiutare?
Grazie
Soleada
-
Non riesco a capire dove stò sbagliando..
-
Neanche io: anzi a dire il vero non ho neanche capito qual è il problema...
Se il problema è che non sai come limitare i risultati di una query, ti serve il comando LIMIT - sennò, non ho capito la domandaPotresti essere un po' più chiara? Thanks - e benvenuta sul forum!
-
Ciao SEO italy,
devo dire che la mia inesperienza in merito al linguaggio php mi porta a volte a non esprimermi chiaramente, scusami.
Se possibile vorrei poter estrarre e visualizzare a video 10 voci alla volta, tra quelle ricercate nel data base.
Per fare un esempio. Se cerco in provincia di Roma un commercialista, e nel database ne figurano iscritti 90, vorrei che la query estraesse i primi 10 nominativi e in basso alla pagina comparisse una numerazione delle pagine seguenti necessarie a visualizzare i rimanenti 80 commercialisti.
Come fà Google quando inserisco una parola da riceracare.Grazie ancora
soleada
-
Ciao soleada,
questo thread dovrebbe fare al caso tuo.
-
Buongiorno,
ieri sera ho continuato a lavore al codice , ma niente da fare.
Dopo molti tentativi ho "copiato e adattato" questo codice, ma quando lo mando in funzione mi restituisce una pagina bianca.
dove Stò sbagliando?
Aiuto AiutoCodice che ho reso "incriminato":
[php]<?php
$host = "localhost";
$user = "root";
$password = "root";
$database = "utenti";$righe_per_pagina = 1;
$url_base = "indextre.php";
$pagine_vicine = 1;
$link = mysql_connect($host, $user, $password)
or die ("non riesco a connettermi");mysql_select_db($database, $link)
if (!$mysql_select_db)
{
die ("errore nella selezione del database : ". mysql_error());}
//calcolo il numero delle pagine
//ricavo il numero totale di record
$query = " SELECT COUNT (nome, cognome, luogo, discipline) FROM iscritti WHERE discipline='"
.$_REQUEST['discipline']."' and provincia='".$_REQUEST['provincia']."'";
$result = mysql_query ($query);
//recor complessivi
$tot_righr = mysql_result($result,0);
//totale pagine
$tot_pagine = ceil($tot_righe / $righe_per_pagina);//pagina corrente
$pagina_corrente = isset($_get['pag']) ? (int)$_get['pag'] ;
//pagina corrente minore di 1
if($pagina_corrente < 1) {
header(' location: '.$url_base);
exit();
}
if($pagina_corrente > $tot_pagine) {
header (' location: '.crea_url($url_base, $tot_pagina));
exit();
}// calcolo la prima riga da estrarre con la query
$prima_riga = ($pagina_corrente - 1) * $righe_per_pagina;$query = " SELECT nome, cognome, luogo, discipline FROM iscritti WHERE discipline='"
.$_REQUEST['discipline']."' and provincia='".$_REQUEST['provincia']."' LIMIT ".$prima_riga, $righe_per_pagina";$result = mysql_query($query);
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}while($row = mysql_fetch_array($result)){
echo "<table width="300" border="1" cellpadding="1" cellspacing="1" align="left">\n";
echo " <tr bgcolor="rgb(83,135,190)">\n";
echo " <td align="left" valign="middle"><font color="rgb(255,255,255)"><b><pre>".$row['nome']." ".$row['cognome']."</font></pre></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td align="left" valign="middle"><b>Prov. di ".$row['luogo']." Professione ".$row['discipline']."</td>\n";
echo " </tr>\n";
echo "</table>";}
// creazione dei link di paginazione
$link_paginazione = paginazione($tot_pagine, $url_base, $pagina_corrente, $pagine_vicine);?>[/php]