[Javascript] jQuery PHP MySql - inserire variabile nel DataBase

giumazzi

Utente Attivo
16 Feb 2017
27
2
3
provincia PESARO
In un file jQuery ho questa selezione
Codice:
    click: function () { //Click event
        if (this.status() == 'available') { //optional seat
            var maxSeats = 3;
            var ms = sc.find('selected').length;
            //alert(ms);
            if (ms < maxSeats) {

                price = this.settings.data.price;



        $('<option selected>R'+(this.settings.row+1)+' S'+this.settings.label+'</option>')
                    .attr('id', 'cart-item-'+this.settings.id)
                    .attr('value', this.settings.id)
                    .attr('alt', price)
                    .data('seatId', this.settings.id)
                    .appendTo($cart);

                $counter.text(sc.find('selected').length+1);
                $counter.attr('value', sc.find('selected').length+1);

                $total.text(recalculateTotal(sc));
                $total.attr('value', recalculateTotal(sc));

                return 'selected';
            }
                alert('You can only choose '+ maxSeats + ' seats.');
                return 'available';

        } else if (this.status() == 'selected') { //Checked

                //Update Number
                $counter.text(sc.find('selected').length-1);
                $counter.attr('value', sc.find('selected').length-1);

                //Delete reservation
                $('#cart-item-'+this.settings.id).remove();

                //update totalnum
                $total.text(recalculateTotal(sc));
                $total.attr('value', recalculateTotal(sc));

                //Delete reservation
                  //$('#cart-item-'+this.settings.id).remove();
                //optional
                return 'available';

        } else if (this.status() == 'unavailable') { //sold
            return 'unavailable';

        } else {
            return this.style();
        }
    }
});
Per inserire anche il prezzo di ogni singolo posto ho modificato la variabile
$('<option selected>
così
Codice:
$('<option selected>R'+(this.settings.row+1)+' S'+this.settings.label+' P'+this.settings.data.price+'</option>')
Graficamente ho quindi questa situazione schermata.png

Tutti i dati della selezione vengono inseriti in un DB con questa pagina PHP
PHP:
<?php
if (isset($_POST['book'])) {
    $date = $_POST["date"];
    $session = $_POST["session"];
    $counter = $_POST["counter"];
    $total = $_POST["total"];
    $user_id = $_SESSION["id"];
    $film_id = $_GET['id'];
    $seat = (isset($_POST['seat']) ? $_POST['seat']:array());
    if (is_array($seat)) {                
        foreach ($seat as $selectedOption){
            $query = "INSERT INTO booking(USER_ID, FILM_ID, BOOKING_SESSION, BOOKING_DATE, BOOKING_SEAT, BOOKING_PRICE, BOOKING_NUM)
                        VALUES ('$user_id','$film_id','$session','$date','$selectedOption','$total','$counter')";

            $result = mysqli_query ($connection,$query)
                or die ("<div class='alert alert-danger' role='alert'>You couldn't execute query</div>");  
            }
        echo "  <div class='alert alert-success' role='success'>
                    Congrats your booking has been done! Print the tickets <a href='./fpdf18/generate-pdf.php?film=$film_id' target='_blank'>here</a>!
                </div>";
    }

}
?>
nella quale manca l'ulteriore campo, che ho creato nel DB, SEAT_PRICE.

Non riesco a capire come inserire il prezzo (che dovrebbe essere in $selectedOption) nel DB.

Ogni aiuto è apprezzato
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, manca il value alla option, penso sia per qeullo.
edit
anzi c'è ma inseriscisci l'id non il price
.attr('value', this.settings.id)
 

giumazzi

Utente Attivo
16 Feb 2017
27
2
3
provincia PESARO
Penso che pregiudichi il funzionamento del plugin
perché:
1) price è definita come this.setting.data.price
Codice:
price = this.settings.data.price;
2) price non è "value" ma "alt". value è riferita ai posti (es. A_1)
screen2.jpg

Codice:
                    .attr('id', 'cart-item-'+this.settings.id)
                    .attr('value', this.settings.id)
                    .attr('alt', price)
                    .data('seatId', this.settings.id)
                    .appendTo($cart);

Io mastico pochissimo jQuery ma credo sia diverso
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
value è il parametro che ti arriva in post, se vuoi ricevere il price devi metterlo nel value.
Metti nel php var_dump($_POST) e guarda i parametri che arrivano.
$cart dovrebbe essere la select che avra un name il valore che ti aspetti lo trovi in $_POST['nome_della_select']
 

giumazzi

Utente Attivo
16 Feb 2017
27
2
3
provincia PESARO
Ho provato a fare i cambiamenti come mi hai suggerito e ottengo questi risultati:
1) Situazione Corrente
Questo è il Dump
Codice:
array(6) { ["session"]=> string(5) "12:00" ["date"]=> string(10) "2016-01-11" ["seat"]=> array(1) { [0]=> string(3) "C_9" } ["counter"]=> string(1) "1" ["total"]=> string(5) "99.95" ["book"]=> string(4) "book" }
Questi i dati
Codice:
                    $('<option selected>R'+(this.settings.row+1)+' S'+this.settings.label+' P'+this.settings.data.price+'</option>')
                    .attr('id', 'cart-item-'+this.settings.id + )
                    .attr('value', this.settings.id)
                    .attr('alt', price)
                    .data('seatId', this.settings.id)
                    .appendTo($cart);

2) Situazione Con l'inserimento di price nel value
Questo è il Dump
Codice:
array(6) { ["session"]=> string(5) "12:00" ["date"]=> string(10) "2016-01-11" ["seat"]=> array(1) { [0]=> string(5) "99.95" } ["counter"]=> string(1) "1" ["total"]=> string(5) "99.95" ["book"]=> string(4) "book" }
Questi i dati
Codice:
                    $('<option selected>R'+(this.settings.row+1)+' S'+this.settings.label+' P'+this.settings.data.price+'</option>')
                    .attr('id', 'cart-item-'+this.settings.id)
                    .attr('value', this.settings.id)
                    .attr('alt', price)
                    .attr('value', price)
                    .data('seatId', this.settings.id)
                    .appendTo($cart);

Con la modifica mi passa il prezzo ma non più il posto
io però devo passare entrambi:
il posto (es. C_9) e il prezzo (es. 99.95)
 

giumazzi

Utente Attivo
16 Feb 2017
27
2
3
provincia PESARO
OK e grazie adesso ci provo.
Solo per ricapitolare nel file js devo fare così?
Codice:
                    $('<option selected>R'+(this.settings.row+1)+' S'+this.settings.label+' P'+this.settings.data.price+'</option>')
                    .attr('id', 'cart-item-'+this.settings.id)
                    .attr('value', this.settings.id)
                    .attr('alt', price)
                    .attr('value', price)
                    .data('seatId', this.settings.id)
                    .appendTo($cart);

Oppure così

Codice:
                    $('<option selected>R'+(this.settings.row+1)+' S'+this.settings.label+' P'+this.settings.data.price+'</option>')
                    .attr('id', 'cart-item-'+this.settings.id)
                    .attr('value', this.settings.id)
                    .attr('alt', price)
                    .attr('value', this.settings.data.price)
                    .data('seatId', this.settings.id)
                    .appendTo($cart);

alt mi serve perché devo farci le somme
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
se segui il link postato devi fare cosi
Codice:
.attr('value', this.settings.id + "|" + this.settings.data.price)
 
Discussioni simili
Autore Titolo Forum Risposte Data
A [Javascript] Ajax, Jquery e PHP Javascript 1
A Insegnanti di programmazione PHP / JAVASCRIPT / JQUERY Offerte e Richieste di Lavoro e/o Collaborazione 0
A Insegnanti di programmazione PHP / JAVASCRIPT / JQUERY Offerte e Richieste di Lavoro e/o Collaborazione 0
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
O [Javascript] Conflitto Jquery: forse... Javascript 0
M leggere con jquery/ajax in una function javascript record di database sql server Javascript 0
felino [Javascript] [jQuery] Slick Carousel: visualizzare una porzione dell'immagine successiva Javascript 0
F [Javascript] Aprire file tramite jquery Javascript 0
F [Javascript] Jquery radio Javascript 2
F [Javascript] Problema funzione jquery con elementi css esterni Javascript 1
P leggere file .csv con javascript/jquery Javascript 11
G [Javascript] Ricalcolo Totale jQuery Javascript 7
G [Javascript] prenotazione posti a teatro jQuery-Seat-Charts Javascript 3
P Javascript o Jquery - recupero testo (oltre al valore) di una select Javascript 5
F [Javascript] Controllo stringa jquery Javascript 4
CoyotesSon [Javascript] [Jquery] Scrollbar personalizzate? Javascript 1
R Cercasi esperto JavaScript / jQuery Offerte e Richieste di Lavoro e/o Collaborazione 0
R Cercasi esperto JavaScript / jQuery Offerte e Richieste di Lavoro e/o Collaborazione 1
F conversione codice javascript in jquery Javascript 1
M [A pagamento] [Cerco] Programmatore Javascript/jQuery Offerte e Richieste di Lavoro e/o Collaborazione 0
V Slide iFrame con JQuery e Javascript Javascript 1
T [risolto] Conversione comandi da javascript a jquery. Chi può aiutarmi? Javascript 4
ivarello Attivare funzione Javascript con Jquery jQuery 0
E questione su windows jquery e javascript jQuery 0
I Eseguire funz. Javascript caricata tramite la funzione Ajax di JQuery in onChange Javascript 0
I Eseguire funz. Javascript caricata tramite la funzione Ajax di JQuery in onChange Javascript 0
lukeonweb Corso Corsi javascript, jquery e ajax Javascript 3
I Creare un banner temporaneo JavaScript Javascript 0
S Impossibile scorrere un oggetto in JavaScript Javascript 0
N Passare array da php a javascript PHP 5
L Quiz javascript funzionante da migliorare Javascript 0
P errore 404 con javascript Javascript 2
D aiuto funzioni javascript Javascript 1
M Upload immagine con javascript problemi con FormData() Javascript 1
L countdown multiplo javascript Javascript 1
S Problemi Javascript + Aruba Javascript 2
M Inviare un file su un server remoto con JavaScript Javascript 0
T a href="javascript:;" Javascript 1
F Creare elementi html con javascript Javascript 3
A pulsante di update campo mysql con javascript Javascript 2
8 Javascript - PDF Form Javascript 0
B javascript per problemi con pdf e Safari Javascript 0
N informazione javascript Programmazione 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
P javascript:document.forms Javascript 7
S Consiglio esercizio Javascript Javascript 2
MarcoGrazia Aggiungere o rimuovere classi in javascript Javascript 1
P Passaggio id php a javascript PHP 6
R Confrontare il dominio di una mail con una stringa contenente un dominio personalizzato, tutto ciò in php o javascript PHP 0
E lettura da un Database con Javascript jQuery 2

Discussioni simili