[PHP] Array multidimensionale

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio
Stato
Chiusa ad ulteriori risposte.

Monital

Utente Attivo
15 Apr 2009
778
2
18
Salve,

mi sto incaponendo su una cosa però sto trovando molto poco in giro al riguardo di questo tipo di array, visto che in unos cript devo eseguire diverse estrazioni stavo pensando di usare questo tipo di array (che mi vine fuori da un estrazione)
PHP:
array_multi=array();
$sqlquery = "SELECT * FROM Tabella WHERE ID IN($id2) ORDER by ID";
$result = mysql_query($sqlquery);
while($riga=mysql_fetch_array($result)){//o mysql_fetch_assoc
$ID=$riga['ID'];
$nome=$riga['Nome'];
$peso_id=$riga['peso'];
$eta_id=$riga['eta'];

$array_multi[] = array($ID=>array(nome=>$nome,peso=>$peso_id,eta=>$eta_id));
}

supponendo che mi trovi due ID l'array si compone così
PHP:
array(2) {
 [0]=> array(1) { 
[138806]=> array(3) { ["nome"]=> string(10) "Pippo" ["Peso"]=> string(2) "50" ["eta"]=> string(2) "27" 
} 
} 
[1]=> array(1) {
 [152747]=> array(3) { ["nome"]=> string(12) "Topolino ["peso"]=> string(2) "65" ["eta"]=> string(2) "24" 
}
 }
 }

ora ad esempio se voglio trovare il peso di tutti gli id lo faccio annidando i foreach

PHP:
foreach($ID as $id)
foreach($array_multi as $arr)
if($arr[$id]!='')
echo $arr[$id]['peso']."<br>";

fin qua ci sono.

Ora però io vorrei alvorare su questo multi array ma non ho trovato molto al riguardo

ad esempio se voglio trovare la città usando gli stessi ID in un altra tabella non riesco ad inserirla in quell'array

ad esempio

PHP:
$sqlquery = "SELECT * FROM tabelle_citta WHERE ID IN($id2) ORDER by ID";
$result = mysql_query($sqlquery);
while($riga=mysql_fetch_array($result)){//o mysql_fetch_assoc
$ID=$riga['ID'];
$citta[$ID]=$riga['Citta'];
}

ora ho le città epr ID ma non riesco ad inserire nell' $array_multi

ho provato a fare cosi

PHP:
$sqlquery = "SELECT * FROM tabelle_citta WHERE ID IN($id2) ORDER by ID";
$result = mysql_query($sqlquery);
while($riga=mysql_fetch_array($result)){//o mysql_fetch_assoc
$ID=$riga['ID'];
$citta[$ID]=$riga['Citta'];
for($x=0;$x<=$n;$x++){
$array_multi[$x][$ID]['citta']=$citta;
}

}

dove $n sarebbe il count dell'array_multi però si che mi aggiunge ai vari sottoarraiy la citta ma per ogni array ne aggiunge uno con solo la citta e usando solo un ID ed anche l'array principale viene aggiunto un array che ha all'interno altri array con tutte le citta in pratica cosi

PHP:
array(2) {
 [0]=> array(1) { 
[138806]=> array(3) { ["nome"]=> string(10) "Pippo" ["Peso"]=> string(2) "50" ["eta"]=> string(2) "27" 
} 
} 
[1]=> array(1) {
 [152747]=> array(3) { ["nome"]=> string(12) "Topolino ["peso"]=> string(2) "65" ["eta"]=> string(2) "24" 
}
 }
 }


array(3) {
 [0]=> array(2) { 
	[8517]=> array(4) {  ["nome"]=> string(10) "Pippo" ["Peso"]=> string(2) "50" ["eta"]=> string(2) "27"  ["citta"]=> string(5) "Topolinia" } 
	[164959]=> array(1) { ["citta"]=> string(6) "Paperopoli" } } 
[1]=> array(2) { 
	[164959]=> array(4) { ["nome"]=> string(12) "Topolino ["peso"]=> string(2) "65" ["eta"]=> string(2) "24" ["citta"]=> string(6) "Paperopoli" } 
	[8517]=> array(1) { ["citta"]=> string(5) "Paperopoli" } }
[2]=> array(2) {
 [8517]=> array(1) { ["citta"]=> string(5) "Topolinia" } 
[164959]=> array(1) { ["citta"]=> string(6) "Paperopoli" } } }

Provandoa fare un foreach senzx il for quasi quasi che va ma non riesco a riportarlo all'origine ma con il for diventa un macello epr quante volte viene ripetuto.

Alla fine credo mi amcnhi una sola nozione come interagire con il multi array sempre in funzione dell $ID
 
Ciao,
forse puoi gestirlo meglio in creandolo in questo modo

PHP:
$array_multi[$ID] = array(nome=>$nome,peso=>$peso_id,eta=>$eta_id);
 
Ciao,
forse puoi gestirlo meglio in creandolo in questo modo

PHP:
$array_multi[$ID] = array(nome=>$nome,peso=>$peso_id,eta=>$eta_id);
cavolo mi vien da piangere
$array_multi[$ID] = array(nome=>$nome,peso=>$peso_id,eta=>$eta_id);[/PHP]
ma ho dovuto modificare la cosa, cosi come me lo hai indicato none ra esattamente quelloc he volevo fare però lintuizione è stata felice
PHP:
$array_multi[$ID] = array(id=>$ID,nome=>$nome,peso=>$peso_id,eta=>$eta_id);

ora cosi la chiave mi diventa sempre l'id e posso effettuare i confronti con $array_multi[$id][peso] etc. e mi concatena perfettamente il resto.

credo cmq che ci saranno una ltro paio di cose da chiedere

dell serie

come si possono modificre i valori interni di questi array tipo d [peso]=>56 modificarlo a [peso]=>$variabile?
come si uppa un array del genere sul database??

per ipotesi ci sarei doveuto
 
ciao
intanto scrivete gli arrai come php comanda (le chiavi con gli apici)
PHP:
$array_multi[$ID] = array('id'=>$ID,''nome'=>$nome,'peso'=>$peso_id,'eta'=>$eta_id);
poi per uppare prova
PHP:
<?php
//......
foreach($array_multi as $ch_1 => $val_1){
	if(is_array($val_1)){
			$q="UPDATE tabella SET nome='".$val_1['nome']."', peso='".$val_1['peso']."', eta='".$val_1['eta']." WHERE id=".$val_1['id'];
			$ris=mysql_query($q);
		}
}
//......
?>
 
ciao
intanto scrivete gli arrai come php comanda (le chiavi con gli apici)
PHP:
$array_multi[$ID] = array('id'=>$ID,''nome'=>$nome,'peso'=>$peso_id,'eta'=>$eta_id);
poi per uppare prova
PHP:
<?php
//......
foreach($array_multi as $ch_1 => $val_1){
	if(is_array($val_1)){
			$q="UPDATE tabella SET nome='".$val_1['nome']."', peso='".$val_1['peso']."', eta='".$val_1['eta']." WHERE id=".$val_1['id'];
			$ris=mysql_query($q);
		}
}
//......
?>


ok per gli paici ne terrò conto.

prima di arrivare all'update ho riscontrato un altro problema

se io modificio l'array ad esempio se il peso è 45 e voglio cambiarlo in 50

PHP:
$multi_array[$id][peso]=50;

oppure se voglio isnerire un nuovo campo
PHP:
$multi_array[$id][newpeso]=50;


stampando var_dump($multi_array)nella stessa pagina mi restituisce l'array corretto ed anche con i nuovi campi

però ora se passo da una apgina all'altra tramite form quando richiamo

PHP:
 $multi_array=$_SESSION['multi_array'];

mi restituisce il mutli array originale senza le modifiche apportate.

Immagine che devo ridefinire la variabile dis essione ma in che modo?
 
ciao
se fai
$multi_array[$id][newpeso]=50;
in pratica aggiungi a $multi_array, per quell'id, una chiave/valore in più
ma se questo nuovo array "aumentato" non lo aggiungi in sessione, la sessione ti restituirà sempre il vecchio array
comunque credo che anche se lo passi insessione ti trovi nelle pegole nell'insert
...', peso='".$val_1['peso']."'....
la chiave newpeso non viene presa in considerazione
forse, ma dico forse, perche non capisco molto bene a che ti serva, dovresti modificare con
$multi_array[$id][peso]=50;
se per quell'id devi modificare il peso credo che ti serva una query di update
 
ciao
se fai
$multi_array[$id][newpeso]=50;
in pratica aggiungi a $multi_array, per quell'id, una chiave/valore in più
ma se questo nuovo array "aumentato" non lo aggiungi in sessione, la sessione ti restituirà sempre il vecchio array
comunque credo che anche se lo passi insessione ti trovi nelle pegole nell'insert
...', peso='".$val_1['peso']."'....
la chiave newpeso non viene presa in considerazione
forse, ma dico forse, perche non capisco molto bene a che ti serva, dovresti modificare con
$multi_array[$id][peso]=50;
se per quell'id devi modificare il peso credo che ti serva una query di update

si ok infatti era più o meno così

in pratica subito dopo che aggiungo la chiave/valore dovevo richiamare il
PHP:
$_SESSION['multi_array']=$multi_array;

facendo così nelle pagine successive mi richiama la variabile con il nuovo chiave/valore isnerito

le sessioni cmq sono una cosa fenomenale

fra un pò arrivo all'update, sperando vada al rpimo colpo
 
spero di nona ver sbagliato a non aprire un altro topic ma il problema è sempre inerente a questo topic

ho ripreso in mano questo lavoretto ed allora

l'update suggerito da borgo testato or ora funziona perfettamente ma.........

e c'è un ma

ho problemi con l'insert

quello che proprio vorrei fare è difficile anche da spiegare però al momento finchè riodino le idee chiedo lumi per una cosa più breve

Ho due ipotesi

1)
se nell'array multidimesionale ho 5 array che corrispondono ai campi del database
$multi_array_1
PHP:
 array(1) { [170369]=> array(11) { ["id"]=> string(6) "170369" ["nome"]=> string(18) "Pippo" ["eta"]=> string(1) "29" ["paese"]=> string(2) "Bari } }////////A1
e
$multi_array_2
PHP:
 array(1) { [150352]=> array(11) { ["id"]=> string(6) "150352" ["nome"]=> string(18) "Topolino" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} }///////B1

ora vorrei inserire quest'array nel db in questo modo
PHP:
INSERT INTO tabella VALUE('','id_A1','id_B1','nome_A1','nome_B1','  ///etc.

come faccioa unire i due array facendo riconoscere quale campo corriponde all'array 1 e quale all'array due?

la seconda ipotesi invece è la stessa cosa però con più array presenti nel multi_array

ad esempio

multi_array_1
PHP:
 array(2) { [170369]=> array(11) { ["id"]=> string(6) "170369" ["nome"]=> string(18) "Pippo" ["eta"]=> string(1) "29" ["paese"]=> string(2) "Bari } ///////A1
               [150352]=> array(11) { ["id"]=> string(6) "150352" ["nome"]=> string(18) "Topolino" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} } /////A2
}

multi_array_2
PHP:
 array(2) { [580252]=> array(11) { ["id"]=> string(6) "580252" ["nome"]=> string(18) "pluto" ["eta"]=> string(1) "29" ["paese"]=> string(2) "Bari } //////////B1
               [300252]=> array(11) { ["id"]=> string(6) "300252" ["nome"]=> string(18) "minni" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} } /////////B2
}

in questo caso deve farmi due insert indipendentemente dalle coppie basta che le prende tuttte e 4 cioè cosi
PHP:
INSERT INTO tabella VALUE('','id_A1','id_B1','nome_A1','nome_B1','  ///etc.
INSERT INTO tabella VALUE('','id_A2','id_B2','nome_A2','nome_B2','  ///etc.

Non riesco a fare nemmneo l'insert di A1 figurarsi dei due array senza contare che a tutt'oggi non riesco mai a far funzionare due foreach insieme se devo recuperare dati da due array diversi

gradito ogni tipo di suggerimento chemi indichi la via

thank
 
Vedoc he questo post vi ha messo in difficoltà :D

cmq piò o meno credo diesserci arrivato però volevo chiedere una cosa un pò più difficile so che è un gioco di for e vorrei riuscire a fare sta cosa quindi vi chiedo di guidarmi

ho i soliti due multi_array vorrei metterli a confronto e se contengono elementi uguali inserire una coppia in una riga in caso contrario inserire una coppia in unariga e la differenza in una ltra

faccio un esempio che è più semplice capire

Multy array con numero elementi uguali

Multi_array_1
PHP:
 array(2) { [170369]=> array(11) { ["id"]=> string(6) "170369" ["nome"]=> string(18) "Pippo" ["eta"]=> string(1) "29" ["paese"]=> string(2) "Bari } ///////A1
               [150352]=> array(11) { ["id"]=> string(6) "150352" ["nome"]=> string(18) "Topolino" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} } /////A2
}

Multi array_2

PHP:
 array(2) { [580252]=> array(11) { ["id"]=> string(6) "580252" ["nome"]=> string(18) "pluto" ["eta"]=> string(1) "29" ["paese"]=> string(2) "Bari } //////////B1
               [300252]=> array(11) { ["id"]=> string(6) "300252" ["nome"]=> string(18) "minni" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} } /////////B2
}

ora in questo caso vorrei fare il count dei due multiarray e se sono uglai inserirli in questa maniera

PHP:
if(count(multi_array_1)==count(multi_array_2)){

///////////////FOREACH ???????????????
for($x=1; $x<=count(multi_array_1){
INSERT INTO tabella VALUES('','{$idA1}','{$idB1}','{$nomeA1}','{$nomeB1}' //etc. sempre su A1 e B1
INSERT INTO tabella VALUES('','{$idA2}','{$idB2}','{$nomeA2}','{$nomeB2}' //etc. sempre su A2 e B2
//// ad oltranza in caso ci sianoaltre righe pari.
}
}

fin qui forse ci potrei arrivare anche se credo ci sia bisogno di una ltro foreach all'interno ma faròd elle prove

il caso difficile diventa quando gli array sono dispari

della serie

Multi_array_1
PHP:
 array(2) { [170369]=> array(11) { ["id"]=> string(6) "170369" ["nome"]=> string(18) "Pippo" ["eta"]=> string(1) "29" ["paese"]=> string(2) "Bari } ///////A1
               [150352]=> array(11) { ["id"]=> string(6) "150352" ["nome"]=> string(18) "Topolino" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} } /////A2
               [250140]=> array(11) { ["id"]=> string(6) "250140" ["nome"]=> string(18) "Basettoni" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} } /////A3
               [358152]=> array(11) { ["id"]=> string(6) "358152" ["nome"]=> string(18) "Manetta" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} } /////A4
}

Multi array_2

PHP:
 array(2) { [580252]=> array(11) { ["id"]=> string(6) "580252" ["nome"]=> string(18) "pluto" ["eta"]=> string(1) "29" ["paese"]=> string(2) "Bari } //////////B1
               [300252]=> array(11) { ["id"]=> string(6) "300252" ["nome"]=> string(18) "minni" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} } /////////B2
}

ed allora l'inserimento dovrà essere come sopra più o meno


PHP:
if(count(multi_array_1)!=count(multi_array_2)){
///CICLO FOR??????????????
INSERT INTO tabella VALUES('','{$idA1}','{$idB1}','{$nomeA1}','{$nomeB1}' //etc. sempre su A1 e B1
INSERT INTO tabella VALUES('','{$idA2}','{$idB2}','{$nomeA2}','{$nomeB2}' //etc. sempre su A2 e B2
////ad oltranza finchè si raggiunge la parità di stringhe e quelloc he avanza
INSERT INTO tabella VALUES('','{$idA3}','','{$nomeA3}','' 
INSERT INTO tabella VALUES('','{$idA4}','','{$nomeA4}','' 
}
}

E un pò difficile lo so però la prima ipotesi forse ci riesco da solo ma non so come interpetrare poi il valore $x per far capire che mid eve fare tante insert quanti sono gli array del count la seconda ipotesi invece non so proprio dove mettere le mani.

Help to me
 
Ultima modifica:
ahiahaihaia perdiamo colpi

praticamente ragionandoci su effettivamente la cosa cosi com'è è molto ma molto complessa allora ho cambiato la base.

quando creo il multi array invece di farlo creare con

PHP:
[300252]=> array(11) { ["id"]=> string(6) "300252" ["nome"]=> string(18) "minni" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia

lo creo all'interno di un ciclo for

PHP:
for($x=0;$x<2) 


$multi_arry[$x]= ///etc.

così da avere

PHP:
[0]=> array(11) { ["id"]=> string(6) "300252" ["nome"]=> string(18) "minni" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia
[1]=> array(11) { ["id"]=> string(6) "250140" ["nome"]=> string(18) "Basettoni" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} } /////A3
 [2]=> array(11) { ["id"]=> string(6) "358152" ["nome"]=> string(18) "Manetta" ["eta"]=> string(1) "30" ["paese"]=> string(2) "Venezia} }

stessa cosa per il multi array 2 cosi posso correlare i deu multi array tramite la chiave principale

mo devo solov erificare se riesco a far inserire nella tabella con questo sistema ma dovrei farcela adesso

spero
 
Scusate se riapro questa discussione, ma avevo un problema che ho risolto, in parte, leggendo questo articolo.
Ora però ne ho un'altro che non riesco a risolvere, probabilmente perché non ho capito molto bene gli array e soprattutto i multi_array...

I dati che provengono da due tabelle diverse li ho estrapolati con la funzione UNION di MySQL.

Dopo averle estrapolate e inserite in un array dovrei trattare l'array come se si trattasse di una tabella

Primo problema:


PHP:
while ($queryMWList = mysql_fetch_array($resultqueryMW)) { 
	$ID = $queryMWList['RADIO_LINK_CODE'];
	$Sites[$ID] = array('RADIO_LINK_CODE' => $queryMWList['RADIO_LINK_CODE'],
	                               'SiteTarget' => $queryMWList['SiteTarget'],
	                               'TECHNOLOGY' => $queryMWList['TECHNOLOGY'],
	                               'RADIO_LINK_STATUS' => $queryMWList['RADIO_LINK_STATUS'],
	                               'BAND' => $queryMWList['BAND'],
	                               'CHAN_TX_A' =>$queryMWList['CHAN_TX_A'],
	                               'CHAN_TX_B' => $queryMWList['CHAN_TX_B'],
	                               'CANALIZATION' => $queryMWList['CANALIZATION'],
	                               'POL_TX_A' => $queryMWList['POL_TX_A'],
	                               'CAPACITY' =>$queryMWList['CAPACITY'],
	                               'UpGrade' => $queryMWList['UpGrade']);
}
Ho creato l'array con i valori ricavati dalla query utilizzando come chiave primaria "RADIO_LINK_CODE", unico valore univoco .
Per prima cosa dovrei visualizzare in una tabella il contenuto dell'array e questo riesco a farlo, ma solo che dovrei ordinare il tutto per "SiteTarget", questo campo non è univoco, perciò non lo posso usare come chiave primaria altrimenti andrei a sovrascrivere dei dati, perdendoli.

Ho provato a cercare qualcosa, ma nulla che fosse alla mia portata.

Mi potreste dare una mano

Grazie
 
ciao
prova a postare la query che hai fatto, forse è possibile ordinare i dati con ORDER BY SiteTarget per cui poi non hai bisogno di ordinare l'array
 
Grazie per l'interessamento...

Ho già provato a ordinare nella query per il campo desiderato, ma ottengo un ordinamento parziale.
Infatti trattandosi di due query unite con "UNION" posso ordinare i risultati delle singole query, ma non il risultato totale.

PHP:
$sqlqueryMW = "(SELECT nis_rl.RADIO_LINK_CODE, nis_rl.SiteTarget, nis_rl.TECHNOLOGY, nis_rl.RADIO_LINK_STATUS, nis_rl.BAND, nis_rl.CHAN_TX_A, nis_rl.CHAN_TX_B, nis_rl.CANALIZATION, nis_rl.POL_TX_A, nis_rl.CAPACITY, If(rlu.END_UPGRADE_FLAG = '0','Yes','No') AS UpGrade
							FROM ((nis_rl INNER JOIN nis_site_t ON nis_rl.SiteSource = nis_site_t.SHORT_CODE) LEFT JOIN (SELECT nis_rlu.RADIO_LINK_CODE, nis_rlu.END_UPGRADE_FLAG FROM nis_rlu WHERE ((nis_rlu.VERSION <> '0') AND (nis_rlu.END_UPGRADE_FLAG <> '1'))) AS rlu ON nis_rl.RADIO_LINK_CODE = rlu.RADIO_LINK_CODE)
							WHERE nis_site_t.LOC_NAME = '$Location'
							ORDER BY nis_rl.SiteTarget)
							UNION
							(SELECT nis_rl.RADIO_LINK_CODE, nis_rl.SiteSource, nis_rl.TECHNOLOGY, nis_rl.RADIO_LINK_STATUS, nis_rl.BAND, nis_rl.CHAN_TX_A, nis_rl.CHAN_TX_B, nis_rl.CANALIZATION, nis_rl.POL_TX_A, nis_rl.CAPACITY, If(rlu.END_UPGRADE_FLAG = '0','Yes','No') AS UpGrade
							FROM ((nis_rl INNER JOIN nis_site_t ON nis_rl.SiteTarget = nis_site_t.SHORT_CODE) LEFT JOIN (SELECT nis_rlu.RADIO_LINK_CODE, nis_rlu.END_UPGRADE_FLAG FROM nis_rlu WHERE ((nis_rlu.VERSION <> '0') AND (nis_rlu.END_UPGRADE_FLAG <> '1'))) AS rlu ON nis_rl.RADIO_LINK_CODE = rlu.RADIO_LINK_CODE)
							WHERE nis_site_t.LOC_NAME = '$Location'
							ORDER BY nis_rl.SiteSource)";
			$resultqueryMW = mysql_query($sqlqueryMW); /* Esegue la Query SQL */


qui parte il codice con cui riempio l'array che riporto:


PHP:
while ($queryMWList = mysql_fetch_array($resultqueryMW)) { /* Esrtaggo i dati dalla Query SQL e li metto nella tabella*/	
				$ID = $queryMWList['RADIO_LINK_CODE'];
				$Sites[$ID] = array('RADIO_LINK_CODE' => $queryMWList['RADIO_LINK_CODE'],
											'SiteTarget' => $queryMWList['SiteTarget'],
											'TECHNOLOGY' => $queryMWList['TECHNOLOGY'],
											'RADIO_LINK_STATUS' => $queryMWList['RADIO_LINK_STATUS'],
											'BAND' => $queryMWList['BAND'],
											'CHAN_TX_A' =>$queryMWList['CHAN_TX_A'],
											'CHAN_TX_B' => $queryMWList['CHAN_TX_B'],
											'CANALIZATION' => $queryMWList['CANALIZATION'],
											'POL_TX_A' => $queryMWList['POL_TX_A'],
											'CAPACITY' =>$queryMWList['CAPACITY'],
											'UpGrade' => $queryMWList['UpGrade']);
			}

Il mio prima problema è quello di ordinarle l'array per il campo desiderato, ma poi mi servirebbe effettuare dei controlli, del tipo se una serie di campi della stessa stringa sono uguali ad una serie di campi di un'altra stringa, allora le due stringhe appartengono alla stessa famiglia e ne devo visualizzare solo una.

Ma questo è già molto più avanti, per ora mi basterebbe poterle visualizzare nell'ordine corretto.

Se è più facile posso rivedere anche l'array, questo mi sembrava il più smplice da realizzare e gestire, ma sono aperto anche ad altre idee

grazie mille
 
ciao
ordinare quell'array secondo il dato che vuoi tu, la vedo brutta, mi è venuta una idea (strampalata).
1) crei una tabella temporanea (si distrugge quando chiudi la connessione)
mysql_query("CREATE TEMPORARY TABLE temporanea ..") con le definizione dei campi che ti servono (quelli che avresti nell'array)
2) fai l'insert nella tabella (al posto della creazione dell'array)
3) fai la SELECT sulla tabella ordinando come vuoi e visualizzi i risultati

forse non è una soluzione, ma è quella che mi è venuta nel momento
 
Ciao

Sicuramente non sarà la soluzione ottimale ma è senza dubbio funzionale.

Non ci avevo pensato, mi ero intestardito nella risoluzione del problema in PHP e non avevo cercato altre strade.

Grazie per la dritta.

Ciao
 
Ciao, scusate se riprendo questa discussione vecchia ma avrei un problema simile. Io con una interrogazione sql tramite json ottengo dei risultati in una tabella così
16lxwmp.jpg

il json mi ritorna il risultato che stavo provando a decodificare con un array multidimensionale in questo modo:
[Prodotto 1 = [fase=Taglio, tempo1=1000, tempo2=500],[fase=Cucito, tempo1=2000, tempo2=600]
Prodotto2=[fase=Taglio, tempo1=300, tempo2=1],.........]
insomma racchiudere in un array tutti i dati relativi al singolo prodotto. Questo mi permetterebbe di memorizzare tutto in una tabella fatta così:
Prodotto | Taglio | Cucito | Stiratura |
Prodotto 1 | 1000 | 2000 | 3000 |
Prodotto 2 | 300 | 1000 | 500 |
e così a seguire per gli altri eventuali prodotti in lista
PHP:
while($row=mysql_fetch_array($dati))
    {
    $nomeProdotto=$row['nomeProdotto'];
    $fase=$row['fase'];
    $tempo1=$row['tempo1'];
    $quantita=$row['quantita'];
    $totale=$row['tempo1'] * $row['quantita'];

    $risultato[$$nomeProdotto][$i]=array($nomeProdotto=>array('fase'=>$fase,'tempo1'=>$tempo1,'quantita'=>$quantita,'totale'=>$totale));

        $i++;
    }
echo json_encode($risultato);

come gestisco poi il risultato ottenuto dal json nel mio script jQuery?
 
Stato
Chiusa ad ulteriori risposte.

Discussioni simili