[PHP]Funzione di calcolo prezzo di una camera in un range di date

marino51

Utente Attivo
28 Feb 2013
3.001
173
63
Lombardia
in questo modo salti il ciclo while e l'aggiornamento della tabella con i valori custom,
it's ok !

verifica tutto,
le ottimizzazioni (mezzo microsecondo guadagnato… ) le vedremo alla fine se proprio vorrai
 

maxnegri

Utente Attivo
12 Ott 2004
87
0
6
Ciao Marino51, sto cercando di inserire la variabile rebate quando cambio il prezzo per una determinata data sul calendario.
Ho creato il campo input name rebate e modificato l'insert nel file che gestisce l'insert custom price.
Ci sto da giorni e non riesco a comprendere perché non mi funziona. Ho creato un file php per l'inserimento del prezzo custom del rebate e funziona ma volevo utilizzare lo stessa classe di aggiornamento prezzo custom per inserire anche lo sconto rebate.
Hai qualche suggerimento? Grazie!
 

maxnegri

Utente Attivo
12 Ott 2004
87
0
6
Questo è il file modificato ( RoomCustomPriceDomain )
PHP:
namespace Domain;

class RoomCustomPriceDomain extends RootDomain
{
    private $id;
    private $roomId;
    private $createdDate;
    private $certainDate;
    private $price;
    private $rebate;

    public function __construct(
        $id,
        $roomId,
        $createdDate,
        $certainDate,
        $price,
        $rebate
    ){
        $this->id = $id;
        $this->roomId = $roomId;
        $this->createdDate = $createdDate;
        $this->certainDate = $certainDate;
        $this->price = $price;
        $this->rebate = $rebate;

    }

    public function setId($id)
    {
        $this->id = $id;
    }

    public function getId()
    {
        return $this->id;
    }

    public function setRoomId($roomId)
    {
        $this->roomId = $roomId;
    }

    public function getRoomId()
    {
        return $this->roomId;
    }

    public function setCreatedDate($createdDate)
    {
        $this->createdDate = $createdDate;
    }

    public function getCreatedDate()
    {
        return $this->createdDate;
    }

    public function setCertainDate($certainDate)
    {
        $this->certainDate = $certainDate;
    }

    public function getCertainDate()
    {
        return $this->certainDate;
    }

    public function setPrice($price)
    {
        $this->price = $price;
    }

    public function getPrice()
    {
        return $this->price;
    }
  
   public function setRebate($rebate)
    {
        $this->rebate = $rebate;
    }

    public function getRebate()
    {
        return $this->rebate;
    }
  
  
}

mentre il file modificato (RoomCustomPriceDataSource)

PHP:
namespace DataSource;
use DateTime;
use Driver\MySQLi;
use Domain\RoomCustomPriceDomain;

class RoomCustomPriceDataSource extends RootDataSource
{
    public function instantiateRoomCustomPriceDomain(array $row)
    {
        $row['created_date'] = $this->getDateObject($row['created_date']);
        $row['certain_date'] = $this->getDateObject($row['certain_date']);
        $roomCustomPriceDomain = new RoomCustomPriceDomain(
            $row['id'],
            $row['room_id'],
            $row['created_date'],
            $row['certain_date'],
            $row['price'],
            $row['rebate']
        );

        return $roomCustomPriceDomain;
    }
    public function insert(array $roomCustomPriceDomainArray)
    {
        $statement = $this->mysqli->buildStatement('
            DELETE FROM  
                room_custom_price
            WHERE
                certain_date = :certainDate AND
                room_id = :roomId
        ');
        foreach ($roomCustomPriceDomainArray as $roomCustomPriceDomain) {
            $statement->execute(array(
                ':roomId' => $roomCustomPriceDomain->getRoomId(),
                ':certainDate' => $roomCustomPriceDomain->getCertainDate()->format('Y-m-d')
            ));
        }
        $statement->close();
      
        $statement = $this->mysqli->buildStatement('
            INSERT INTO
                room_custom_price
            VALUES(
                :id,
                :roomId,
                :createdDate,
                :certainDate,
                :price,
                :rebate
            )
        ');
        foreach ($roomCustomPriceDomainArray as $roomCustomPriceDomain) {
            $statement->execute(array(
                ':id' => $roomCustomPriceDomain->getId(),
                ':roomId' => $roomCustomPriceDomain->getRoomId(),
                ':createdDate' => $roomCustomPriceDomain->getCreatedDate()->format('Y-m-d H:i:s'),
                ':certainDate' => $roomCustomPriceDomain->getCertainDate()->format('Y-m-d'),
                ':price' => $roomCustomPriceDomain->getPrice(),
                ':rebate' => $roomCustomPriceDomain->getRebate()
            ));
        }
        $statement->close();
        return true;
    }

    public function delete(array $dataArray)
    {
        $statement = $this->mysqli->buildStatement('
            DELETE FROM
                room_custom_price
            WHERE
                room_id = :roomId AND
                certain_date = :certainDate
        ');
        foreach ($dataArray as $data) {
            $statement->execute(array(
                ':roomId' => $data['roomId'],
                ':certainDate' => $data['certainDate']
            ));
        }
        $statement->close();
    }
    public function getAllByRoomId($roomId, $now)
    {
        $certainDate = new DateTime($now->format('Y-m-d'));
        $startDate = $certainDate->modify('-1 month')->format('Y-m-17');
        $endDate = $certainDate->modify('+2 months')->format('Y-m-13');

        $statement = $this->mysqli->buildStatement('
            SELECT
                DATE_FORMAT(certain_date, \'%m-%d-%Y\') AS certain_date,
                price
            FROM
                room_custom_price
            WHERE
                room_id = :roomId AND
                (certain_date BETWEEN :startDate AND :endDate)
        ');
        $statement->execute(array(
            ':roomId' => $roomId,
            ':startDate' => $startDate,
            ':endDate' => $endDate
        ));
        $rows = $statement->fetchAllAssociative();
        $statement->close();

        return $rows;
    }
}

Quando provo ad aggiornare la pagina rimane in caricamento e non mi fornisce errori.
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Funzione jQuery Ajax invio file a php jQuery 1
M Utilizzare la funzione mysql_num_rows() in PHP 5 PHP 3
D Come usare funzione php PHP 6
Shyson Modificare funzione php PHP 15
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
L Problema funzione mail() PHP PHP 3
L [PHP] problema count messo in una funzione. PHP 1
Monital funzione php si ripete due volte PHP 6
GiErre [PHP] [HTML] Disabilitare un link in funzione della piattaforma PHP 7
Monital Funzione php e campo database come variabile PHP 6
M PHP - Funzione non e scrive il risultato PHP 3
F [PHP] La funzione setcookie PHP 0
C [RISOLTO][PHP] Funzione ONclick PHP 14
A [PHP] Problema invio mail con funzione mail() PHP 3
C richiamare una funzione in un altro script php PHP 1
S [PHP] errore funzione sleep PHP 5
MarcoGrazia [PHP] Verifica dell'input utente tramite funzione generica. PHP 0
B [PHP]la pagina php non si carica se aggiungo funzione while PHP 10
A Chiamata funzione PHP con onclick PHP 8
alexbrasile PHP convertire la funzione fsockopen in curl PHP 0
Gaetano1991h [PHP] Chi mi sa spiegare la funzione di questo codice? PHP 1
M [PHP] Errore nell' assegnazione della variabile $this->id su una funzione PHP 1
trattorino [PHP] funzione per visualizzare solo carattere PHP 2
S PHP: inviare via email contenuto di una funzione PHP 4
A Chiamare una specifica funzione in una pagina php PHP 1
G Problema php relativo a funzione di un pulsante PHP 8
D PHP:funzione che opera una query su argomento PHP 8
JackIlPazzo Chiamare una funzione specifica di php da una richiesta ajax? PHP 2
M Far partire una funzione/codice php con javascript Javascript 1
JackIlPazzo Eseguire funzione php senza ricaricare pagina? PHP 3
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
V Chiamata funzione php da javascript Ajax 3
X Conversione funzione php PHP 0
M Disabilitare alcune funzione php da scipt PHP 3
gandalf1959 funzione mail() e variabili su un link nel body in formato xxx.php?$a=$codicecontrollo PHP 2
C Limiti funzione mail() di php PHP 1
P Passare un valore, o arriare una funzione da pagina2.php in pagina1.php Javascript 2
M Applicare funzione php ad ogni elemto html Ajax 3
B AIUTO: come passare una variabile php ad una funzione javascript Javascript 2
F funzione javascript all'interno di un codice php PHP 38
G funzione include di php e paramentri variabili PHP 4
X NOW() funzione mysql eseguita da php PHP 6
I Richiamare funzione jquery all'invio del form php Javascript 6
S php problemi di funzione header usando la fuzione di jquery post PHP 4
S problema con funzione php PHP 3
A Funzione exec di php, errore 127 PHP 0
M PhP Problema funzione mssql PHP 5
H Funzione php non viene richiamata! PHP 41
C Funzione PHP non ottiene nomi da puntatori PHP 1
andre9004 richiamare funzione js da php PHP 2

Discussioni simili