Array da php a javascrip

giuseppeI

Utente Attivo
25 Giu 2012
41
0
0
Ciao,
Non sono un esperto ne di php ne di javascript.
A fatica, quindi, sto cerco di mettere in piedi un programmino, ma le difficoltà sono tante e non sempre riesco a venirne fuori come in questo caso:

$cerì è un array php recuperato dalla stringa $tempo. L'array lo devo utilizzare però in javascript e ciò lo dovrebbe fare il codice sottostante, dovrebbe cioè trasferire l'array $cerì nell'array var tempi in javascript.
Non sono convinto che il codice funzioni bene, fatto sta che se cerco di richiamare il risultato con con "alert" o con "document.Write", come mostra l'ultimo pezzo di codice, non ottengo nessuna risposta, non soltanto richiamando un valore di "var tempi[]", ma anche quando si cerca di visualizzare un stringa qualsiasi: alert ("no,no"), per cui ritengo l'array "tempi" non è utilizzabile;.
Sono nelle vostre mani. Qualsiasi altra soluzione è ben accetta. Ringrazio tutti dell'attenzione prestata
Giuseppe.

HTML:
....
.....
$cerì=explode ( "\r", $tempo );
?>
<script type="text/javascript">
var tempi = new Array();
<?php
   $conta = 0;
   foreach($cerì as $rigo){
    echo "tempi[{$conta}] = \"{$rigo}\";\n";
    $conta++;
}
?>
alert (tempi[2])
Alert (tempi[3]);
document.Write(tempi[4]);
alert ("no,no");
</script>[HTML]
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Correggi queste 2 funzioni e ti dovrebbe funzionare
PHP:
alert(tempi[3]);
document.write(tempi[4]);
Non mettere le iniziali in maiuscolo, il js le interpreta come funzioni differenti e in questo caso inesistenti
 

giuseppeI

Utente Attivo
25 Giu 2012
41
0
0
Non funziona ugualmente. Alert funziona solo se deve mostrare del testo, document.write non funziona per niente. Non so proprio come procede. Avrebbe qualche soluzione alternativa?
Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova così (non sapendo come è $tempo ho costruito l'array a caso)
PHP:
<?php
//$cerì=explode ( "\r", $tempo );
$ceri['a']="pinco";
$ceri['b']="pallo";
$ceri['c']="pallino";

?>
<script type="text/javascript">
var tempi = new Array();
<?php
$conta = 0;
foreach($ceri as $rigo => $val){
echo "tempi[$conta] = \"$val\"; ";
$conta++;
}
?>
alert (tempi[0]);
alert (tempi[1]);
document.write(tempi[2]);
alert ("no,no");
</script>

p.s.
cerca di non usare caratteri accentati nei nomi delle variabili
 

giuseppeI

Utente Attivo
25 Giu 2012
41
0
0
Non funziona ancora, ma non per colpa del codice bensì, credo, della stringa $tempo da cui è ricavato l'array "$cerì".
Se si visualizza la sorgente html del codice si osserva questo:
HTML:
tempi[0] = "1537";
 tempi[1] = "
3710";
 tempi[2] = "
7424";
 tempi[3] = "
9800";
 tempi[4] = "
.....
....
Ho provato a correggere l'html in questo modo:
HTML:
<script type="text/javascript">
var tempi = new Array();
tempi[0] = "1537";
tempi[1] = "3710";
tempi[2] = "7424";
tempi[3] = "9800";
tempi[4] = "12634";
tempi[5] = "14860";
.....

e tutto funziona correttamente.

I "tempi" in origine sono incolonnati in una casella di testo; con un copia e incolla sono stati inseriti nel database, quindi estratti nella stringa $tempo e con un "esplode" inseriti nell'array $cerì (cerì significa tempi in una lingua parlata dalle mie parti).

Ora, approfittando ancora della vostra disponibilità, chiedo: come si può intervenire sul codice in modo che l'output sia quello corretto? e ancora, visto che l'array il più delle volte superano il centinaio di elementi c'e modo di nascondere la loro costruzione?
Grazie ancora
Giuseppe
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
1) dovresti postare come è fatta la stringa $tempo
2) js non si puù nascondere
3) in italiano si dice città ma è meglio scrivere $citta
 

giuseppeI

Utente Attivo
25 Giu 2012
41
0
0
con
PHP:
"echo $tempo"
si ottiene questo risultato:

1537 3710 7424 9800 12634 14860 17490 18845 23538 28132 30088 32906 37556 40369 43510 47404 51480 52635 56530 60215 62500 67386 69058 70203 74433 77533 80172 83782 89777 91382 92784 94047 96978 97673 101876 104975 107504 109642 112415 114124 115691 118356 119982 121968 124789 127239 127239 1272391537

con
PHP:
foreach($ceri as $rigo){
         print $rigo;
        echo "<br/>";
       }

si ottine:
3710
7424
9800
12634
14860
17490
18845
23538
28132
30088
32906
37556
40369
43510
47404
51480
....
....
è possibile intervenire in qualche modo?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
così funziona, però verifica cvome viene chiussa la stringa $tempo quando la prelevi
PHP:
<?php
$tempo="1537\r3710\r7424\r9800\r12634\r14860\r17490\r18845\r23538\r28132\r30088\r32906\r37556\r40369\r43510\r47404\r51480\r52635\r56530\r60215\r62500\r67386\r69058\r70203\r74433\r77533\r80172\r83782\r89777\r91382\r92784\r94047\r96978\r97673\r101876\r104975\r107504\r109642\r112415\r114124\r115691\r118356\r119982\r121968\r124789\r127239\r127239\r1272391537";
$ceri=explode( "\r", $tempo );
?>
<script type="text/javascript">
var tempi = new Array();
<?php
$conta = 0;
foreach($ceri as $rigo => $val){
echo "tempi[$conta] = \"$val\"; \n";
$conta++;
}
?>
alert (tempi[0]);
alert (tempi[1]);
document.write(tempi[2]);
alert ("no,no");
</script>
 

giuseppeI

Utente Attivo
25 Giu 2012
41
0
0
Ho risolto in questa maniera: ho inserito la seguente stringa nel database


HTML:
var tempi = new Array(0,0,690,1983,3004,5359,6510,10404,11764,14700,16003,17048,18940,19695,21007,22399,22698,25039,
                                27512,28172,30993,33363,34501,35608,40564,42717,49337,52525,55414,57199,58928,62976,64005,68312,
                                70000,70759,73030,75034,76541,77854,79000,83180,84811,87643,89017,92132,93982,98599,99295,103836,
                                108487,111055,112826,115075,120320,123309,125020,128621,132140,134715,137187,139004,140401,143458,
                                145375,146520,148808,150253,151460,153218,154383,154903,156000, 158715);

una volta richiamata col php nella variabile $tempo, l'ho passata tale equale a js con

PHP:
echo $tempo;
.

Senza la possibilità di analizzare e interpretare i suoi suggerimenti non sarei mai arrivato a questa soluzione, la ringrazio enormemente della sua disponibilità.
Giuseppe
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Ora che ci penso era sufficente fare cosi senza ciclo

PHP:
<?php 
$tempo="1537\r3710\r7424\r9800\r12634\r14860\r17490\r18845\r23538\r28132\r30088\r32906\r37556\r40369\r43510\r47404\r51480\r52635\r56530\r60215\r62500\r67386\r69058\r70203\r74433\r77533\r80172\r83782\r89777\r91382\r92784\r94047\r96978\r97673\r101876\r104975\r107504\r109642\r112415\r114124\r115691\r118356\r119982\r121968\r124789\r127239\r127239\r1272391537"; 
$ceri=explode( "\r", $tempo ); 
?> 
<script type="text/javascript"> 
<?php 
//testato, è funzionante
echo "var tempi =".json_encode($ceri).";";
?> 
alert (tempi[0]); 
alert (tempi[1]); 
document.write(tempi[2]); 
alert ("no,no"); 
</script>
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Passaggio variabili array php su un tasto jq PHP 3
N Passare array da php a javascript PHP 5
M Array associativi php su 2 campi mysql PHP 10
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
D Chiave unica in estrazione dati da array php PHP 0
D Spazio vuoto in un elemento di un array php PHP 2
max1974 PHP, Array Multidimensionale e Grafici PHP 22
S [PHP] Confrontare due array con valori quasi uguali PHP 2
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
R [PHP] Visualizzazione dati Array PHP 2
S [PHP] Eliminare doppioni array e rinumerare le posizioni PHP 2
M [PHP] Problemi su inserimento array nel db PHP 7
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5
S [PHP] Estrarre elementi array su più variabili PHP 5
S [PHP] Estrarre dati tabella in diversi array PHP 2
max1974 [PHP] Raggruppare array PHP 4
A [PHP] Caricamento database in array PHP 11
G sql select con array in php PHP 1
S [PHP] individuare chiave elemento array PHP 7
A [PHP] Script con array con numeri che iniziano per 00 PHP 2
S [PHP] selezionare colonna tabella utilizzando un array PHP 1
M [PHP] Array di array - PDO PHP 2
K [PHP] array PHP 0
S [PHP] Ciclo foreach su più array PHP 2
N [PHP] Estrarre singolo valore da array PHP 4
L come visualizzare array di oggetti php PHP 9
N [PHP] filtrare input form di tipo array PHP 0
C [PHP] Chiedo un aiuto, Array multidimensionale. PHP 3
F [PHP] Problema con array multidimensionale PHP 4
D [PHP] Unire 2 Array con ID in comune PHP 0
S elementi statistici - Matrice e Gestione Array PHP o Javascript Javascript 0
T [PHP] Ciclare array multidimensionali PHP 2
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
A [PHP] Ciclare array multidimensionale e inserire valori in DB PHP 2
M [PHP] Inserire array nel db PHP 6
C [PHP] rimuovere righe duplicate in un array multidimensionale PHP 1
C [PHP] eliminare elemento da un array multidimensionale PHP 9
W [PHP] Leggere un array un po complicato PHP 3
alessandra86 [PHP] Elementi di un array non visualizzabili PHP 7
P [PHP] file di testo e array PHP 11
P [PHP] Problema inserimento nuove chiavi in array PHP 2
L [PHP] stampare un'array di un database PHP 0
R [PHP] Problema stampa array bidimensionali con formula $html.=<<<myHtml... PHP 2
daniele8808 Insert a converted php array in a js object PHP 4
K Script PHP per leggere array.txt Presentati al Forum 3
G [PHP] Merge array PHP 4
G [PHP] Consiglio su Qry/array PHP 3
trattorino [PHP] Risultati dentro array precisi e confrontabili PHP 7
P [PHP] ordinare un array multidimensionale in modo personalizzato PHP 2
Punix [PHP] associare immagine ad un array PHP 4

Discussioni simili