Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Lucada
    Registrato dal
    Apr 2005
    Messaggi
    176

    Sostituire Campi in un Array

    Salve a todos,

    mi trovo di fronte a un problema che mesi fa ero riuscito a risolvere ma che adesso non ci levo le gambe... (mannagg).

    Allora... io ho memorizzato in una sessione un array che sarebbe il carrello di un sito e-commerce.

    Vi faccio vedere se stampo l'array come viene il contenuto:

    codice:
    Array
    (
        [17] => Array
            (
                [id] => 17
                [q] => 2
            )
    
        [19] => Array
            (
                [id] => 19
                [q] => 1
            )
    
    )
    L'indice dell'array è l'id dell'ggetto messo nel carrello così sono sicuro che è univoco... e al suo interneto contiene appunto l'id dell'oggetto e la quantità

    Fin quà tutto perfetto... il problema sorge quando io vado a salvare il carrello nel db come storico ordini, perchè se lo salvo così... e poi elimino ad esempio il prodotto con id "19" (vedi array sopra come esempio) io non saprò mai che prodotto ha comprato il tizio.

    Quindi vorrei... in fase finale prima di salvare l'array sostituire l'id del prodotto con il nome del prodotto e farlo diventare quindi in questa maniera l'array:

    codice:
    Array
    (
        [17] => Array
            (
                [id] => Telecamera Sony
                [q] => 2
            )
    
        [19] => Array
            (
                [id] => Monitor Lcd
                [q] => 1
            )
    
    )
    Così facendo io lo posso salvare tranquillamente nel db... e posso eliminare i vari prodotti perchè quando andrò a vedere lo storico ordino vedrò cmq sia che ho venduto due telecamere sony e un monitor lcd a quell'utente.

    Pensavo di scorrermi l'array magari con un foreach e andarlo a sostituire ma sono un po' in difficolta e arrugginito.

    Spero che mi possiate dare una mano...

    Grazie mille in anticipo... per qualsiasi cosa chiedete.
    Il vero io è quello che tu sei, non quello che gli altri hanno detto di te. [Paulo Coelho]

  2. #2
    Utente di HTML.it L'avatar di Lucada
    Registrato dal
    Apr 2005
    Messaggi
    176
    Help... nessuno sa aiutarmi?
    Il vero io è quello che tu sei, non quello che gli altri hanno detto di te. [Paulo Coelho]

  3. #3
    Utente di HTML.it L'avatar di Lucada
    Registrato dal
    Apr 2005
    Messaggi
    176
    Vabbeh... sono riuscito a trovare una soluzione per conto mio e funziona perfettamente.

    Non penso sia scritta perfettamente... se avete comunque consigli per migliorarla vi posto il codice:

    codice:
    #Reset sessioni per far tornare a capo l'array
    reset($_SESSION['shop']);
    #Sostituisco gli id con i nomi dei prodotti
    while (list ($indice,$contenuto) = each ($_SESSION['shop'])) { 
            $idp = $_SESSION['shop'][$indice]['id'];
            $qup = $_SESSION['shop'][$indice]['q'];
    	#Prelevo il nome del prodotto per sostituirlo al suo id
    	$eliimg = "SELECT titolo FROM prodotti WHERE idprod='".$idp."'";
    	$leggieliimg = mysql_query($eliimg,$conn) or die('Errore durante la query: '. mysql_error());
    	$lei= mysql_fetch_array($leggieliimg);
    	$titolo = $lei['titolo'];
    	#Aggiorno il prodotto
    	$_SESSION['shop'][$idp]['id'] = $titolo;
    	$_SESSION['shop'][$idp]['q'] = $qup;
    }
    Bye
    Il vero io è quello che tu sei, non quello che gli altri hanno detto di te. [Paulo Coelho]

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.