array di array in un ciclo for

  • Creatore Discussione Creatore Discussione benfy85
  • Data di inizio Data di inizio

benfy85

Nuovo Utente
15 Feb 2009
14
0
0
Buongiorno a tutti,
ho un problema che non riesco a risolvere...
praticamente dovrei fare degli array che contengano valori di altri array, che cambiano ad ogni iterazione del ciclo...

Codice:
 echo "<table id=\"ordine\" border=\"2\">
            <tr>
            <th>Prodotto</th>
            <th>Descrizione</th>
            <th>Prezzo unitario</th>
            <th>Quantita'</th>
            <th>Luogo di Spedizione</th>
            <th>Importo</th>
            </tr>";
     $uquery = "SELECT nazione FROM utente WHERE email = '$utente'";
     $ures = mysql_query($uquery, $link);
     $naz = mysql_fetch_row($ures); 
         
   for($i=0; $i<count($prod); $i++)
   {
     $ris = dividi($prod[$i]);
    
     $query = "SELECT v.nome, v.descrizione, i.prezzo, i.quantita, i.partita FROM vini v, inventario i WHERE v.id_vino = '$ris[0]' and v.id_vino = i.id_vino";
     $result = mysql_query($query, $link);
     $arr = mysql_fetch_row($result);
     
     $apar = array();                    
     $avino = array();
     $aquant = array();
     
     $avino = $ris[0];        // e' l'array che devo creare
     $apar = $arr[4];        // e' l'array che devo creare
     
      echo "<tr>
	      <td>$arr[0]</td>
	      <td>$arr[1]</td>
	      <td>$arr[2]</td>";
		 if($ris[1] < $arr[3]) 
                 { 
                    $tquant = $ris[1];
                    echo "<td>$tquant</td>";
                    $aquant[] = $tquant;         // e' l'array che devo creare
                 }
                 else 
                { 
                   $tquant = $arr[3]; 
                   echo"<td id=\"note\">$tquant</td>";
                   echo "<p>La quantita' del " . $arr[0] . " ancora disponibile e' di: " . $arr[3] . " bottiglie.</p>";
                   $aquant[] = $tquant;          // e' l'array che devo creare
                }
           echo "<td>$naz[0]</td>";
	         if ($naz[0] == "italia") 
                {
                    $snaz = 0; 
		    $ssped = $snaz + $sped;
                    $timport =($tquant * $arr[2]);
                    $imp += $timport;
                  echo "<td>$timport</td>
                          </tr>";  
                 }    
                 else 
                {
                    $sped = 6;
                    $ssped = $snaz + $sped;
                    $timport =($tquant * $arr[2]);
                    $imp += $timport;
                  echo "<td>$timport</td>
                          </tr>";
                 }		          
      }
      $totimp = $imp + $ssped; 
      
        echo "<tr>
                 <th colspan=\"2\">Importo Totale</th>
                 <th colspan=\"4\">$totimp</th>
                 </tr>";
      
           echo "</table>
                 <br/>";

Ci sarebbe qualcuno che ha già affrontato il problema?
O se non è possibile farlo su array come posso passare tanti paramentri di prodotti diversi al database, senza trasformarli in stringa e mandarli via url e riscompattarli per fare le query?
Grazie, mi sono proprio arenata... :D
 
Vorrei aiutarti

Ciao benfy85, io vorrei aiutarti ma la verità è che non capisco bene la domanda. Facciamo una cosa più semplice, menziona le tabelle che t'interessano e i loro campi ad esempio:

Tabella1
========
1- nome
2- cognome

Tabella2
=======
1- età
2- telefono

e cosí via, da quello che ho potuto vedere nel codice le tabelle d'interesse sono tre. E poi dimmi quale è il risultato che vorresti avere da queste tabelle. Così capirò meglio e potrò darti una soluzione. Se la cosa è urgente e non dovessi trovarmi nel forum puoi contattarmi attraverso il mio sito http://www.sitoesitiweb.it/
Tanti saluti.
 
In verità non sono + tabelle, ma ne creo una sola, prendendo dati da query e cookie.
La mia intenzione era prendere i dati che ho messo in una tabella riepilogativa utilizzando il for sui cookie e con questi dati, fare un array, metterli in un URL che l'utente deve cliccare per accedere alla pagina in php che avrà tutte le insert nel database, dei dati ricevuti tramite url.

Per es.
i miei cookie sono numerici e ad ogni cookie è "assegnato" un prodotto, per es:
- nome cookie: 1
- contenuto: $id_vino (identificatore del vino nel db), $quant(quantità definita tramite form dall'utente)

in carrello.php ho preso i dati del cookie e siccome devo guardar tutti i cookie, faccio un ciclo che me li prenda tutti...
con i dati del cookie e le query, creo una <table> che ha:
- nome prodotto
- descrizione
- quantità
- prezzo a prodotto
- importo totale

dopodichè, dovrei fare degli array che contengano per quanti prodotti ho:
- il nome dei prodotti
- la quantità
- il prezzo
ma siccome non mi riusciva, ho deciso di fare un array unico per i prodotti, praticamente salvando le informazioni che mi servono in una stringa es. $nome."-".$quantita."-".$prezzo che metto nell'array $prod[], dove con $prod[0] indico il prodotto che si riferisce al cookie 1 e così via...
adesso devo mettere tale array in un url che dovrà cliccare l'utente per confermare l'ordine e quindi accedere alla pagina dove ci saranno le query insert dei dati nel database..
In questo caso, come posso fare?

Grazie :D
 
Ultima modifica:
Risposta

<?php

/* ammesso che tu abbia già raccolto i tuoi Cookie vediamo questo esempio: */

$myCookie[0]["ID"] = 3 ;
$myCookie[0]["quantita"] = 2 ;

$myCookie[1]["ID"] = 5 ;
$myCookie[1]["quantita"] = 4 ;

/* facciamo il percorso del array $myCookie */

foreach ( $myCookie as $ID => $runArray )
{
/* immagina che GetRowsRS sia una funzione che
riporta il risultato di qualunque query in un Array
quì http://es.php.net/manual/es/function.mysql-query.php
trovi abbastanza informazioni su come farla. */

$getResult = GetRowsRS("SELECT * FROM vini WHERE id_vino = '".$runArray["ID"]."'") ;

$newArray[$ID]["nome"] = $getResult[0]["nome"] ;
$newArray[$ID]["descrizione"] = $getResult[0]["descrizione"] ;
$newArray[$ID]["prezzo"] = $getResult[0]["prezzo"] ;
$newArray[$ID]["quantita"] = $runArray["quantita"] ;
$newArray[$ID]["prezzo_totale"] = $runArray["quantita"] * $getResult[0]["prezzo"] ;
}

/* ora non so cosa pretendi di fare, ma per qualunque cosa tu
voglia fare negli script successivi ti puoi facilmente portare
questo nuovo Array in un modo molto semplice */

$_SESSION["newArray"] = $newArray ;

/* e così il tuo array sarà con te come un matrimonio,
finchè morte(ovviamente la morte della session) non vi separi :-)
certo se hai dichiarata la session, vedi:
http://es.php.net/manual/es/reserved.variables.session.php */

?>
 
Risosta

A dire la verità non voglio sembrare interessato, ma se davvero mi vuoi ringraziare fammi gentilmente una critica del mio sito e così contribuisci a migliorarlo.
 
A dire la verità non voglio sembrare interessato, ma se davvero mi vuoi ringraziare fammi gentilmente una critica del mio sito e così contribuisci a migliorarlo.

Ho fatto un giro... e non saprei che dire.. è molto bello e curato..hai messo tantissimi specchietti informativi.. ma il punto è.. da cosa ho capito è un sito di informazione e permette anche all'utente di collegarsi con te, per realizzare un suo sito.. però a mio avviso, e penso che lo stai anche già facendo.. mancano esempi o fonti che permettono all'utente di vedere un esempio di sito realizzato per altri scopi (tipo e-commerce)... praticamente più informazioni sull'offerta che dai all'utente...
perchè informare di cos'è internet e tutte le sue utilità, va benissimo, perchè alzi l'interesse di coloro che vogliono sapere com'è, siccome non conoscono ancora internet, ma non basta, se vuoi avere attenzione.. perché devi guardare anche chi, non ha interesse a conoscere "la storia" di internet, ma le interessa di + cosa può offrire..

Ciau ciau..
cmq è un lavoro veramente bello e curato.. spero di raggiungere il tuo livello :D
 
Risposta

Grazie per aver visitato il sito e per la tua opinione, ed hai moltissima raggione. Nel sito ci sarà tutto quello che hai commentato ed altro, ma ci vuole un poco di tempo, sicuramente hai visto le scritte "IN COSTRUZIONE" il sito è stato finalmente messo online e registrato su google appena 13 giorni fa. Voglio dire che ancora mi manca tanto da fare. Ti ringrazio ancora per la tua gentileza.
 

Discussioni simili