Visualizzazione risultati 1 fino 20 di 20

Discussione: due query con una sola mossa

  1. #1
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito due query con una sola mossa

    Ciao a tutti e BUON NATALE, prima di tutto!

    Allora.
    Sto tentando di sviluppare codice che mi permetta di creare una fattura
    (con articoli, iva ecc) stampare il contenuto e archiaviare i dati.
    Ho un problema nell'inviare 2 query.
    In pratica dovrei prima inviare i dati principali della fattura (totale, id_cliente, data ecc)
    in una tabella chiamata appunto fatture e poi archiaviare con un'altra query
    i prodotti della fattura nella tabella prodotti_acquistati cercando di
    associare ad ogni record l'id_fattura di appartenenza.
    Mi hanno detto di usare le transazioni, ma non so perchè la funzione
    con $mysqli mi da errore, allora ho provato così:

    Codice PHP:
    function conferma() {
    global
    $numero, $usercli, $tot_fatt;

    $oggi = time();
    $query3 = mysql_query("INSERT INTO fatture VALUES (NULL,
    '
    $numero', '$usercli','$tot_fatt','$oggi')");
    $id_fatt = mysql_insert_id();
    echo
    $id_fatt;
    $query4 = mysql_query("INSERT INTO prodotti_acquistati VALUES (NULL,
    NULL, NULL, NULL, NULL, NULL, '
    $id_fatt')");

    }
    Ho un bottone submit che mi richaima la funzione conferma()
    La prima query funziona (anzi funzionicchia visto che l'id user non riesco ad archiviarlo..ma sarà oggeto del mio prossimo topic; invierò tutto il codice)
    con l'echo vedo che è stato richiamato l'id che mi interessa per successiva query.
    La seconda invece non invia niente (ho usato i null momentaneamente in quanto devo ancora definire bene le cose, anche se ho provato, creando delle variabili di prova ad uploadare i loro valori...ma niente).
    C'è qualcosa che mi sfugge. Potete aiutarmi?
    grazie

  2. #2
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    quelle queri sono errate, bisogna fare così:
    Codice PHP:
    $sql = mysql_query("INSERT INTO nome_tabella (campo1, campo2, campo3, etc..) VALUES ('valore1', 'valore2', 'valore3', etc...);");

  3. #3
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da silverseraph
    quelle queri sono errate, bisogna fare così:
    Codice PHP:
    $sql = mysql_query("INSERT INTO nome_tabella (campo1, campo2, campo3, etc..) VALUES ('valore1', 'valore2', 'valore3', etc...);");
    http://www.morpheusweb.it/html/manua...sql_insert.asp
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  4. #4
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da silverseraph
    quelle queri sono errate, bisogna fare così:
    Codice PHP:
    $sql = mysql_query("INSERT INTO nome_tabella (campo1, campo2, campo3, etc..) VALUES ('valore1', 'valore2', 'valore3', etc...);");
    proviamo, grazie!

  5. #5
    Guest

    Predefinito

    Non ho capito come fai a richiamare quella funzione che contiene istruzioni php tramite pulsante html! Forse non hai spiegato tutto, quindi mi sfugge qualcosa.
    Prova a togliere quell'echo tra le due query:

    Codice PHP:
    $query3 = mysql_query("INSERT INTO fatture VALUES (NULL,
    '
    $numero', '$usercli','$tot_fatt','$oggi')");
    $query4 = mysql_query("INSERT INTO prodotti_acquistati VALUES (NULL,
    NULL, NULL, NULL, NULL, NULL, '"
    .mysql_insert_id()."')");

    Ciaooo!!!!!

  6. #6
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Scusa, ma da quello che ha linkato funcool, andava bene anche la tua query quindi non credo che sia un problema di query... tu comunque prova.

  7. #7
    nextage non è connesso Utente giovane
    Data registrazione
    03-05-2005
    Messaggi
    40

    Predefinito

    Non ho capito bene quale sia il tuo problema... cosi ad occhio il codice dovrebbe andare (l'unica cosa nn c'è il codice che apre la connessione ma se ti va la prima query direi che c'è) anche se pure io ti suggerisco di usare i nomi delle colonne nella insert (cosi puoi anche evitare di mettere i null per le colonne in cui nn devi scrivere, basta che le setti a default value = null, e nn rischi di cercare di inserire il valore della fattura in una colonna sbagliata).

    Cmq questo è l'esempio delle transazioni in php5 (direttamente dalla guida) - l'unico dubbio è che le transazioni funzionino solo su un db con motore innodb (questo nn lo so, io nn le uso, ma tipo le Foreign Key funzionano solo su quello)
    Codice:
    <?php
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
    
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    
    $mysqli->query("CREATE TABLE Language LIKE CountryLanguage Type=InnoDB");
    
    /* set autocommit to off */
    $mysqli->autocommit(FALSE);
    
    /* Insert some values */
    $mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
    $mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");
    
    /* commit transaction */
    $mysqli->commit();
    
    /* drop table */
    $mysqli->query("DROP TABLE Language");
    
    /* close connection */
    $mysqli->close();
    ?>
    Il vantaggio ad usarla è che chiedendo l'id dellultima insert ti garantisce di darti quello inserito dalla query prima (blocchi temporaneamente la tabella e nessuno puo scriverci nel fratempo)

    EDIT: dimenticavo... ho letto che nn riesci ad archiviare l'id cliente
    Prova a fare dopo il global "echo $usercli;" così vedi se funziona e nel caso quello lo vedi prova a fare le query in una variabile stringa, tipo:
    $sql = "INSERT INTO fatture VALUES (NULL,
    '$numero', '$usercli','$tot_fatt','$oggi')";
    poi a fare un "echo $sql;" così vedi che contiene
    ed infine ad eseguire la query "$query3 = mysql_query($sql);"
    Altro dubbio sulla query che invece proprio nn ti va... sicuro che i campi accettino il null?!?
    Ultima modifica di nextage : 26-12-2006 alle ore 13.33.03

  8. #8
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    ciao
    Ho letto adesso le vostre risposte, ma avevo già preparato
    il mio post..in ogni caso,

    Si adesso la query funziona,
    ma ci sono altri problemi e faccio prima a postare tutta la
    pagina anche se non è l'unica del progetto.

    fatt1.php:

    Codice PHP:
    <?
    $db
    = mysql_connect('localhost', 'root', '') or die(mysql_error());
    @
    mysql_select_db('fattura', $db) or die(mysql_error());


    $query = mysql_query("SELECT * FROM clientidb WHERE id_user = '".$_REQUEST['id_user']."'",$db);
    $query2 = mysql_query("SELECT * FROM fatture",$db);
    $totr=mysql_num_rows($query2);

    if (
    $totr == 0)
    {
    $numero = 1;
    }
    else
    {
    $totr ++;
    $numero = $totr;
    }


    while(
    $row = mysql_fetch_array($query) )

    {
    $usercliente =$row['id_user'];
    global
    $usercliente;
    echo
    "
    <table border=\"1\" cellspacing=\"0\" cellpadding=\"5\"width=\"100%\" height=\"100\">
    <tr>
    <td width=\"50%\" height=\"100\" rowspan=\"2\">
    <b>Ingrosso Alimentare </b>
    <br> <b>Ciccio Scoppetta Srl</b>
    <br> <b>Via Carlo Pisacane, 13</b>
    <br> <b>84013&nbsp; Cava dè Tirreni - SA</b>
    <br><br><b> P.I.&nbsp&nbsp 0121555554212</b><br>&nbsp;</td>
    <td width=\"20%\" height=\"10\" ><b>Fattura N° </b><input type=text name=num size=10 value=\"
    $numero\" align=\"right\"></td>
    <td width=\"30%\" height=\"10\"><b>del </b><input type=text name=date size=20 value= "
    .date("d/m/Y")." ></td>
    </tr>
    <tr>
    <td width=\"50%\" height=\"50\" colspan=\"2\"valign=\"top\">
    <b>

    $row[cognome] $row[nome]<br>
    $row[indirizzo]<br>
    $row[citta]<br>
    P.I.&nbsp&nbsp
    $row[iva]</b>
    </td></tr></table>"
    ;
    }

    ?>
    <body onload="javascript:parent.articoli.document.art.reset(); javascript:parent.articoli.document.art.codice.focus();">

    <?
    echo $usercliente;
    $imponibile = 0;
    $iva4 = 0;
    $iva10 = 0;
    $tot_imp = 0;
    $tot_fatt = 0;

    if (isset(
    $_REQUEST['codice'])){
    $dati=" INSERT INTO carrello VALUES (NULL,
    '"
    .addslashes($_REQUEST['codice'])."',
    '"
    .addslashes($_REQUEST['descrizione'])."',
    '"
    .str_replace(",",".",$_REQUEST['quantita'])."',
    '"
    .str_replace(",",".",$_REQUEST['prezzo'])."',
    '"
    .addslashes($_REQUEST['iva'])."',
    )"
    ;

    mysql_query ($dati)
    or die (
    "Non riesco ad eseguire la query $dati");
    }

    $query = "SELECT * FROM carrello ORDER BY id";
    $esegui = mysql_query($query);

    echo
    "
    <HEAD>
    <style type=\"text/css\"> .alternate0 { background-color: #99E4FF; } .alternate1 { background-color: #CCF2FF; } </style>
    </HEAD>
    <table border=\"1\" cellspacing=\"0\" cellpadding=\"5\"width=\"100%\" height=\"45\">
    <tr>
    <td width=\"12%\"><b>Annotazioni&nbsp;</b>
    <input type=text name=annot size=50></td>
    </tr></table>"
    ;
    echo
    "
    <table border= \"1\" cellspacing=\"0\" cellpadding=\"1\"width=\"100%\" >
    <tr bgcolor=\"#F3F3F3\">
    <td width=\"10%\" height=\"20\" align=\"center\"><b>Cod.</b></td>
    <td width=\"30%\" height=\"20\" align=\"center\"><b>Descrizione</b></td>
    <td width=\"10%\" height=\"20\" align=\"center\"><b>Quantità</b></td>
    <td width=\"10%\" height=\"20\" align=\"center\"><b>IVA %</b></td>
    <td width=\"15%\" height=\"20\" align=\"center\"><b>Prezzo U.</b></td>
    <td width=\"20%\" height=\"20\" align=\"center\"><b>Imponibile</b></td>
    <td width=\"5%\" height=\"20\" align=\"center\"><b>&nbsp;</b></td>
    </tr>"
    ;
    $i = 0;
    while (
    $result = mysql_fetch_array($esegui)) {
    $id = $result["id"];
    $quan = $result["quantita"];
    $prezzo_uni = $result["prezzo_un"];
    $iva = $result["iva"];
    $imponibile = $quan*$prezzo_uni;
    $aliquota = ($imponibile*$iva)/100;

    if (
    $iva == 4)
    {
    $iva4 += $aliquota;}
    else
    {
    $iva10 += $aliquota;
    }

    $tot_imp += $imponibile;

    $i = (++$i % 2);

    echo
    "
    <tr class=alternate"
    .$i.">
    <td width=\"10%\" height=\"5\" align=\"right\">
    $result[codice]</td>
    <td width=\"30%\" height=\"5\" align=\"center\">
    $result[descrizione]</td>
    <td width=\"10%\" height=\"5\" align=\"right\">
    $quan</td>
    <td width=\"10%\" height=\"5\" align=\"right\">
    $iva</td>
    <td width=\"15%\" height=\"5\" align=\"right\">"
    .number_format($prezzo_uni, 2, ',', '.')."</td>
    <td width=\"20%\" height=\"5\" align=\"right\" >"
    .number_format($imponibile, 2, ',', '.')."</td>
    <td width=\"5%\" height=\"5\"><a href=\"fatt1.php?task=delete&id=
    $id\">Canc</a></td>
    </tr>"
    ;


    }
    $tot_fatt = $tot_imp+$iva4+$iva10;


    echo
    "
    </table>
    <table border=\"0\" cellspacing=\"0\" cellpadding=\"5\"width=\"100%\" height=\"100\">
    <tr>
    <td width=\"60%\" height=\"31\"><b>Aspetto dei beni</b></td>
    </center>
    <td width=\"20%\" height=\"14\">
    <p align=\"right\"><b>Tot. Imponibile</b></td>
    <center>
    <td width=\"20%\" height=\"34\"align=\"right\"><b>€</b>&nbsp;&nbsp;"
    .number_format($tot_imp, 2, ',', '.')."</td>
    </tr>
    <tr>
    <td width=\"60%\" height=\"24\"><input type=text name=aspetto size=50></td>
    <td width=\"20%\" height=\"21\" align=\"right\"><b>IVA&nbsp;&nbsp; 4%</b></td>
    <td width=\"20%\" height=\"21\"align=\"right\"><b>€</b>&nbsp;&nbsp;"
    .number_format($iva4, 2, ',', '.')."</td>
    </tr>
    <tr>
    <td width=\"60%\" height=\"62\" rowspan=\"2\"></td>
    <td width=\"20%\" height=\"25\" align=\"right\"><b>IVA 10%</b></td>
    <td width=\"20%\" height=\"25\"align=\"right\"><b>€</b>&nbsp;&nbsp;"
    .number_format($iva10, 2, ',', '.')."</td>
    </tr>
    </center>
    <tr>
    <td width=\"20%\" height=\"35\">
    <p align=\"right\"><b>TOTALE FATTURA</b></td>
    <center>
    <td bgcolor=\"#F3F3F3\"width=\"20%\" height=\"35\"align=\"right\"><b>€</b>&nbsp;&nbsp;<b>"
    .number_format($tot_fatt, 2, ',', '.')."</b></td>
    </tr>
    </table>"
    ;
    echo
    "
    <head>
    <LINK REL=\"STYLESHEET\" HREF=\"invoice.css\">
    </head>

    <table border=\"0\" cellspacing=\"0\" cellpadding=\"5\"width=\"100%\" height=\"100\">
    <tr>
    <form action=\""
    . $PHP_SELF . "\" method=\"\post\">
    <td width=\"50%\" height=\"25\" align=\"right\"><input type=\"hidden\" name=\"task\" value=\"delete_all\">
    <input type=\"submit\" class=\"btn\" Value=\"Reset\"
    onmouseover=\"this.className='btn btnhov'\" onmouseout=\"this.className='btn'\"></td>
    </form>
    <form action=\""
    . $PHP_SELF . "\" method=\"\post\">
    <td width=\"50%\" height=\"25\" align=\"left\"><input type=\"hidden\" name=\"task\" value=\"conferma\">
    <input type=\"submit\" class=\"btn\" Value=\"Conferma\"
    onmouseover=\"this.className='btn btnhov'\" onmouseout=\"this.className='btn'\"></td>
    </form>
    </tr>
    </table>"
    ;



    function
    delete($id) {
    mysql_query("delete from carrello WHERE id=$id");
    Header("Location: fatt1.php");
    }

    function
    delete_all() {
    mysql_query("TRUNCATE TABLE carrello");
    Header("Location: fatt1.php");
    }

    function
    conferma() {
    global
    $numero, $usercli, $tot_fatt;
    $cod = $result['codice'];
    $desc = $result['descrizione'];

    $oggi = time();
    $sql3 = mysql_query("INSERT INTO fatture (numero_fatt, id_cliente, totale, data)
    VALUES ('
    $numero', '$usercli', '$tot_fatt', '$oggi');");
    $id_fatt = mysql_insert_id();

    $sql4 = mysql_query("INSERT INTO prodotti_acquistati (codice, descrizione, quantita, prezzo_un, iva, id_fattura)
    VALUES ('
    $cod', '$desc', '$quan', '$prezzo_uni', '$iva', '$id_fatt' );");
    }

    switch(
    $_REQUEST['task']) {

    case
    'delete':
    delete($_REQUEST['id']);
    break;

    case
    'delete_all':
    delete_all();
    break;

    case
    'conferma':
    conferma();
    break;
    }
    ?>
    In pratica ho una pagina html divisa in frame.
    a sinistra ho un una frame in alto dove c'è un menu a discesa
    dal quale seleziono il cliente (inviando così direttamente l'id_user
    alla pagina fatt1.php)
    In basso a sinistra un form che invia i dati degli articoli
    della fattura che vengono inviati lo stesso alla pagina fatt1.php.

    Ci sono vari problemi
    Il primo è che ogni volta che invio un nuovo articolo dal form (del frame in basso
    a sinistra)
    la pagina si aggiorna e se ho selezionato il cliente per l'intestazione
    della fattura i dati si perdono (parlo dell'id_user) e alla fattura
    scompare l'intestazione. In definitiva non riesco a conservare
    l'id_user del clientye che mi serve per varie query come
    potete vedere dal codice sopra, nemmeno quando clicco sul tasto "conferma"
    che fa la stessa cosa: aggiorna la pagina e perdo l'intestazione senza
    inviare l'id_user/cliente.

    Il secondo problema deriva dal fatto che ho modificato
    questa query seguendo il tuo consiglio:
    da così:

    Codice PHP:
    if (isset($_REQUEST['codice'])){
    $dati=" INSERT INTO carrello VALUES (NULL,
    '"
    .addslashes($_REQUEST['codice'])."',
    '"
    .addslashes($_REQUEST['descrizione'])."',
    '"
    .str_replace(",",".",$_REQUEST['quantita'])."',
    '"
    .str_replace(",",".",$_REQUEST['prezzo'])."',
    '"
    .addslashes($_REQUEST['iva'])."',
    )"
    ;
    a così:

    Codice PHP:
    if (isset($_REQUEST['codice'])){
    $dati = mysql_query("INSERT INTO carrello (codice, descrizione,
    quantita, prezzo_un, iva, id_cliente)
    VALUES ('"
    .addslashes($_REQUEST['codice'])."',
    '"
    .addslashes($_REQUEST['descrizione'])."',
    '"
    .str_replace(",",".",$_REQUEST['quantita'])."',
    '"
    .str_replace(",",".",$_REQUEST['prezzo'])."',
    '"
    .addslashes($_REQUEST['iva'])."',
    '
    $usercliente');");
    In quest'ultimo caso vedo il messaggio: "Non riesco ad eseguire la query 1"

    Dove sbaglio?

    Per il momento la sql4 non la prendiamo in considerazione. ci devo lavorare.
    Era solo una prova.
    Scusate, ma non sono un esperto di php e penso che nel codice sopra ci
    possano essere anche altri errori banali sui quali, se non vi dispiace,
    potete darmi dei consigli. aiutatemi, per piacere, sto impazzendo su questa pagina da un bel po'
    Grazie e buone feste.

  9. #9
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Ciao, allora, non ho capito il tuo primo problema: in che senso ti perde i dati? Se è per l'aggiornamento, è normale che a un refersh i dati di un form vengano persi. Per quanto riguarda la query, fai in questo modo: invece di scrivere ad esempio str_replace(",",".",$_REQUEST['quantita']) puoi creare un'altra variabile dove formatti la variabile $_REQUEST che andrai ad eseguire in seguito nella query.
    ESEMPIO:
    Codice PHP:
    $sql_quantita = str_replace(",",".",$_REQUEST['quantita']);
    La variabile $sql_quantita la andrai ad eseguire nella query.

    Ah, un consiglio: se le variabili che esegui in quella query, sono i dati del form, ti consiglio di utilizzare $_POST invece di $_REQUEST.

    ciao

  10. #10
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da silverseraph
    Ciao, allora, non ho capito il tuo primo problema: in che senso ti perde i dati? Se è per l'aggiornamento, è normale che a un refersh i dati di un form vengano persi. Per quanto riguarda la query, fai in questo modo: invece di scrivere ad esempio str_replace(",",".",$_REQUEST['quantita']) puoi creare un'altra variabile dove formatti la variabile $_REQUEST che andrai ad eseguire in seguito nella query.
    ESEMPIO:
    Codice PHP:
    $sql_quantita = str_replace(",",".",$_REQUEST['quantita']);
    La variabile $sql_quantita la andrai ad eseguire nella query.

    Ah, un consiglio: se le variabili che esegui in quella query, sono i dati del form, ti consiglio di utilizzare $_POST invece di $_REQUEST.

    ciao
    beh ogni volta che faccio una submit si ha il refresh.
    Come conservo quel dato che mi serve e che essenziale per intestare la fattura e associarla allo stesso cliente..fino alla prossima da intestare ad un altro.
    C'è qualcosa ancora che mi sfugge.


    ps: ah proposito ho dovuto inserire 2 form action:

    <form action=\"" . $PHP_SELF . "\" method=\"\post\">

    uno per il tasto reset e uno per la conferma altrimenti me ne funzionava uno solo (il tasto conferma),.E normale?

  11. #11
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Ivece di scrivere <form action=\"" . $PHP_SELF . "\" method=\"\post\">, scrivi: <form action=\". $PHP_SELF .\" method=\"post\">.
    Quel dato importante, potresti inserirlo in una variabile a parte, che cambia a seconda dell'intestazione. Ma quel dato viene inserito tramite form? Che contiene?

  12. #12
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da silverseraph
    Ivece di scrivere <form action=\"" . $PHP_SELF . "\" method=\"\post\">, scrivi: <form action=\". $PHP_SELF .\" method=\"post\">.
    Quel dato importante, potresti inserirlo in una variabile a parte, che cambia a seconda dell'intestazione. Ma quel dato viene inserito tramite form? Che contiene?
    Come quale?
    '".$_REQUEST['id_user']."'

    che è inviato dal form (seleziono il cliente da un menu a discesa e il codice invia il relativo ID) che si trova in un frame a sinistra e che è indipendente dal form che invia i dati degli articoli alla fattura che si trova sempre a sinistra dello schermo ma in un altro frame.
    Quando invio un nuovo articolo alla fattura la pagina fatt1.php si aggiorna e perde l'id (e l'intestazione); anceh quando clicco sul tasto conferma di cui sopra
    perdo l'd e non invio il dato.

    Avevo pensato di inserire il codice dell'intestazione in una pagina a parte (magari faccio un include) e separarlo così da fatt1.php.
    Che ne dici?
    Grazie e ciao

  13. #13
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Scusa non ho capito anchra bene a capire l'id a cosa ti serve e come lo ricavi. Ragionandoci su, potresti inserire una variabile con il metodo GET nell'url, in modo che l'id assegnato all'url, equivalga all'id che ti serve. Così, ad ogni refresh non perderai il dato.
    Comunque invece di $_REQUEST usa $_POST.
    Ultima modifica di silverseraph : 27-12-2006 alle ore 21.05.38

  14. #14
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da silverseraph
    Scusa non ho capito anchra bene a capire l'id a cosa ti serve e come lo ricavi. Ragionandoci su, potresti inserire una variabile con il metodo GET nell'url, in modo che l'id assegnato all'url, equivalga all'id che ti serve. Così, ad ogni refresh non perderai il dato.
    Comunque invece di $_REQUEST usa $_POST.
    ripeto:
    l'id user è inviato da un'altra pagina (da dove scelgo a chi intestare
    la fattura)

    hmmm..comunque questo tuo ultimo suggerimento sembra che abbia centrato il
    punto.

    Quando premo sul tasto conferma (vedi codice sopra) potrei aggiungere al form
    un campo hidden che invia la variabile alla funzione:

    function conferma($variabile con id da conservare) {..ecc

    Potrei in questo modo, se il ragionamento è esatto, (tieni presente
    che conosco poco il php e sono abbastanza arruginito sul quel poco che so ) non perdere l'id per la query.
    Poi per quanto riguarda l'intestazione che scompare
    ad ogni inserimento di articoli, pazienza, la intesto all'ultimo momento prima della conferma. Che ne pensi? intanto, se ho tempo ancora, provo e ti faccio sapere.
    grazie


    EDIT: ok sembra che funzioni!


    FunCool: Non scrivere due messaggi consecutivi, utilizza il tasto Edita.
    Ultima modifica di funcool : 29-12-2006 alle ore 10.54.47

  15. #15
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    bene, sembra che non sono rimasti problemi, o sbaglio?

  16. #16
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da silverseraph
    bene, sembra che non sono rimasti problemi, o sbaglio?
    Magari!
    Ho risolto quelli che mi assillavano.
    Ci sono altri, ma se mi applico un po' di più penso di poterli risolvere da solo.
    Se ci sono problemi mi rifaccio sentire.
    In ogni caso questa pagina è solo parte del progetto finale che vorrei realizzare.
    Tante grazie, sei stato gentilissimo.
    Ciao e buon anno se non ci risentiamo nel frattempo!

  17. #17
    incuso non è connesso Utente
    Data registrazione
    27-09-2003
    Messaggi
    173

    Predefinito

    Manca un bel LOCK della tabella, altrimenti c'e' il rischio che tra due query ti se ne infili un'altra...

  18. #18
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Prego gianluca!

    x incuso: non credo ci siano problemi per le numerose query, visto che ognuna ha una variabile diversa. Al massimo potrebbero sovrascrirsi ma ne dubito....

  19. #19
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da incuso
    Manca un bel LOCK della tabella, altrimenti c'e' il rischio che tra due query ti se ne infili un'altra...
    Lock?
    cos'è e come si fa?
    grazie


    EDIT: allora, già che ci siamo
    Dovrei passare i dati di una tabella (carrello) momentanea così
    strutturata:


    `id` int(5) NOT NULL auto_increment,
    `codice` varchar(30) NOT NULL default '',
    `descrizione` text NOT NULL,
    `quantita` int(11) NOT NULL default '0',
    `prezzo_un` int(11) NOT NULL default '0',
    `iva` int(5) NOT NULL default '0',

    a quest'altra che registra gli acquisti definitivi dei prodotti immessi nella fattura
    che si chiama prodotti_acquistati:

    `id_acquisto` int(5) NOT NULL auto_increment,
    `codice` varchar(30) NOT NULL default '',
    `descrizione` text NOT NULL,
    `quantita` int(11) NOT NULL default '0',
    `prezzo_un` int(11) NOT NULL default '0',
    `iva` int(5) NOT NULL default '0',
    `id_fattura` int(5) NOT NULL default '0',

    Dovrei passare di ogni articolo: il codice, la descrizione, la quantità, il prezzo unitario e l'iva (id_fattura lo ricavo come già avete visto, ma deve essere inserito per ogni record relativi alla fattura stessa)

    fra i vari
    mysql_affected_rows()
    mysql_fetch_row() e il ciclo for per leggere e inserire
    ogni record all'altra tabella (con l'd fattura) mi sono incartato
    Potresti dirmi come si fa precisamente, per piacere?
    Grazie


    FunCool: Non scrivere due messaggi consecutivi, utilizza il tasto Edita. Al prossimo UP chiudo la discussione.
    Ultima modifica di funcool : 30-12-2006 alle ore 11.06.18

  20. #20
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    ciao e buon anno,

    mi hanno consigliato di dare un'occhiata qua:


    http://dev.mysql.com/doc/refman/5.0...ert-select.html

    ma non ho capito bene come adattarlo alle mie esigenze,
    grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •