• User

    Inserrimento/modifica php e mysql

    Ciao sentite volevo un chiarimento.
    Io sto creando un applicazione in php che sfrutti il database mysql(la sto creando in locale) e volevo sapere se era possibile fare allo stesso tempo un inserimento ed modifica al database.
    Mi spiego meglio l'applicazione che sto creando serve per gestire i dati di un ristorante: quindi l'utente accede al sito prima consulta la disponibilità dei posti poi se vuole prenota inserendo i propri dati, solo che a questo punto a me serviva che quando l'utente prenota (salvando i propri dati sulla tabella "prenotazioni") i posti che prenota vengano sottratti a quelli della disponibilità (salvati nella tabella "disponibilita"). E' possibile farlo?Grazie per la vostra disponibilità aspetto vostre notizie!

    Su un altro forum mi hanno detto di inserire:
    [php]$query = "SELECT posti_rimanenti FROM disponibilita WHERE giorno = '12 Marzo'";
    $risultato = mysql_query($connessione, $query);
    $row = mysql_fetch_array($risultato);
    $posti_prima_di_prenotazione = $row['posti_rimanenti'];
    $posti_dopo_prenotazione = $posti_prima_di_prenotazione - $_POST[Posti];
    $query = "UPDATE disponibilità SET posti_rimanenti = '$posti_dopo_prenotazione' WHERE giorno = '12 Marzo'""; mysql_query($connessione, $query);[/php]ma non funziona e non sanno più come aiutami!
    Ho postato su megaupload tutto il lavoro compreso il file .sql chiunque possa aiutarmi mi farebbe un enorme favore grazie

    megaupload.com/?d=7S20EFCM


  • User Attivo

    Per darti una mano concreta vorrei sapere la struttura delle tabelle del DB interessate.
    Poi potremmo parlarne

    A presto


  • User

    Allora io ho un db chiamato ristorante con dentro due tabelle e sono divise così:

    1. disponibilita:
    • giorno
    • mese
    • posti
    1. prenotazioni:
    • nome
    • cognome
    • email
    • giorno
    • mese
    • posti

    Io sono arrivato a questo codice che inserisce i dati nel db prenotazioni ma non modifica il numero di posti nel db disponibilita:

    [PHP]
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
    <title>Prenotazione posti ristorante</title>
    </head>
    <body>

    <?php
    include('alcuneFunzioni.php');
    include('funzioniConnessione.php');

    function ControlloEmail($email){
    $result = eregi("^[_a-z0-9+-]+(.[_a-z0-9+-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$",$email);
    if($result == false){
    return false;
    }else{
    return true;
    }
    }

    ?>

    <?php
    if(isset($_POST['giorno']))
    {
    $messaggio = "";
    if(!soloCifre($_POST['giorno'], 2))
    {
    $messaggio = "Il giorno deve essere di due cifre";
    echo " <strong>$messaggio</strong>\n";
    }
    else
    {
    $connessione = connetti();
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $email=$_POST['email'];
    $giorno=$_POST['giorno'];
    $mese=$_POST['mese'];
    $posti=$_POST['posti'];
    //qui verifichi i dati immessi se sono giusti
    var_dump($nome);
    echo "<br>";
    var_dump($cognome);
    echo "<br>";
    var_dump($email);
    echo "<br>";
    var_dump($giorno);
    echo "<br>";
    var_dump($mese);
    echo "<br>";
    var_dump($posti);
    echo "<br>";
    //fine verifica dati immessi

            $query = "INSERT INTO prenotazioni (nome, cognome, email, giorno, mese, posti) VALUES ('".$nome."', '".$cognome."','".$email."', '".$giorno."', '".$mese."', '".$posti."')"; 
    
            $risultato = mysqli_query($connessione, $query) //verifiva se va prima query o connessione secondo me query
                or die("operazione di inserimento errata<br>\nErrore: ".mysqli_error($connessione)); 
             var_dump($risultato); //se FALSE non inserito
            echo "<br>";
    
            $numInseriti = mysqli_affected_rows($risultato); 
    
            $query = "SELECT posti FROM disponibilita WHERE giorno = '12 Marzo'";  
            $risultato = mysql_query($connessione, $query);  
            var_dump($risultato); //se FALSE non letto
            echo "<br>";
            $row = mysql_fetch_array($risultato);
            $posti_prima_di_prenotazione = $row['posti'];
    
            var_dump($posti_prima_di_prenotazione); //verifica posti prima
            echo "<br>";
            $posti_dopo_prenotazione = (int)$posti_prima_di_prenotazione - (int)$posti;    
            var_dump($posti_dopo_prenotazione); //verifichi il cacolo dovrebbe darti tipo variabile = INT 
            echo "<br>";
            $query = "UPDATE disponibilita SET posti = '$posti_dopo_prenotazione' WHERE giorno = '".$giorno."' AND mese = '".$mese."'"; 
            var_dump($query);//vedi se la query è giusta 
            echo "<br>";
            $uppa=mysql_query($connessione, $query); 
            var_dump($uppa);// se da FALSE ha un errrore e non uppa 
            echo "<br>";
        
        if($numInseriti > 0 )
            echo "sono stati inseriti $numInseriti record\n";
        else
            echo "NESSUN RECORD INSERITO\n";
    }
    echo "<hr><a href=\"$_SERVER[PHP_SELF]\">torna alla pagina inserimento</a>\n";
    

    }
    else
    {
    echo <<<MODULO__QUERY
    <h2>Prenotazioni posti ristorante</h2>
    <form action="$_SERVER[PHP_SELF]" method="POST">
    <table border="0" cellpadding="5">

        <tr>
            <td>nome:</td>
            <td><input type="text" size="30" name="nome"/></td>
        </tr>
        <tr>
            <td>cognome:</td>
            <td><input type="text" size="30" name="cognome"/></td>
        </tr>
        <tr>
            <td>email:</td>
            <td><input type="text" size="30" name="email"/></td>
        </tr>
        <tr>
            <td>giorno (solo giorno):</td>
            <td><input type="text" size="2" name="giorno"/></td>
        </tr>
        <tr>
            <td>mese:</td>
            <td><input type="text" size="10" name="mese"/></td>
        </tr>
        <tr>
            <td>Posti:</td>
            <td><input type="text" size="2" name="posti"/></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" value="inserisci"></td>
        </tr>
    </table>
    </form>
    

    MODULO__QUERY;
    }

    ?>
    <hr><a href="index.html">torna alla pagina di gestione tabella</a>
    </body>
    </html>

    [/PHP]