Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Modifica di id tramite sessione

    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

  2. #2
    Qualcuno?? ^^

  3. #3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.