Ciao a tutti,ho un piccolo problema:
Codice PHP:
<?
session_start
();
//la classe per il paging
class Paging {
    private 
$totPag//Totale Pagine nella tabella
    
private $pagCorr//Pagina corrente
    
private $totRighe//Totale righe nella tabella
    
private $righePerPagina//Numero di righe per pagina da ottenere

    //Facilita l'accesso all'array dell'intervallo
    
const kIntervalloInizio='inizio';
    const 
kIntervalloLunghezza='lunghezza';

    
// Il costruttore chiede quale sia la pagina corrente, il totale delle
    // righe in tabella e quante righe per pagina interessano
    
public function __construct($pagCorr,$totRighe,$righePerPagina) {
        
$this->pagCorr=$pagCorr;
        
$this->totRighe=$totRighe;
        
$this->righePerPagina=$righePerPagina;
        
$this->totPag=$this->contaPagine($totRighe$righePerPagina);
    }

    
// Consente di modificare la pagina corrente con un'altra dopo
    // l'esecuzione del construct
    
public function vaiAPagina($pagina){
        if(
$pagina==self::kUltimaPagina)
            
$this->pagCorr=$this->totPag;
        elseif(
is_numeric($pagina) and $pagina>and $pagina<$this->totPag)
            
$this->pagCorr=$pagina;
        else
            
$this->pagCorr=1;
    }

    
//Indica in quante pagine viene divisa la tabella
    
public function contaPagine($totRighe$righePerPagina) {
        return 
ceil($totRighe $righePerPagina);
    }

    
//Restituisce un array indicante la posizione del primo record e quante
    //righe occorre scorrere
    
public function dammiIntervallo() {
        return array(
            
self::kIntervalloInizio => ($this->pagCorr-1) * $this->righePerPagina,
            
self::kIntervalloLunghezza => $this->righePerPagina
        
);
    }

    
//Ritorna il numero per la prossima pagina
    
public function prossimaPagina(){
        if(
$this->totPag==0)
                return 
1;
        return (
$this->pagCorr>=$this->totPag)?$this->totPag:$this->pagCorr+1;
    }

    
//Ritorna il numero per la pagina precedente
    
public function precedentePagina(){
        return (
$this->pagCorr<=1)?1:$this->pagCorr-1;
    }

}

//PREPARA L'OGGETTO PAGING E LO RITORNA
function CostruisciOggettoPaging($sql) {
    if (!isset(
$_GET['p']))
        
$pagCorr 1;
    else
        
$pagCorr=$_GET['p'];
    
$res mysql_query($sql) or die('Err3');
    
$totRighe mysql_num_rows($res);
    
mysql_free_result($res);
    
$righePerPagina 25;
    return new 
Paging($pagCorr$totRighe$righePerPagina);
}

//REALIZZA LA TABELLA E LA RITORNA SOTTO FORMA DI STRINGA
function CostruisciTabella($p,$sql) {
    
$inter=$p->dammiIntervallo();
    
$res mysql_query("$sql limit {$inter[Paging::kIntervalloInizio]},{$inter[Paging::kIntervalloLunghezza]}") or die('Err4');
    
ob_start();
    
//Definizione della tabella
    
echo <<<END
<table border="0" cellpadding="7px">
    <tr>
        <th>Nome</th>
        <th>Cognome</th>
        <th>Ruolo</th>
        <th>Et&agrave;</th>
        <th>Costo</th>
        <th>Squadra</th>
        <th>Tuffo</th>
        <th>Respinta</th>
        <th>Presa</th>
        <th>Reattivit&agrave;</th>
        <th>Resistenza</th>
    </tr>
END;
    while (
$row mysql_fetch_assoc($res)) {
    
$id $row['id'];
    
$_SESSION['id_giocatori'] =  $id;
    
$costo number_format($row['costo'], "0""""."); 
    echo <<<END
    <tr>
        <td>
{$row['nome']}</td>
        <td>
{$row['cognome']}</td>
        <td>
{$row['ruolo']}</td>
        <td>
{$row['età']}</td>
        <td>
$costo €</td>
        <td>
{$row['squadra']}</td>
        <td>
{$row['tuffo']}</td>
        <td>
{$row['respinta']}</td>
        <td>
{$row['presa']}</td>
        <td>
{$row['reattività']}</td>
        <td>
{$row['resistenza']}</td>
        <td>[url="azione_compra_port.php"][img]immagini/icona_compra.jpg[/img][/url]</td>
    </tr>
END;
    }
    
//Link di navigazione
    
echo <<<END
    <th colspan="2">
        [url="
{$_SERVER['PHP_SELF']}?p={$p->precedentePagina()}"]Indietro[/url] |
        [url="
{$_SERVER['PHP_SELF']}?p={$p->prossimaPagina()}"]Avanti[/url]
    </th>
</table>
END;
     
mysql_free_result($res);
     return 
ob_get_clean();
}

//connessione al database
include('../connect.php');

//estrazione dei giocatori
$sql="SELECT * FROM GIOC_giovani_port WHERE squadra='Senza contratto.' ORDER BY nome ASC";

$p CostruisciOggettoPaging($sql);
$tabella_dati CostruisciTabella($p,$sql);

mysql_close($conn);

echo 
$tabella_dati;
?>
azione_compra_port.php
Codice PHP:
<?
session_start
();
$id $_SESSION['id_giocatori'];

//connessione al database
include('connect.php');

//sessione
include('sessione.php');

//cash della squadra
$team $_SESSION['username'];
$query "SELECT * FROM SQUADRA_dati WHERE team='$team'";
$result mysql_query($query) or die (mysql_error());
$row mysql_fetch_array($result);
$cash $row['cash'];

//prezzo giocatore
$query "SELECT * FROM GIOC_giovani_port";
$result mysql_query($query) or die (mysql_error());
$row mysql_fetch_array($result);
$id $row['id'];
$costo $row['costo'];

//il cash non è sufficiente...
if($cash $costo){
echo 
"Non hai abbastanza soldi per acquistare il giocatore.";
}else{    
//...altrimenti procedo con l'acquisto

//cambiamo squadra al giocatore
$query="UPDATE GIOC_giovani_port SET squadra='$team' WHERE id='$id'";
$result mysql_query($query) or die (mysql_error());

//togliamo i soldi dal conto
$operazione = ($cash $costo);
$query="UPDATE SQUADRA_dati SET cash='$operazione' WHERE team='$team'";
$result mysql_query($query) or die (mysql_error());
}


?>
La parte riguardante l'operazione per togliere i soldi dal conto funziona,il problema è che il giocatore che acquisto tramite lo script non cambia squadra come invece dovrebbe.Alla fine del codice ho messo echo $_SESSION['id_giocatori']; per vedere il risultato dell'id e mi sono accorto che rimane sempre uguale,quindi ho sbagliato ad assegnare il valore!

Vi ringrazio per la pazienza