Forum Flash, Actionscript, PHP e MySQL
Paginazione dati estratti da database

 
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » PHP
Precedente  Successivo 
Autore Messaggio
cli
moderatore
moderatore



Registrato: 10/02/04 15:55
Messaggi: 402
Località: Padova

MessaggioOggetto: Paginazione dati estratti da database
Inviato: 09.08.04 | 14:09
Rispondi citando

Bene bene, domandona devo estrarre dati da un db.....


tranquilli, già fatto, la mia domanda è questa:

Come concigliare grafica e dati??
Solitamente i dati vengono "sganciati" in "ordine" cioe per id senza addentranci in tutte le possibilita di ricerca l'ordine in cui i dati vengo dati e sequenziale e questo non è un problema tanto devono essere estratti tutti.

Facciamo un esempio:(di solito i dati vengono visualizati cosi)

1record
2record
3record
4record
5record
6record
ecc....


Io avrei bisogno (necessità grafica) che i record siano visualizati cosi:

1record 2record 3record
4record 5record 6record
ecc....

Sono senza speranza???? Mmhhh

Io immagino che basti tirare fuori i dati assegnarli a variabili cosi dopo mi lancio dove voglio gli "echo" e sono apposto.

Sia accetta di tutto suggerimenti, bacchettate(in caso di eresie), ed esempi. Mr. Green
Torna in cima
Profilo Messaggio privato [ Nascosto ]
Sponsor
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 09.08.04 | 17:12
Rispondi citando

ciao!
io uso quasi sempre questo codice, che è lo stesso della Pillola scritta da Saibal di html.it

 
Codice:
<?php
$query 
= @mysql_query("TUA QUERY");
$num_record mysql_num_rows($query);
$colonne 3;
$tot_righe $num_record/$colonne;
$i_x 0;
$x_x 0;
$k_x 0;
$cell_width floor(100/$colonne);
echo
'<table width="80%" border="0" cellspacing="1" cellpadding="3">
    <tr>'
;
while(
$array mysql_fetch_array($query))
{
    
$i_x++;
    
$k_x++;
    
$x_x++;
    echo
'<td width="$cell_width%">$array[nome]</td>';
    if(
$i_x == $colonne)
    {
        echo
'</tr>';
        if(
$i_x == $colonne && (($x_x/$colonne) != $tot_righe))
        {
            echo
'<tr>';
        }
        
$i_x 0;
    }
}
if(
$colonne <= $x_x)
{
    if((
$k_x%$colonne) != 0)
    {
        
$indice $k_x;
        while ((
$indice%$colonne) != )
        {
            echo
'<td>&nbsp;</td>';
            
$indice++;
        }
        if((
$indice%$colonne) == )
        {
            echo
'</tr>';
        }
    }
}
else{
    echo 
'</tr>';
}
echo 
'</table>';
?>

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
cli
moderatore
moderatore



Registrato: 10/02/04 15:55
Messaggi: 402
Località: Padova

MessaggioOggetto:
Inviato: 09.08.04 | 17:40
Rispondi citando

Mi piacerebbe dirti perfetto: in effetti funziona ma dovendolo adattare alle mie pagine non riesco a creare un codice valido.

praticamente il mio problema e solo che non mi cicla il database mi fa le righe e colonne ma mi ripropone sempre lo stesso record.

Spero che non ti faccia confusione la prima parte del codice ma mi faccio i collegamenti ai db con DW per comodita e cosi....

Il mio codice è:

 
Codice:
<?php require_once('../Connections/silicom.php'); ?>
<?php
mysql_select_db
($database_silicom$silicom);
$query_Recordset1 "SELECT * FROM formebasic";
$Recordset1 mysql_query($query_Recordset1$silicom) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);
/////codice nuovo
$num_record $totalRows_Recordset1;
$colonne 3;
$tot_righe $num_record/$colonne;
$i_x 0;
$x_x 0;
$k_x 0;
$cell_width floor(100/$colonne);
echo
'<table width="80%" border="1" cellspacing="1" cellpadding="3">
    <tr>'
;
while(
$array mysql_fetch_array($Recordset1))
{
    
$i_x++;
    
$k_x++;
    
$x_x++;
    echo
'<td ><img src="'.$row_Recordset1['miniaturabasic'].'"></td>
    <td>
        <table><tr><td>'
.$row_Recordset1['codice'].'</td></tr>
    <tr><td>'
.$row_Recordset1['nome'].'</td></tr>
    <tr><td>'
.$row_Recordset1['dimensione'].'</td>
    </tr>
    </table></td>'
;
    if(
$i_x == $colonne)
    {
        echo
'</tr>';
        if(
$i_x == $colonne && (($x_x/$colonne) != $tot_righe))
        {
            echo
'<tr>';
        }
        
$i_x 0;
    }
}
if(
$colonne <= $x_x)
{
    if((
$k_x%$colonne) != 0)
    {
        
$indice $k_x;
        while ((
$indice%$colonne) != )
        {
            echo
'<td><img src="immagine_vuota.gif" width="1" height="1"></td>';
            
$indice++;
        }
        if((
$indice%$colonne) == )
        {
            echo
'</tr>';
        }
    }
}
else{
    echo 
'</tr>';
}
echo 
'</table>';
?>



Sicuramente ho cannato qualcosa nella chiamata del "td" ho ommesso il conto del width che magari mettevo piu avanti domanda perche c'è un @ nel codice di Saibal:

"$query = @mysql_query("TUA QUERY"); "
Torna in cima
Profilo Messaggio privato [ Nascosto ]
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 10.08.04 | 08:42
Rispondi citando

L' @ serve x far si che non restituisca un errore in caso ci fosse...

Puoi tralasciare $silicom.
questo $row_Recordset1 = mysql_fetch_assoc($Recordset1); non serve a niente.

Non devi usare nel ciclo quest'array -> $row_Recordset1[]
ma questo -> $array[]

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
cli
moderatore
moderatore



Registrato: 10/02/04 15:55
Messaggi: 402
Località: Padova

MessaggioOggetto:
Inviato: 10.08.04 | 11:08
Rispondi citando

Prega Prega Prega

Perfetto funzia tutto alla grande

solo una cosa :


 
Coach ha scritto:

Puoi tralasciare $silicom.


Penso, che riguardi i percorsi interni di DW e il collegamento che c'è nella pagina di connessione al db percui se qualcuno usa DW non l'ommetta.

Almeno a me, ommettendolo non andava piu se lo lascio e perfetto.

Forse bisognerebbe andare anche nell' altra pagina e cambiare il codice o fare anche la connessione al DB tutto nella stessa pagina.

Buoni Horizontal Loop a tuttiiiiiiii Mr. Green
Torna in cima
Profilo Messaggio privato [ Nascosto ]
cli
moderatore
moderatore



Registrato: 10/02/04 15:55
Messaggi: 402
Località: Padova

MessaggioOggetto:
Inviato: 13.08.04 | 10:27
Rispondi citando

E se volessi dividere i risultati in piu pagine?

Cioe se i risultati del db fossero troppi cioe pagina con troppo scroll?
Torna in cima
Profilo Messaggio privato [ Nascosto ]
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto: Navigazione in pagine
Inviato: 13.08.04 | 12:02
Rispondi citando

dovresti fare un paio di query (almeno così faccio io)
1 x selezionare tutti i risultati
2 x selezionare i risultati da visualizzare nella singola pagina

 
Codice:
<?php
#___prima query x prendere tutti i risultati
$query "SELECT * FROM tabella";
$query_r mysql_query($query);
$num_record mysql_num_rows($query_r);
#___assegno i valori se non ci sono
(empty($_GET['offset'])) ? $offset $offset $_GET['offset'];
(empty(
$_GET['limit'])) ? $limit $limit $_GET['limit'];
#___seconda query per prendere parte dei risultati
$query2 "SELECT * FROM tabella LIMIT $offset,$limit";
$query_r2 mysql_query($query2);

#___ora inserisco in una riga la navigazione
echo'<tr><td colspan="3" align="center">';
$numero intval($offset/$limit)+1;
$for intval($num_record/$limit);
if(
$for < ($num_record/$limit))
{
    
$for = ($for+1);

}
if(
$numero 1)
{
    echo
'<a href="pag.php?offset='.($offset-$limit).'"><b>«</b></a> ';
}
else
{
    echo
'« ';
}
for( 
$count 1$count <= $for$count++ )
{
    
$newoffset $limit*($count-1);    
    if(
$newoffset == $offset)
    {
        echo
'<a>'.$count.'</a> ';
    }
    else
    {
        echo
'<a href="pag.php?offset='.$newoffset.'"><b>'.$count.'</b></a> ';
    }
}
if(
$numero $for)
{
    echo
' <a href="pag.php?offset='.($offset+$limit).'"><b>»</b></a>';
}
else
{
    echo
' »';
}
echo
'</td></tr>';
?>


spero sia quello che serve a te Mr. Green

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!


Ultima modifica di Coach il 02.10.07 | 03:22, modificato 2 volte in totale
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
cli
moderatore
moderatore



Registrato: 10/02/04 15:55
Messaggi: 402
Località: Padova

MessaggioOggetto:
Inviato: 17.08.04 | 11:27
Rispondi citando

Si funzia sicuramente. vedo la navigazione e i get passati nell url.

Pero come devo modificare il codice che mi fa il loop orizontale? quello continua a estrarre tutti i record!!! fino alla fine, e poi mi inserisce la barra di navigazione.

Giustamente devo modificare qualcosa in base al limit penso sia la variabile $tot_righe penso.
Torna in cima
Profilo Messaggio privato [ Nascosto ]
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 18.08.04 | 12:50
Rispondi citando

 
cli ha scritto:
...come devo modificare il codice che mi fa il loop orizontale?...


non capisco casa tu voglia dire... quale loop orizzontale???

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
cli
moderatore
moderatore



Registrato: 10/02/04 15:55
Messaggi: 402
Località: Padova

MessaggioOggetto:
Inviato: 19.08.04 | 10:24
Rispondi citando

 
Coach ha scritto:
 
cli ha scritto:
...come devo modificare il codice che mi fa il loop orizontale?...


non capisco casa tu voglia dire... quale loop orizzontale???


Scusami Coach, per loop orizzontale intendevo l'estrazione dei dati del db che tramite il codice viene diviso in orizzontale per il numero di colonne scelto, cioè quanto il php incontra il while "loopa" il codice fino a che i record sono finiti.

Giusto??

Ecco, quello e il mio problema: il codice che mi hai scritto per creare la navigazione, ho tentato di adattarlo al codice per l'estrazione dei record.

Lui (il codice) mi crea la navigazione ma dopo che l'altro codice ha estratto tutti i dati.

Spero di essere stato piu chiaro.

Ciauz Mr. Green
Torna in cima
Profilo Messaggio privato [ Nascosto ]
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 19.08.04 | 11:17
Rispondi citando

ah, adesso ho capito...

Non è che x caso usi nel while il risultato della prima query invece del risultato della seconda?

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » PHP Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

Discussioni Simili
Topic Autore Forum Risposte Ultimo Messaggio
Nessun nuovo messaggio includere blocchi estratti dal database rocco.mod PHP 0 14.07.08 | 01:51 Leggi gli ultimi messaggi
rocco.mod
Nessun nuovo messaggio Form che invia dati e file a database... roratonet PHP 4 28.09.11 | 05:34 Leggi gli ultimi messaggi
astroross15
Nessun nuovo messaggio Problema semplicissimo! PHP per cance... FarGrafix ActionScript & Server Side 5 02.08.08 | 16:59 Leggi gli ultimi messaggi
Coach
Nessun nuovo messaggio database malcom PHP 3 07.04.04 | 16:28 Leggi gli ultimi messaggi
Coach
Nessun nuovo messaggio database senza PHP mesk8 Programmazione Generale 1 21.05.06 | 16:23 Leggi gli ultimi messaggi
Coach



 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum
Non puoi allegare files in questo forum
Non puoi downloadare gli allegati in questo forum



Powered by phpBB © 2001, 2002 phpBB Group - phpBB SEO Designed by coachdesign - © 2003-2005