Pagina 2 di 5 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 44
  1. #11
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    pensavo avessi detto facile...non pensavo ore di lavoro. non voglio che lo faccia tu ci mancherebbe
    cmq mi dai giusto una mano...?

    se io sul prodotto X metto un link che punta in insert.php e invio $id $prezzo presi dal db e quantità fissa ad 1.
    in insert.php metto

    session_start();

    $_SESSION['prod'][$id]['nome'] = '$id' ;
    $_SESSION['prod'][$id]['prezzo'] = '$prezzo' ;
    $_SESSION['prod'][$id]['quanto] = 1 ;



    che dici?...veneggio?

  2. #12
    Originariamente inviato da bobonzo
    pensavo avessi detto facile...non pensavo ore di lavoro. non voglio che lo faccia tu ci mancherebbe
    cmq mi dai giusto una mano...?

    se io sul prodotto X metto un link che punta in insert.php e invio $id $prezzo presi dal db e quantità fissa ad 1.
    in insert.php metto

    session_start();

    $_SESSION['prod'][$id]['nome'] = '$id' ;
    $_SESSION['prod'][$id]['prezzo'] = '$prezzo' ;
    $_SESSION['prod'][$id]['quanto] = 1 ;



    che dici?...veneggio?
    non vaneggi affatto.. funziona più o meno così...ma io mi terrei solo questo:
    $_SESSION['prod'][$id]['quanto'] = 1 ;

    l'id ce l'hai già.. il prezzo saà nel database.. ate interessa solo sapere quali id ci sono in prod, e quale quantità è loro associata...
    e ti ricavi tutto così...

    foreach ($_SESSION['prod'][$id] as $prod=>$qta)
    {
    echo "prodotto $prod, quantità $qta";
    }

    dentro il ciclo poi giocherai coi prezzi...

    l'unica raccomandazione... quando devi aggiungere un prodotto al carrello se fai solo

    $_SESSION['prod'][$id]['quanto'] = 1 ;

    sovrascrivi la quantità eventualmente specificata porecedentemente (se il rpododtto già esiste)
    Se invece vuoi aggiungere la quantità... prima verifichi che eesista $_SESSION['prod'][$id].. e poi casomai sommi il vecchio valore al nuovo.

    Per eliminare elimini $_SESSION['prod'][$id]
    per modificare.. come sopra (fondamentalmente se implementi che una nuova quantità sovrascrive la prima, puoi usare sempre la funzione per l'aggiunta).

    E' facile, moto facile.. ma ciò non vuol dire che non ci voglia qualche ora per scriptare tutto per bene

    La strada è questa.. un po' di manuali.. un po' di voglia.. un po' di coraggio.. e quando proprio non ne vieni a capo.. un post qua ^_^


  3. #13
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    dunque dici che non esiste modo di "salvare" lo script in javascript...?

    sto provando a fare qualcosa...ma le disfunzioni sono diverse

    Codice PHP:
    <?

    session_start
    (); 

    $id $_GET['id'];
    $act $_GET['act'];

    if (
    $act 'add') {

    $_SESSION['prod'][$id]['quanto'] = ;

    }
    if (
    $act 'view') {
    foreach(
    $_SESSION['prod'][$id] as $key => $value ) {

         echo 
    "Codice prodotto $id = $key => $value 
    "
    ;
         }
    echo
    "<pre>";
    print_r($_SESSION); 
    }
    if (
    $act 'delall') {
    unset(
    $_SESSION['prod']); 


    if (
    $act 'delone') {
    unset(
    $_SESSION['prod'][$id]['quanto']); 
    }

    ?>

    [url="carrello.php?act=add&id=5"]Aggiungi al carrello[/url]

    [url="carrello.php?act=delone&id=5"]Elimina articolo[/url]

    [url="carrello.php?act=view"]Controlla il carrello[/url]

    [url="carrello.php?act=delall"]Svuota il carrello[/url]

  4. #14
    Originariamente inviato da bobonzo
    dunque dici che non esiste modo di "salvare" lo script in javascript...?
    dipende da che intendi... ma in linea di massima con JS non vai troppo lontano: puoi gestire un carrello e inviare, tramite form, una e-mail malamente formattata a mo' di conferma ordine... fine.
    Ad ogni modo avrai bisogno di PHP peer leggeere i prodotti da DB.. a meno di non pensare l'assurdità di inserire staticamente i prodotti in una normale pagina html....

    Insomma.. le cose si fanno comunque.. ma c'è modo e modo.

    Quanto ai tuoi problemi se non dici esattamente quali sono.. mica posso mettermi a fare l'analisi riga per riga del tuo codice. Cerca di individuare ed isolare i problemi (ad esmepio stampare i valori delle variabili per capire in quale zona del codice qualcosa non va come dovrebbee)... poi se non riesci da solo posta qualcosa di dettagliato ma allo stesso tempo sintetico... ovvero per dettagliato non intendo postare 850 righe di codice e chiedere "cosa non va?"... intendo solo postare il codice necessario (quello interessato intuitivamente al problema) evitando di mettere in codice le parti "pulite".. che vanno semmai riassunte nelle funzionalità se queste influenzano la parte in analisi. E poi sopratutto riportare eventuali messaggi di errore e/o comportamenti inattesi.

    non capisco perchè tanti utenti abbiano difficoltà a cpaire queste cose e si limitano a postare il codice chiedendo "perchè non va?". Come chiedere ad unmeccanico di capire perchè una macchina non parte, facendogli guardare solo la carrozzeria.

  5. #15
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    hai ragion ti riassumo i problemi.
    è esattamente quello che vorrei fare...mandare una semplice email e contestualmente far inserire eventualmente in db i campi della email.ecco il motivo per cui sono ancora interessato al js...ero quasi arrivato alal fine.

    1.

    il carrello in js legge il cookie e mi stampa i valori (ad es. sotto riporto quello che dovrebbe essere il nome dell'articolo)

    codice:
    nomearticolo=string.substring(subpuntatore, puntatore);
    			document.write('<td align="left"><font face="Verdana, Arial, Helvetica, sans-serif"> '+string.substring(subpuntatore, puntatore)+'</font></td>');
    ti chiedo: se il nome dell'articolo fosse un $id prodotto da me inserito sempre tramite js nel cookie...c'è modo di risalire al nome articolo accedendo al db?
    cioè fare una select nome from prodotti where id = '+string.substring(subpuntatore, puntatore)+'

    2.

    la pagina per il riepilogo ordini costruisce ancora una form in javascript. devo inviare i campi ad uno script che invii tutto con la funzione mail.
    nessun problema per i campi di input "statici" come nome, cognome ecc.
    ma con i campi creati da js come al solito problemi: cioè non riesco ad individuare i nomi degli input da inviare. forse perchè non sono fissi e variano a seconda delle quantità? cioè i prodotti possono essere due, tre, otto ecc.?


    codice:
    while (string.charAt(puntatore) != "@") puntatore++;
    			document.write('<td align="right"><input type="text" name="Articolo'+cont+'" size="20"');
    			document.write('value="'+string.substring(subpuntatore, puntatore)+'" onFocus="this.blur()">');
    			puntatore++;
    			subpuntatore=puntatore;
    			while (string.charAt(puntatore) != "@") puntatore++;
    			prezzo=parseFloat(string.substring(subpuntatore, puntatore));
    			document.write('<input type="hidden" name="Prezzo'+cont+'" value="'+prezzo+'"></td>');
    ho fatto il possibile per essere chiaro...e sintetico

  6. #16
    Originariamente inviato da bobonzo
    ti chiedo: se il nome dell'articolo fosse un $id prodotto da me inserito sempre tramite js nel cookie...c'è modo di risalire al nome articolo accedendo al db?
    cioè fare una select nome from prodotti where id = '+string.substring(subpuntatore, puntatore)+'
    avendo l'id puoi fare la select....
    ma l'id non ce l'hai.. c el'ha Javascript.... e javascript viene eseguito sul client, menter la query viene eseguita sul server.
    Ti stai complicando inutilmente la vita.

    ma con i campi creati da js come al solito problemi: cioè non riesco ad individuare i nomi degli input da inviare. forse perchè non sono fissi e variano a seconda delle quantità? cioè i prodotti possono essere due, tre, otto ecc.?
    devi fare un ciclo. Fai tutti i campi del tipo prod1 prod2 prod3.... da php fai un ciclo su prod$i con $i che cicla... finchè trovi che esiste $_POST["prod$i"] allora ci sono prodotti....

  7. #17
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    mi aiuteresti a personalizzare questo script? funziona ma qualcosina non va.
    1. il problema è che se aggiorno la pagina del carrello aumenta la quantità dell'ultimo prodotto aggiunto (ma mi sa che è normale, giusto?).
    2. nella parte di codice sotto, il carrello viene mostrato...come faccio a recuperare dal db il nome prodotto?
    in sostanza vorrei intercalare nel codice sotto una query del tipo:
    Codice PHP:
    $query"SELECT * FROM libri where titolo = '" $HTTP_GET_VARS['product'] . "'"; }
    $rs mysql_query($query) or die(mysql_error());
    while (
    $row=mysql_fetch_array($rs)) { 
    $titolo $row["titolo"];

    e mostrare il titolo anzichè l'id del prodotto in sessione
    grazie gui

    questo l'output del carrello
    grazie
    Codice PHP:
    if ($_SESSION['jnb_total_products'] > 0){

    echo 
    'BASKET LIST

    '
    ;

    // Because the product name is the index key, we will list the jnb_quantity variable keys
    $array_products array_keys($_SESSION['jnb_quantity']);

    foreach (
    $array_products as $product){

    echo
    '[url="buy.php?action=subtract&product=' $product '&quantidade=1"]' $product '[/url] qtd: ' $_SESSION['jnb_quantity'][$product] . '
    '
    ;



    }

    echo 
    '

    '
    ;



  8. #18
    Originariamente inviato da bobonzo
    mi aiuteresti a personalizzare questo script? funziona ma qualcosina non va.
    1. il problema è che se aggiorno la pagina del carrello aumenta la quantità dell'ultimo prodotto aggiunto (ma mi sa che è normale, giusto?).
    dipende da cosa vuoi... se vuoi che un secondo ordine dello stesso prodotto si sommi all'ordine precedente, è giusto.. se vuoi che lo sostituisca.. è sbagliato... ma ti basta cambiare l'assegnamento alla variabile...

    2. nella parte di codice sotto, il carrello viene mostrato...come faccio a recuperare dal db il nome prodotto?
    in sostanza vorrei intercalare nel codice sotto una query del tipo:
    Codice PHP:
    $query"SELECT * FROM libri where titolo = '" $HTTP_GET_VARS['product'] . "'"; }
    $rs mysql_query($query) or die(mysql_error());
    while (
    $row=mysql_fetch_array($rs)) { 
    $titolo $row["titolo"];

    e mostrare il titolo anzichè l'id del prodotto in sessione
    grazie gui
    Primo: disinstalla php e installane uno cheabbia meno di 3 anni (quelli che ha il tuo).. perchè HTTP_GET_VARS probabilmente non esiste più nel 99% dei server web.

    In secondo luogo.. ionvece di usare una variabile letta da get, userai quella letta da sessione... per ogni prodotto estrarrai i dati e li stamperai come meglio credi.

    questo l'output del carrello
    grazie
    Codice PHP:
    if ($_SESSION['jnb_total_products'] > 0){

    echo 
    'BASKET LIST

    '
    ;

    // Because the product name is the index key, we will list the jnb_quantity variable keys
    $array_products array_keys($_SESSION['jnb_quantity']);

    foreach (
    $array_products as $product){

    echo
    '[url="buy.php?action=subtract&product=' $product '&quantidade=1"]' $product '[/url] qtd: ' $_SESSION['jnb_quantity'][$product] . '
    '
    ;



    }

    echo 
    '

    '
    ;


    è un po' diverso da quello che ti avevo consigliato io... io ti avevo consigliato un array in cuila chiave è l'id e il valore è la quantità...

    a quel punto smeplicemente scorri tutto l'array (come fa qua) chiave per chiave.. e hai l'id, con cui estrai il prodotto dal db, e la quantità.. con cui calcoli il costo totale....

    la pagina del carrello non fa altro che ricevere in get 3 cose: l'azione sul prodotto (inserisci, cancella, aggiorna), l'id del prodotto e la quantità... in base a questo ti gestisci l'array di cui sopra e lo stampi nel carrello come ti ho detto (per ognii id titri fuori i dtai dal DB e hai le quantità e tutto quello che ti serve).
    Quando poi il cliente vuole confermare l'ordine di quelo che sta nel carrello lo mandi ad un'altra pagina in cui calcoli i prezzi (prodotto per prodotto e li sommi) e invii l'ordine (se vuoi solo mandare una e-mail ti basta ripetere più o meno il ciclo del carrello.. solo che invece di buttare tutto in output accodi tutto in una variabile che poi sarà il contenuto della e-mail)

  9. #19
    Utente di HTML.it L'avatar di bobonzo
    Registrato dal
    Jul 2000
    Messaggi
    495
    gui io da solo non lo so fare...ecco perchè mi appoggio su spunti di altri.

    non risco a capire come concretamente intercalare in questo array la query per NOME e PREZZO

    Codice PHP:
    $array_products array_keys($_SESSION['jnb_quantity']); 

    foreach (
    $array_products as $product){ 

    echo
    '[url="buy.php?action=subtract&product=' $product '&quantidade=1"]' $product '[/url] qtd: ' $_SESSION['jnb_quantity'][$product] . '
    '






  10. #20
    sì, ma se non ci capiamo sull'impostazione (e parliamo in italiano prima che in php) non riesco a capire quel pezzo di codice come funziona in relazione al resto.

    Spiegami a aprole cos'hai fatto fin'ora...

    io te l'avevo detto nei vecchi post come gestire tutto a grandi linee.. se mi dici a grandi linee cosa ha fatto, allora posso capire il dettaglio....

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.