Pagina 4 di 5 primaprima ... 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 31 a 40 su 44
  1. #31
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    accodi tutto in una variabile??...beato te.
    ti prego fammi un esempio...il più simile possibile a quello di prima..
    lo so che ti sto stressando ma siamo quasi approdati

  2. #32
    Originariamente inviato da bobonzo
    accodi tutto in una variabile??...beato te.
    ti prego fammi un esempio...il più simile possibile a quello di prima..
    lo so che ti sto stressando ma siamo quasi approdati
    $var="prodotti ordinati: \r\n";
    foreach($carrello as £prod=>$qta)
    {
    //fai la query...
    //invece di fare echo bla bla fai

    $var.= "bla bla \r\n";

    }

    $var poi va nel testo della mail


  3. #33
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    i tuoi esempi sono delle rivelazioni!!! VVoVe:
    tutto ok. arriva una email a me ed una all'ipotetico compratore.

    2 quesiti:

    1. la variabile $tot continua a restituire un valore totale zenza decimali.

    2. a questo punto non capisco due cose:

    a. prima di far inviare una email a me con la notifica dell'ordine vorrei inserire i dati nel db con stato=da confermare; dunque il sistema invia una email al cliente con un link cliccando sul quale si passa da stato="da confermare" a "confermato" (avevo pensato di inviare il link ad uno script che guardando all'id dell'ordine contenuto nella email faccia un UPDATE al record status della tabella ordini....ma è una soluzione sicura?...cioè uno qualunque potrebbe cambiare status).

    di solito sono abituato ad inviare al db campi di cui conosco nome e numero (ad es. $nome, $cognome, $indirizzo ...faccio la query e li inserisco in tre differenti record.) ma che succede se come in questo caso non so quanti prodotti sono stati scelti? devo riunire anche qui tutto in una $var (magari separando gli $id prodotto da un segno separatore come il trattino - e fare lo stesso per le quantità) e poi inviare tutto in un campo...per poi poterlo prelevare nella pagina ordini.php e mostrarne i dettagli?

    cioè se ho una tabella
    ordini -> id_ordine | id prodotto | quantità_prodotto | costo_per_prodotto

    se gli $id prodotto sono molteplici e lo stesso dicasi per le quantità...come faccio ad inviare i valori a record unici? ok per id_ordine ma per gli altri?
    grazie gui

  4. #34
    Originariamente inviato da bobonzo
    i tuoi esempi sono delle rivelazioni!!! VVoVe:
    tutto ok. arriva una email a me ed una all'ipotetico compratore.

    2 quesiti:

    1. la variabile $tot continua a restituire un valore totale zenza decimali.
    sprintf("%01.2f",$tot);

    2. a questo punto non capisco due cose:

    a. prima di far inviare una email a me con la notifica dell'ordine vorrei inserire i dati nel db con stato=da confermare; dunque il sistema invia una email al cliente con un link cliccando sul quale si passa da stato="da confermare" a "confermato" (avevo pensato di inviare il link ad uno script che guardando all'id dell'ordine contenuto nella email faccia un UPDATE al record status della tabella ordini....ma è una soluzione sicura?...cioè uno qualunque potrebbe cambiare status).
    bravo! se mandi l'id in chiaro io cambio l'id anche solo per vedere che succede.. e confermo l'ordine di qualcun'altro
    Fai una ricerchina sul forum.... ci dev'essere un thread in cui si parla approfonditamente di come fare un link di conferma per email (in quel caso serve a confermare che l'e-mail sia valida... in questo non è che cambi poi tanto)

    di solito sono abituato ad inviare al db campi di cui conosco nome e numero (ad es. $nome, $cognome, $indirizzo ...faccio la query e li inserisco in tre differenti record.) ma che succede se come in questo caso non so quanti prodotti sono stati scelti? devo riunire anche qui tutto in una $var (magari separando gli $id prodotto da un segno separatore come il trattino - e fare lo stesso per le quantità) e poi inviare tutto in un campo...per poi poterlo prelevare nella pagina ordini.php e mostrarne i dettagli?

    cioè se ho una tabella
    ordini -> id_ordine | id prodotto | quantità_prodotto | costo_per_prodotto

    se gli $id prodotto sono molteplici e lo stesso dicasi per le quantità...come faccio ad inviare i valori a record unici? ok per id_ordine ma per gli altri?
    grazie gui
    Un ciclo e inserisci prodotto peer prodotto.... bada che id ordine in questo caso non dev'essere autoincrementale.. dev'essere semmai autoincrementale nell'altra tabella.. qui devi solo riportarne il valore.



  5. #35
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    per il link di conferma allora poi vedo.

    dunque le tabelle devono essere 2.

    io prima inserisco alcuni dati con id autoincrementale e lascio che il db generi quello che sarà l'identificativo dell'ordine
    ordini -> id_ordine (per es. è il 5) | id_cliente | stato

    poi creo un ciclo(come?) per inserire le varie voci e che hanno come riferimento il 5 (non incrementale nella tabella)

    dettagli_ordini -> 5 | $id | $qta | $prezzo | $prezzo*$qta
    5 | $id | $qta | $prezzo | $prezzo*$qta
    5 | $id | $qta | $prezzo | $prezzo*$qta
    cioè la costante è l'id dell'ordine che sarà elemento comune di tutti i record.

    dunque poi nella pagina ordini.php posso recuperare una lista con:
    id_ordine | nome_cliente (per relazione con tabella clienti) | stato (che sarà fino al click sul link NON CONFERMATO...anche se creando la registrazioni utenti basterà la conferma già avvenuta in fase di registrazione).

    cliccando su id_ordine posso accedere a ordine_dettaglio.php dove mostro la lista di tutti i prodotti in tab dettagli_ordini che hanno lo stesso id_ordine

    se il ragionamento è corretto mi fai un piccolissimo esempio per "ciclare" la query per l'inserimento in dettagli_ordin ?
    scusa ma dall'esempio potrei combinare qualcosa :rollo:

  6. #36
    Originariamente inviato da bobonzo
    poi creo un ciclo(come?) per inserire le varie voci e che hanno come riferimento il 5 (non incrementale nella tabella)
    lo stesso ciclo con cui crei il testo della e-mail lo pui utilizzare per fare la query... hi tutti i dati nella sessione.. allora che fai? leggi prodotto per prodotto.. e prodotto per prodotto inserisci l'ordine e accodi alla e-mail...

  7. #37
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    domandina in progress...

    inserimento in ordini con id_ordine autoincrementale (dunque lo metto fuori dal ciclo)

    Codice PHP:
    $sql2="INSERT INTO ordini (Id_ordine,Data_ordine,Nome_cliente,Email_cliente,Stato_ordine) VALUES('$id',NOW(),'$nomex','$emailx','in attesa')" or die ("Inserimento ordine non riuscito"); 
    inserimento in ordini_dettaglio dei soliti valori e dunque nel ciclo.
    Come diavolo scopro qual'è l'id dell'ordine che ho appena inserito con la query di su per poi passarlo alla query di sotto?
    Codice PHP:
    $sql="INSERT INTO ordini_dettaglio (Id_ordine,Prezzo,Qta,Costo,Totale) VALUES('$id','$prezzo','$qta','$costo','$totale')" or die ("Inserimento ordine non riuscito"); 

  8. #38

  9. #39
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    vi adoro

  10. #40
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    2 problemini:

    dopo aver inserito gli elementi identificativi dell'ordine in ORDINI, nel ciclo inserisco la successiva query per inserire ogni prodotto in ORDINI_DETTAGLI e non so perchè ma mi inserisce solo il primo prodotto in cima alla lista. riporto solo il ciclo:
    ($last_id = mysql_insert_id()
    Codice PHP:
      foreach ($_SESSION['jnb_quantity'] as $prod=>$qta)
    {
    include (
    "config.php");
       
    //mi connetto a mysql
    $db2 mysql_connect($host$user$password)or die("Errore nella connessione a MySQL");
    mysql_select_db($dbname$db2)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");
        
    $query"SELECT * FROM libri where id = '$prod'";
        
    $rs mysql_query($query) or die(mysql_error());  
        
    $row=mysql_fetch_array($rs);
        
    $titolo $row['titolo'];
        
    $prezzo $row['prezzo'];
        
    $titolo str_replace('
    '
    ,'',$titolo);
        
    $costo sprintf("%01.2f",$prezzo*$qta); 
        
    $tot+=sprintf("%01.2f",$costo);
        
    $totale=sprintf("%01.2f",$tot);

    $body.= "$titolo          ";
    $body.= "$prezzo          ";
    $body.= "$qta             ";
    $body.= "$costo           ";
    $body.= "\n\n";

    $db3 mysql_connect($host$user$password)or die("Errore nella connessione a MySQL");
    mysql_select_db("$dbname")or die("Errore nella selezione del DB !");

    $sql_dettaglio="INSERT INTO ordini_dettaglio (Id_ordine,Id_prodotto,Prezzo,Qta,Costo,Totale) VALUES('$last_id','$prod','$prezzo','$qta','$costo','$totale')" or die ("Inserimento ordine non riuscito");
    mysql_db_query("$dbname",$sql_dettaglio,$db3);
    mysql_close();

    2. per il link di conferma dell'email, ecco lo script che controlla se la stringa md5 (id+parolasegreta) è uguale...e se sì faccio l'update: come diavolo è che non mi aggiorna il record in questione?

    Codice PHP:
    <?php
    if(md5($_GET['id'].'segreta') == $_GET['stringa']) 
    {
    $prendi=$_GET['id'];
    include (
    "config.php");
       
    //mi connetto a mysql
    $db mysql_connect($host$user$password)or die("Errore nella connessione a MySQL");
    mysql_select_db($dbname$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");
    mysql_select_db("$dbname")or die("Errore nella selezione del DB !");
    $sql=("UPDATE ordini stato_ordine='1' WHERE id='$prendi'") or die ("Modifica stato ordine non riuscita");
    mysql_db_query("$dbname",$sql,$db);
    mysql_close();


    else 

    echo 
    "Non disponi dell'autorizzazione necessaria a confermare l'ordine."
    exit; 

    ?>
    grazie

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 © 2026 vBulletin Solutions, Inc. All rights reserved.