• User Newbie

    Leggere dati da una sessione e eseguire un if else

    Buon giorno a tutti. Sono ancora a chiedere un aiuto per risolvere un problema che mi assilla. Provo di spegarlo:

    • Ho un carrello elettronico con articoli inseriti
    • Gli articoli sono salvati su una sessione
    • Alcuni articoli hanno la specifica "consegna gratuita" ($array[congratis]), altri no

    ecco il problema:

    Se nel carrello esistono articoli con consegna gratuita tutta la consegna è gratuita, senno la consegna è a pagamento con un 1,5% sul totale.

    ecco cosa ho:

    $dati = mysql_query("SELECT * FROM art ORDER BY id ASC");
    $consegnagratis = 1;
    $esci = 0;
    while ($array = mysql_fetch_array($dati) AND $esci == '0')
    {
    $pro = "prodotto[$array[id]]";
    if(isset($_SESSION[$pro]))
    {
    if($array[congratis] == '0')
    {
    $consegnagratis = 0;
    $esci = 1;
    }

    $totale = $totale + $parziale;
    $totalone = $totale;
    $_SESSION[totale] = $totale;
    $_SESSION[totalone] = $totalone;
    }
    }

    if($consegnagratis == '0')
    {
    //CALCOLA I COSTI DI CONSEGNA
    $costiconsegna = $_SESSION[totalone] * 0,015;
    print "La consegna costa $costiconsegna ";
    }
    else
    {
    // SCRIVI CHE LA CONSEGNA E' GRATUITA
    print "La consegna è Gratuita";

    }

    Bene, non funziona, ovvero se inserisco un articolo con consegna gratuita rimane sempre consegna a pagamento......

    dove sbaglio?
    Grazie anticipatamente a chi potrà, vorrà.

    rrweb


  • User Attivo

    Credo sia un problema di MySQL o semplicemente delle if, ma a cosa servirebbe la variabile esci?

    Comunque, prova così:

    [PHP] while ($array = mysql_fetch_array($dati) AND $esci == '0')
    {
    $pro = "prodotto[$array[id]]";
    if(isset($_SESSION[$pro]))
    {
    if($array[congratis] == '0')
    {
    $consegnagratis = 0;
    $esci = 1;

    $totale = $totale + $parziale;
    $totalone = $totale;
    $_SESSION[totale] = $totale;
    $_SESSION[totalone] = $totalone;
    }
    }
    }[/PHP]


  • User Newbie

    la variabile esci dovrebbe far smettere il controllo nel while appena trova un articolo con le caratteristiche richieste.

    nel mysql che problemi dovrebbero esserci?
    e nelle if else?

    grazie.