Newsgroup: it.comp.www.php
Titolo: passaggio di un array in un link

 
ho un $arry contente dei valori risultati da una query
 
questi valori vanno passati in un link.php?array=$array
 
ma il risultato che ho è
Array to string conversion in device.php on line 100
 
come faccio a far passare i valori? 
 
altrimenti devo dovo passare solo l'id e rifare la query. due volte 
 
Enrico
 

 come faccio a far passare i valori?
 
Intanto devi decidere come li vuoi nell'URL e vedere come li hai 
nell'array, poi devi trovare il modo per encodarli.
 
Fai un esempio di cosa hai nell'array e di cosa vorresti vedere nell'URL.
 
Bye.

Array to string conversion in device.php on line 100
 
	array[chiave1]=valore1&array[chiave2]=valore2 ...
 
Se le chiavi sono numeriche crescenti contigue zero-based (0 1 2 ...), le
puoi omettere.
 
Leonardo
-- 
 
A terrible beauty is born.
                                     - W. B. Yeats, Easter 1916

ho un $arry contente dei valori risultati da una query
 
questi valori vanno passati in un link.php?array=$array
 
ma il risultato che ho è
Array to string conversion in device.php on line 100
 
come faccio a far passare i valori? 
 


 Leonardo
 
troppo lungo e complicato , per altro il numero di componeti dell'arry 
varia.
 
soluzione che vorrei evitare.
 
preferisco mandare l'id e  raddoppiare la query 
 
Enrico 


	$device="SELECT * FROM ((sysSetDevice  INNER JOIN sysambient ON 
sysSetDevice.idsysAmbient=sysambient.idsysAmbient) INNER JOIN system ON 
sysambient.idSystem=system.idSystem) INNER JOIN sysdevice ON 
sysambient.idDeviceType=sysdevice.idDeviceType WHERE 
sysSetDevice.idsysAmbient='$ida' ";
 
 foreach($rvdb->query($device) as $rdevice)
					{ 
 
$idd=$rdevice['idsysAmbient'];
 
$nameLogTab=$rdevice['log_tab'];
 
$deviceSetName_local=$rdevice['deviceSetName_local'];
 
$logFieldName=$rdevice['logFieldName'];				
 
 
$logFieldType=$rdevice['logFieldType'];
					$set=$rdevice['set'];
 
$logTab=$rdevice['log_tab'];
 
//array
	$fieldArry [$logFieldName] =$logFieldType;
 
//risultato array:
 
 	Array ( [RESIDUAL_OXYGEN] => 2 [AIR_PRESSURE] => 2 [VACUOM] => 2 
[NITROGEN_PRESSURE] => 2 [WORK_TIME] => 2 [RESIDUAL_OXYGEN_AVERAGE] => 3 
[AIR_TEMPERATURE] => 3 [CABINET_TEMPERATURE] => 3 [AL21] => 0 [AL22] => 0 
[AL2] => 0 [AL3] => 0 [AL1] => 0 [AL8] => 0 [AL4] => 0 [AL20] => 0 
[AL20_STOP] => 0 [AL20_ALLERT] => 0 [AL7] => 0 [AL11] => 0 [AL25] => 0 
[AL26] => 0 [STATE_0] => 0 [STATE_8] => 0 [ADSORPTION] => 3 [FLOW] => 3 
[AVERAGE_FLOW] => 3 [TIMESTAMP] => 2 ) 
 
// link di trasmissione:
 
getDeviceLog.php?ida=".$idd."&tab=".$nameLogTab."&fieldArry=".$fieldArry;
 
//di la mi prendo l'arry  per selezionare nella query i campi che miservono.
 
$cat="SELECT * FROM $tab  ORDER BY idLog DESC  ";
 
 foreach($rvdb->query($cat) as $rcat){ 
 
 
 foreach ($fieldArry as $field => $type)
        echo $field . ' = ' . $type . '<br />$'.$field=$rcat[$field];
 
 
troppa fantasia? :D

         echo $field . ' = ' . $type . '<br />$'.$field=$rcat[$field];
 
 
Tenendo conto dei limiti di alcuni browser/proxy/webserver (512 caratteri 
il più stretto che mi è capitato):
 
$link = 'getDeviceLog.php?ida='.$idd.'&tab='.$nameLogTab.'&'.
  http_build_query(['fieldArry' => $fieldArry]);
 
Dovrebbe funzionare, e alla seconda pagina ti trovi $_GET['fieldArry'] 
che contiene il tuo array di partenza.
 
Ma forse è meglio se trovi un metodo migliore per organizzare tutta 
l'applicazione.
 
Bye.

 l'applicazione.
 
si, sono in fase di progettazione e credo che tenuto prente quanto sopra mi 
hai detto, è il caso di pensare a un altra strada.
 
in pratica ho una tabella "log" che non so, volta, volta come è formata, in 
cui ci son dei dati che vanno letti in vari modi, con nominazioni a 
terminale, scritte su un altra tabella "conf".
 
 
Comunque grazie
Enrico

 
 
ci studio.
 
Enrico