Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    moltiplicazione di 3 campi

    Ho un programmino che inserisce i dati nel database
    Quelli che mi interessano ora sono
    prezzo, numero di persone, note_prezzo e notti e che hanno i campi che si chiamano, $prezzo, $persone, $note_prezzo e $notti (che lo estraggo dalla query facendo la differenza tra arrivo e partenza)

    Ora vorrei fare in modo che se il campo $note_prezzo è vuoto, mi calcoli in automatico il costo del soggiorno, per esempio
    2 persone
    50 euro al giorno
    2 notti
    totale soggiorno 200 euro e questo vada a mettersi nel campo $incasso_hotel

    Generalmente faccio io a mano la somma e riempio il campo $incasso_hotel a mano.

    Per fare la somma non ho problemi, ma vorrei farla solo se il campo $note_prezzo e' vuoto.

    Cosa posso aggiungere al mio codice attuale?

    Codice PHP:
    <?
    $ip 
    $_SERVER['REMOTE_ADDR'];
    $note nl2br($note);
    $note stripslashes($note);
    $cognomestripslashes($cognome);
    include(
    "config.php");
    $incasso $incasso_hotel/100*$incasso;
    $sql "insert into $tabella 
    (id, nome, cognome, telefono, fax, email, hotel, data_arrivo, data_partenza, persone, camera, tipo_camera, trattamento, prezzo, note_prezzo, incasso_hotel, incasso, anticipo_hotel, riferimento, pacchetto, localita, note, carta_di_credito, data, ip) 
    values
    (NULL,\"
    $nome\",\"$cognome\",\"$telefono\",\"$fax\",\"$email\",\"$hotel\",\"$arrivoanno$arrivomese$arrivogiorno\",\"$partenzaanno$partenzamese$partenzagiorno\",\"$persone\",\"$camera\",\"$tipo_camera\",\"$trattamento\",\"$prezzo\",\"$note_prezzo\",\"$incasso_hotel\",\"$incasso\",\"$anticipo_hotel\",\"$riferimento\",\"$pacchetto\",\"$localita\",\"$note\",\"$carta_di_credito\",NOW(),\"$ip\")"
    $risultato = @mysql_query($sql$connessione)
    or die (
    mysql_errno() . ": " mysql_error());
    $sql_id ="select id from $tabella where nome='$nome' and cognome='$cognome'";
    $risultato_id = @mysql_query($sql_id,$connessione)
    or die(
    "Impossibile eseguire l'interrogazione.");
    while (
    $riga mysql_fetch_array($risultato_id)) {
    $id $riga['id'];
    }
    ?>
    Questo postato è il codice della pagina dati_inviati.php
    la somma la potrei fare cosi:
    $incasso_totale = $prezzo * $persone * $notti;
    ma devo fare in qualche modo un ciclo if che mi specifichi che se il campo $note_prezzo e' vuoto posso farlo in automatico, altrimenti deve prendere i dati che metto io a mano nel modulo del form.

  2. #2
    se ho capito bene quello che vuoi fare è semplicissimo

    es:

    Codice PHP:
    //ricevo la variabile dal form
    $note_prezzo $_POST[note_prezzo];

    //controllo il suo valore
    if($note_prezzo != '') {
     
    //tutto ok 
    }

    //se invece è vuota
    else { 

    //le assegno un valore automatico
    $note_prezzo 2;


    spero di aver capito bene il tuo problema
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  3. #3
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da Manuelandro
    se ho capito bene quello che vuoi fare è semplicissimo

    es:

    Codice PHP:
    //ricevo la variabile dal form
    $note_prezzo $_POST[note_prezzo];

    //controllo il suo valore
    if($note_prezzo != '') {
     
    //tutto ok 
    }

    //se invece è vuota
    else { 

    //le assegno un valore automatico
    $note_prezzo 2;


    spero di aver capito bene il tuo problema
    cos'e' $note_prezzo = 2??

    Cmq si, si deve fare il ciclo if pero' non so dove piazzarlo nel codice postato sopra.
    io avevo pensato qualcosa tipo
    Codice PHP:
    //ricevo la variabile dal form
    $note_prezzo $_POST[note_prezzo];

    //controllo il suo valore
    if($note_prezzo != ''") {
     //tutto ok
    }

    //se invece è vuota
    else { 

    //le assegno un valore automatico
    $incasso_hotel$prezzo * $persone * $notti;


    Ma non riesco bene a capire dove metterlo e come...

  4. #4
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    allora nel caso in cui il campo $note_prezzo e' stato compilato
    uso questo codice:
    Codice PHP:
    if($note_prezzo != '') {
    $sql "insert into $tabella 
    (id, nome, cognome, telefono, fax, email, hotel, data_arrivo, data_partenza, persone, camera, tipo_camera, trattamento, prezzo, note_prezzo, incasso_hotel, incasso, anticipo_hotel, riferimento, pacchetto, localita, note, carta_di_credito, data, ip) 
    values
    (NULL,\"
    $nome\",\"$cognome\",\"$telefono\",\"$fax\",\"$email\",\"$hotel\",\"$arrivoanno$arrivomese$arrivogiorno\",\"$partenzaanno$partenzamese$partenzagiorno\",\"$persone\",\"$camera\",\"$tipo_camera\",\"$trattamento\",\"$prezzo\",\"$note_prezzo\",\"$incasso_hotel\",\"$incasso\",\"$anticipo_hotel\",\"$riferimento\",\"$pacchetto\",\"$localita\",\"$note\",\"$carta_di_credito\",NOW(),\"$ip\")"
    $risultato = @mysql_query($sql$connessione)
    or die (
    mysql_errno() . ": " mysql_error());
    $sql_id ="select id from $tabella where nome='$nome' and cognome='$cognome'";
    $risultato_id = @mysql_query($sql_id,$connessione)
    or die(
    "Impossibile eseguire l'interrogazione.");
    while (
    $riga mysql_fetch_array($risultato_id)) {
    $id $riga['id'];

    adesso vorrei capire come fare se il campo non e' compilato, non riesco ad ottenere il numero delle notti, mi sapete aiutare?

  5. #5
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    nella query dove vedo la prenotazione, il conteggio dei giorni lo faccio cosi'

    to_days(data_partenza) - to_days(data_arrivo) as diff, DATE_FORMAT(data_arrivo, '%d/%m') AS data_arrivo, DATE_FORMAT(data_partenza, '%d/%m/%Y') AS data_partenza

    pero la query seleziona, non inserisce...


    c'e' un modo per conteggiare i giorni con php?

  6. #6
    Utente di HTML.it L'avatar di Leo15
    Registrato dal
    Sep 2005
    Messaggi
    307
    Si esiste, ti faccio un esempio:
    Mi sembra che tu non abbia problemi con le query SQL, quindi nell'esempio io suppongo che tu riesca ad ottenere dal DB giorno, mese ed anno delle date di arrivo e partenza.

    Codice PHP:
    //Calcolo $time_arrivo dalla data di arrivo
    $time_arrivo mktime(000$mese_arrivo$giorno_arrivo$anno_arrivo);
    //Calcolo $time_partenza dalla data di partenza
    $time_partenza mktime(000$mese_partenza$giorno_partenza$anno_partenza);

    //Calcolo la differenza in secondi
    $diff $time_partenza $time_arrivo;
    $permanenza = (($diff/60)/60)/24
    Spero sia quello che ti serve
    La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
    Isaac Asimov

  7. #7
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da Leo15
    Si esiste, ti faccio un esempio:
    Mi sembra che tu non abbia problemi con le query SQL, quindi nell'esempio io suppongo che tu riesca ad ottenere dal DB giorno, mese ed anno delle date di arrivo e partenza.

    Codice PHP:
    //Calcolo $time_arrivo dalla data di arrivo
    $time_arrivo mktime(000$mese_arrivo$giorno_arrivo$anno_arrivo);
    //Calcolo $time_partenza dalla data di partenza
    $time_partenza mktime(000$mese_partenza$giorno_partenza$anno_partenza);

    //Calcolo la differenza in secondi
    $diff $time_partenza $time_arrivo;
    $permanenza = (($diff/60)/60)/24
    Spero sia quello che ti serve
    Si infatti è ottimo cosi', funziona tutto alla perfezione
    Grazie per l'aiuto

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.