Non credo avevo anche io lo stesso problema perchè utilizzavo come lui uno script simile con gli array:
while ($row = mysql_fetch_array($res))
Ma ho risolto utilizzando mysql_result.
Non credo avevo anche io lo stesso problema perchè utilizzavo come lui uno script simile con gli array:
while ($row = mysql_fetch_array($res))
Ma ho risolto utilizzando mysql_result.
ah sì.. scusa... non avevo visto
Mi ero lasciato ingannare dal fatto che mostrasse le stesse cose in seconda pagina e credevo fosse la variabile $pag e non essere valorizzata opportunamente... sorry
Intrigo.. se cerchi bene in questo hread, negli ultimi post, troverai magiori dettagli
![]()
Sono riuscito a compilare sta pagina ma non funziona + la ricerca adesso... o meglio funziona solo per la prima pagina perchè se pigio sulla pagina 2 mi da tutti i risultati a caso..
in + vedo sempre 5 pagine quando in realtà i risultati ne riempiono solo 2...
Sapreste aiutarmi?
Codice PHP:
<?
/* connection information */
$hostname = ".......";
$username = ".....";
$password = ".......";
$dbName = ".........";
$table = "immobili";
/* make connection to database */
MYSQL_CONNECT($hostname, $username, $password) OR DIE( "Unable to connect
to database");
@mysql_select_db("$dbName") or die( "Unable to select database");
if ($foto1 == "")
{$foto1 = '%';}
if ($nome_struttura == "")
{$nome_struttura = '%';}
if ($tipologia_struttura == "")
{$tipologia_struttura = '%';}
if ($zona == "")
{$zona == '%';}
if ($comune == "")
{$comune == '%';}
if ($provincia == "")
{$provincia == '%';}
if ($ID == "")
{$ID == '%';}
echo "<table width=900 border=0>
<td width=150></td>
<td width=724><table width=724 border=0 cellpadding=8 cellspacing=8>";
echo " <TR bgcolor=#FFFFFF> <td align=center width=80><font face=\"Verdana,
Arial,Helvetica, sans-serif\" size=\"-2\" color=#006699>[b]Foto
[/b]</font></td> <td align=center width=100><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\" color=#006699>[b]Nome Struttura
[/b]</font></td> <td align=center width=120><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\" color=#006699>[b]Tipologia Struttura[/b]</font></td>
<td align=center width=80><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\" color=#006699>[b]Zona[/b]</font></td>
<td align=center width=100><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\" color=#006699>[b]Comune[/b]</font></td>
<td align=center width=80><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\" color=#006699>[b]Provincia[/b]</font></td>
</tr></table></table>";
$count = mysql_query("SELECT * FROM $table WHERE foto1 LIKE '$foto1%' AND
nome_struttura LIKE '$nome_struttura%' AND tipologia_struttura LIKE '$tipologia_struttura%' AND zona LIKE
'$zona%' AND comune LIKE '$comune%' AND provincia LIKE '$provincia%' AND ID LIKE '$ID%' AND paga LIKE '$paga%'");
$res_count = mysql_fetch_row($count);
// numero totale di records
$tot_records = $res_count[0];
// risultati per pagina(secondo parametro di LIMIT)
$per_page = 10;
// numero totale di pagine
$tot_pages = ceil($tot_records/$per_page);
// pagina corrente
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
// primo parametro di LIMIT
$primo = ($current_page - 1) * $per_page;
$query_limit = mysql_query("SELECT * FROM $table WHERE foto1 LIKE '$foto1%' AND
nome_struttura LIKE '$nome_struttura%' AND tipologia_struttura LIKE '$tipologia_struttura%' AND zona LIKE
'$zona%' AND comune LIKE '$comune%' AND provincia LIKE '$provincia%' AND ID LIKE '$ID%' AND paga LIKE '$paga%' LIMIT $primo, $per_page");
while($results = mysql_fetch_array($query_limit)) {
switch ($results[paga]) {
case "0":
$pagina = "view.php";
break;
case "1":
$pagina = "view2.php";
break;
case "2":
$pagina = "view3.php";
break;
}
echo "<table width=900 border=0>
<td width=150></td>
<td width=724><table width=724 border=0 cellpadding=8 cellspacing=8>";
echo "<tr bgcolor=#FFFFFF >
<th width=80><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\">[url="$pagina?ID=$results[ID]><img"][/url]</font></th>
<th width=100><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $results[nome_struttura]</font></th>
<th width=120><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $results[tipologia_struttura]</font></th>
<th width=80><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $results[zona]</font></th>
<th width=100><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $results[comune]</font></th>
<th width=80><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $results[provincia]</font></th>
</tr>
</table></td></table>";
}
include("a.php");
// in questa cella inseriamo la paginazione
echo "<table width=900 border=0>
<td width=900 align=center>$paginazione</td></table>";
/* Close the database connection */
mysql_close();
?>
il primo problema è quello della propagazione della querystring... devi passare la chiave di ricerca e quasliasi altra variabile necessaria allo script... se leggi beneil primo post è spiegato commeOriginariamente inviato da luccaonweb
Sono riuscito a compilare sta pagina ma non funziona + la ricerca adesso... o meglio funziona solo per la prima pagina perchè se pigio sulla pagina 2 mi da tutti i risultati a caso..
in + vedo sempre 5 pagine quando in realtà i risultati ne riempiono solo 2...
Sapreste aiutarmi?
per il secondo... non saprei dirti.. è strano.. :\
DOpo un po' di sbattimento ho deciso di seguire la tua pillola e non la guida di html.it.
Il problema però è che i risultati non sono quelli selezionati dal form quindi forse l'errore è li? ti posto il codice del form...:
<form name="frmAdd" action="cerca4.php" method="post" enctype="multipart/form-data" onsubmit="return control();">
<table border="0">
<tr>
<td><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif">Tipologia
Struttura </font> </td>
<td> <select name="tipologia_struttura">
<option value="" selected>Tutte le tipologie</option>
<option value="Ristorante">Ristorante</option>
<option value="Ristorante-Pizzeria">Ristorante-Pizzeria</option>
<option value="Pizzeria">Pizzeria</option>
<option value="Hotel">Hotel</option>
<option value="Zimmer">Zimmer</option>
<option value="Agriturismo">Agriturismo</option>
<option value="Locali Notturni">Locali Notturni</option>
<option value="Negozi di Computer & Internet">Negozi di Computer
& Internet</option>
<option value="Centri Sportivi">Centri Sportivi</option>
</select></tr>
<tr>
<td> <font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif">Nome Struttura</font> </td>
<td> <input type="text" name="nome_struttura" size="30" class="stile">
</td>
</tr>
<tr>
<td> <font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif">Zona</font></td>
<td> <select name="zona">
<option value="" selected>Tutte le zone</option>
<option value="collina">collina</option>
<option value="campagna">campagna</option>
<option value="montagna">montagna</option>
<option value="citta">città</option>
<option value="mare">mare</option>
</select>
</td>
</tr>
<tr>
<td> <font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif">Comune</font></td>
<td> <input type="text" name="comune" size="30" class="stile"></td>
</tr>
<tr>
<td> <font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif">Provincia</font> </td>
<td> <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<select name="provincia">
<option value="" selected>Tutte le provincie</option>
<option value="Lucca">Lucca</option>
<option value="Pisa">Pisa</option>
<option value="Massa Carrara">Massa Carrara</option>
<option value="Pistoia">Pistoia</option>
</select>
</font></td>
</tr>
</table>
<input type="submit" name="submit" value="Cerca Struttura">
L'altro problema riguarda i link di pagina1 pagina 2 etc etc, io ho:Codice PHP:
<?
$recordxpag = 5;
$query = "SELECT ID, foto1, nome_struttura, tipologia_struttura, zona, comune, provincia, paga FROM immobili ";
$res = mysql_query($query);
$righe = mysql_num_rows($res);
$numpag = ceil($righe/$recordxpag);
include('paginazione.inc.php');
if ($righe<1)
{
echo "non ci sono dati";
}
else
{
$da = (($pag-1) * $recordxpag);
$a = $da + $recordxpag;
if ($a > $righe){$a=$righe;}
for ($i = $da; $i < $a; $i++)
{
$ID = mysql_result($res,$i,'ID');
$foto1 = mysql_result($res,$i,'foto1');
$nome_struttura = mysql_result($res,$i,'nome_struttura');
$tipologia_struttura = mysql_result($res,$i,'tipologia_struttura');
$zona = mysql_result($res,$i,'zona');
$comune = mysql_result($res,$i,'comune');
$provincia = mysql_result($res,$i,'provincia');
$paga = mysql_result($res,$i,'paga');
echo "<table with=900><td width=150></td>
<td width=724><table width=724 border=0 cellpadding=8 cellspacing=8>
<tr bgcolor=#FFFFFF>
<td align=center><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\">[url="view.php?ID=$ID><img"][/url]</font></td>
<td align=center><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $nome_struttura</font></td>
<td align=center><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $tipologia_struttura</font></td>
<td align=center><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $res[zona]</font></td>
<td align=center><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $comune</font></td>
<td align=center><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-2\"> $provincia</font></td>
</tr></table></td></table>";
}
}
?>
http://www.luccaonweb.it/script/immobili/title="Vai come link....
AIUTO sto impazzendo!
Ottimo lavoro ci ho messo solo due giorni per capire come funziona, ma alla fine ne è valsa la pena perchè funziona moooolto bene, grazie }gu|do[z]{®©
:metallica
se utilizzavo solo urlencode l' "=" lo interpreta come una nuova variabile valorizzata che gli passo, mentre quello fa parte della clausula where che sto passando inoltre quando trova gli apici mette subito gli / e quelli bisogna toglierli per poter ricalcolare la query.Originariamente inviato da }gu|do[z]{®©
grazie del contributo... ma non ho capito perchè non hai utilizzato semplicemente urlencode e hai fatto anche gli str_replace... urlencode da soo non bastava? :master:
vabbè.. io annoto.. un giorno farò la terza versione della pillola![]()
Spero di essermi spiegata
Buon lavoro
ggg
sì grazie...pensav cjhhe l'0 fosse encodatoOriginariamente inviato da f108
se utilizzavo solo urlencode l' "=" lo interpreta come una nuova variabile valorizzata che gli passo, mentre quello fa parte della clausula where che sto passando inoltre quando trova gli apici mette subito gli / e quelli bisogna toglierli per poter ricalcolare la query.
Spero di essermi spiegata
Buon lavoro
luccaonweb.. scusami.. sono stato a firenze due giorni.. non ho ben capito il tuo problema... ma forse riguarda sempre la propagazione della query string.. dovresti essere un po' più chiaro a spiegare l'errore
![]()
Utilizzo la tua paginazione per un motore di ricerca, che però ora mi consente di gestire la ricerca di una sola parola passata dal form di ricerca, come posso integrare nella tua paginazione del codice che mi permetta di cercare su piu parole, almeno 2? so che forse sono un pò fuori tema e mi chiedevo se tu o altri avevate già implementato un sistema del genere con la tua paginazione![]()
ru in query passi la chiave... può essere una o + parole... sei decisamente OTOriginariamente inviato da intrigo
Utilizzo la tua paginazione per un motore di ricerca, che però ora mi consente di gestire la ricerca di una sola parola passata dal form di ricerca, come posso integrare nella tua paginazione del codice che mi permetta di cercare su piu parole, almeno 2? so che forse sono un pò fuori tema e mi chiedevo se tu o altri avevate già implementato un sistema del genere con la tua paginazione![]()
Lo dico anche per te... c'è chi ti saprà aiutare meglio di me... apri un thread apposito.. la paginazione non ha molto a che vedere con questo
![]()
ottima la paginazione, davvero!
il mio problema è che devo fare un paginazione con una difficoltà in più: dividere i risultati su due colonne:
è possibile farlo? io avevo modificato lo script così:codice:| DATI | +----------------+----------------+ | DATO 1 | DATO 6 | | DATO 2 | DATO 7 | | DATO 3 | DATO 8 | | DATO 4 | DATO 9 | | DATO 5 | DATO 10 | +----------------+----------------+ | Pagina x di y |
inutile dire che non funzia..Codice PHP:
for ($i = $da/2; $i < $a/2; $i++)
{
$nome = mysql_result($res, $i, 'nome');
$cognome = mysql_result($res, $i, 'cognome');
$id = mysql_result($res, $i, 'id');
print "<a href=\"dettagli.cliente.php?i=". $id ."\"><u>". $cognome ." ". $nome ."</u>, codice cliente ". $id ."</a>
";
}
print "</font></td><td width=\"50%\" valign=\"top\"><font size=\"2\">";
for ($i = $da; $i < $a; $i++)
{
$nome = mysql_result($res, $i, 'nome');
$cognome = mysql_result($res, $i, 'cognome');
$id = mysql_result($res, $i, 'id');
print "<a href=\"dettagli.cliente.php?i=". $id ."\"><u>". $cognome ." ". $nome ."</u>, codice cliente ". $id ."</a>
";
}
mi aiutate per favore...?
:master:
fai un solo ciclo for... e ci metti dentro una cosa così
ad occhio e croce dovrebbe stamparti una riga solo ogni due record... e la colonna sempre.. quindi hai due colonne ogni riga.. prova.. l'ho buttato giù di frettaCodice PHP:
if ($i%2 !=0) echo "<tr>";
echo "<td> tutto quello che vuoi dentro la cella <td>";
if ($i%2 !=0) echo "</tr>";
![]()
mmm...
non va molto...
mi stampa qualcosa del genere:
ho provato a vedere un po' che c'era ma non ci ho capito molto...codice:+-------------+------+ | Primo dato | | +-------------+------+-------------+ | Secondo | | Terzo dato | +-------------+------+-------------+ | Eccetera... | | Eccetera... | +-------------+------+-------------+ | Ultimo dato | | +-------------+------+
:master:
ho provato così:
ma mi vengono fuori tutte incolonnate semplicemente... help!Codice PHP:
if ($i%2 !=0) echo "<tr>";
echo "<td> tutto quello che vuoi dentro la cella </td>";
if ($i%2 !=0) echo "</tr>";
:master:
prova un po' così...
non sono certo che funzioni.. dovrebbe dare problemi se vuoi un numero di record per pagina dispari.. ma non è il tu casoCodice PHP:
for ($i = $da; $i < $a; $i+=2)
{
$nome = mysql_result($res, $i, 'nome');
$cognome = mysql_result($res, $i, 'cognome');
$id = mysql_result($res, $i, 'id');
<tr><td> dati</td>
$j = ++$i
$nome = mysql_result($res, $j, 'nome');
$cognome = mysql_result($res, $j, 'cognome');
$id = mysql_result($res, $j, 'id');
<td> dati</td></tr>
}
![]()