non li stampa tutti, salta i multipli del tre!
![]()
non li stampa tutti, salta i multipli del tre!
![]()
non riesco proprio a capire dove stia l'errore!
:master:
torniamo al primo rimedio...
dunque...
fuori dal ciclo stampi la tabella e l'inizio della riga... poi nel ciclo la cella e la fine della riga solo se il record è dispari.. giusto? perchè parte da 0.. o cmq da un record pari se tu mostri un numero di dati pari per ogni pagina...
dovrebbe andareCodice PHP:
echo "<table><tr>";
for ($i = $da/2; $i < $a/2; $i++)
{
echo "<td> tutto quello che vuoi dentro la cella </td>";
if ($i%2 != 0) echo "</tr>";
}
echo </table>
![]()
grande!
finalmente funzia bene! grazie mille guidozzo, non sai quanti problemi mi hai risolto!
![]()
hem.. o funziona perchè hai modificato tu.. o per magia...Originariamente inviato da Delas
grande!
finalmente funzia bene! grazie mille guidozzo, non sai quanti problemi mi hai risolto!
![]()
if ($i%2 != 0) echo "</tr>";
dovrebbe invece essere
if ($i%2 != 0) echo "</tr><tr>";
![]()
esatto
non avevo pensato a specificarlo nella discussione iniziale... in pratica il calcolo dei dati da estrarre avviene attraverso il numero di pagina.. se non è settata.. soo guaisiccome la si setta nel file incluso...
non avevo pensato che qualcuno avesse esigenza di includere l file alla fine![]()
certo.. l'avevo rivisto..Originariamente inviato da }gu|do[z]{®©
hem.. o funziona perchè hai modificato tu.. o per magia...
if ($i%2 != 0) echo "</tr>";
dovrebbe invece essere
if ($i%2 != 0) echo "</tr><tr>";
![]()
bravo.. nella mia fagianagine avevo scordatoOriginariamente inviato da Delas
certo.. l'avevo rivisto..
dovevi farmelo notare per eventuali altri utenti![]()
Qualcuno ha per caso una bella extension tipo quella per ASP?
Grazieee![]()
------------------------
Ciauz!
vabbuò, le prox volte lo farò..Originariamente inviato da }gu|do[z]{®©
dovevi farmelo notare per eventuali altri utenti![]()
![]()
Ciao,
sto cercando di utilizzare questo tipo di paginazione,e
sembra funzionare tutto corretamente.
E' presente solo un problema mi stampa solo la prima lettera di qullo che stampo a video. Sapete perchè??
Ecco il mio codice che include il file paginazione.inc.php:
<?php
include('conn_abi.php');
if (!isset($pag))
{
$pag = 1;
}
$recordxpag = 2;
$query = "SELECT * FROM articoli order by titolo";
$res = mysql_query($query);
$righe = mysql_num_rows($res);
$numpag = ceil($righe/$recordxpag);
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++)
{
$row = mysql_result($res,$i,'titolo');
$titolo = $row["titolo"];
echo $titolo;
echo "</br>";
echo "</br>";
}
include('paginazione.inc.php');
echo "</br>";
echo "</br>";
}
?>
In pratica mi stampa solo le iniziali del "Titolo" che sto estrapolando con mysql_result();
Spero in un vostro aiuto.
blasto.
Ho letto che mysql_result() in pratica è il metodo più obsoleto per ricavare dati da un db a questo punto mi chiedo: ma nella paginazione che stiamo tutti utilizzando può essere implementato un metodo di estrazione migliore(mysql_fetch_array,mysql_fetch_assoc, mysql_fetch_object ecc ecc ecc) rispetto a quello già presente??
Io ho provato con mysql_etch_array() prende i dati ma quando poi ci si sposta di pagina rimangono sempre quelli.
Voi avete già fatto qualche prova??
Grazie.
Blasto.
Ho pubblicato la pagina in questione per farvi capire meglio il problema l'url per visualizzare la pagina è questo:
http://www2.agricolturabiologicaital...articoli_3.php
Come vedete mi stampa solo la prima lettera di quello che ricavo con mysql_result()
Qualcuno sa aiutarmi.
Grazie infinite.
blasto.
ciaoOriginariamente inviato da blasto
Ho letto che mysql_result() in pratica è il metodo più obsoleto per ricavare dati da un db a questo punto mi chiedo: ma nella paginazione che stiamo tutti utilizzando può essere implementato un metodo di estrazione migliore(mysql_fetch_array,mysql_fetch_assoc, mysql_fetch_object ecc ecc ecc) rispetto a quello già presente??
Io ho provato con mysql_etch_array() prende i dati ma quando poi ci si sposta di pagina rimangono sempre quelli.
Voi avete già fatto qualche prova??
Grazie.
Blasto.
sì effetivamente mysql_result è il metodo meno efficiente ma anche il più semplice ed immediato.. per questo l'ho usato
puoi usare mysql_fetch_row ma non puoi specificare da quale riga a quale riga devi pescare... a meno di non usare la clausola limit direttamente nella query.... è una soluzione alternativa peraltro tratta bene da gm nella sua guida su freephp.it che cmq non amo pe ri motivi esposti nel rpimo post...
tuttavia una soluzione c'è...
http://it.php.net/manual/it/function...-data-seek.php
questa funzione sposta il puntatore interno alla riga indicata.. così che le successive chiamate di mysql_fetch_row() partano da quella riga..il problema a quel punto è solo fare sì che si fermino quando noi vogliamo
Non ho provato ma così dovrebbe andare [e se mi dai conferma mi fai un favore]:
Codice PHP:
//DA SOSTITUIRE SOLO AL CICLO FOR SENZA NESSUNA MODIFICA A CIO' CHE C'E' PRIMA
//imposta il puntatore sul nostro valore di partenza
mysql_data_seek($res,$da);
while($dati = mysql_num_rows($res))
{
//stampo i dati che mi servono
$da++;//uso da come contatore incrementandolo
if ($da == $a) break; //esco dal ciclo quando raggiungo la riga che volevo come ultima
}
ti ringrazio per aver proposto il problema
Se va faccio aggiornare il primo post da un moderatore.. in effetti così dovrebbe essere più efficiente
![]()
perchè non è questo il modo di estrapolare dati da mysql resultOriginariamente inviato da blasto
In pratica mi stampa solo le iniziali del "Titolo" che sto estrapolando con mysql_result();
Spero in un vostro aiuto.
blasto.
$row = mysql_result($res,$i,'titolo');
$titolo = $row["titolo"];
ma semmai:
$titolo = mysql_result($res,$i,'titolo');
cmq se guardoi il mio post precedente puoi usare mysql_fetch_row![]()