Χώρισμα τιμών ενός php array σε μεταβλητές που χρησιμοποιούνται σε javascript

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Χώρισμα τιμών ενός php array σε μεταβλητές που χρησιμοποιούνται σε javascript

Δημοσίευση από Apostolis_38 » 05 Απρ 2013 12:21

Καλημέρα.

Εχω ένα array στην php το οποίο μου γεμίζει με τιμές από τη βάση:

Κώδικας: Επιλογή όλων

$this->viaRoute[] = trim (stripslashes ($row['latitude'].','.$row['longitude']) );
και θέλω να μετατρέψω κάθε ένα στοιχείο του array σε μεταβλητές που χρησιμοποιούνται σε javascript:

Κώδικας: Επιλογή όλων

?>new google.maps.LatLng&#40;<?php echo $this->viaRoute;?>&#41;,
Το θέμα είναι οτι το array "δεν περνάει" μέσα στον κώδικα της Javascript ώστε μετά να πάρω το κάθε ένα στοιχείο.

Γίνεται αυτό που θέλω να κάνω;
Εστω και με άλλον τρόπο.


Υ.Γ. παραθέτω το πως προκύπτει το php array ( http://www.freestuff.gr/forums/viewtopic.php?t=65228 ) μήπως τυχόν έχει κάποιος άλλη ιδέα.

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Χώρισμα τιμών ενός php array σε μεταβλητές που χρησιμοποιούνται σε javascript

Δημοσίευση από alou » 05 Απρ 2013 12:33

Δηλαδή, σε ένα php αρχείο, φτιάχνεις τη js που θες σαν μεταβλητή και την κάνεις echo?

πχ

Κώδικας: Επιλογή όλων

<?
$js = '<script type="text/javascript">';
foreach &#40;$array as $item&#41; &#123;
 $js .= "javascript stuff";
&#125;

$js .= '</script>';
echo $js;
?>
?

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Χώρισμα τιμών ενός php array σε μεταβλητές που χρησιμοποιούνται σε javascript

Δημοσίευση από Apostolis_38 » 05 Απρ 2013 12:43

Οχι ακριβώς.

Η ιστορία είναι η εξής.
Παίρνω μια σειρά από κωδικούς, τους διαχωρίζω, για κάθε ένα κωδικό βρίσκω κάποιες συντεταγμένες, και μετά χρησιμοποιώντας Google API τυπώνω τις συντεταγμένες πάνω σε google map.

Δεν είναι λοιπόν κάποιες "δικές" μου ή "τυχαίες" μεταβλητές.
Στην ουσία αυτό που θέλω είναι να αναπαράγω το

Κώδικας: Επιλογή όλων

new google.maps.LatLng&#40;συνεταγμένη1, συντεταγμένη2&#41;,
για κάθε μια τιμή που έχω βρει από το query μου.

Ομως μέσα στο google API δεν μπορώ να περάσω php στοιχεία παρά μόνο να κάνω echo κάποιες μεταβλητές.
Για παράδειγμα δεν μπορώ να τρέξω κάτι τέτοιο:

Κώδικας: Επιλογή όλων

foreach&#40;$this->viaRoute as $via&#41;	&#123;
?>new google.maps.LatLng&#40;<?php echo $via;?>&#41;,<?php
&#125;

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Χώρισμα τιμών ενός php array σε μεταβλητές που χρησιμοποιούνται σε javascript

Δημοσίευση από alou » 05 Απρ 2013 12:54

OK, αν υποθέσουμε ότι έχεις ένα array κάπως έτσι:

Κώδικας: Επιλογή όλων

$points = array&#40;
    "simeioA" => array&#40;
         "lat" => 24.23546,
         "long" => 65.23546,
         &#41;,
    "simeioB" => array&#40;
         "lat" => 24.23546,
         "long" => 65.23546,
         &#41;
&#41;;
μπορείς να φτιάξεις τη js κάπως έτσι:

Κώδικας: Επιλογή όλων


$js = '<script type="text/javascript">';
foreach &#40;$points as $point&#41; &#123;
 $js .= "javascript stuff".$point&#91;'lat'&#93;."more javascript".$point&#91;'long'&#93;."even more javascript";
&#125;

$js .= '</script>';
echo $js; 


Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Χώρισμα τιμών ενός php array σε μεταβλητές που χρησιμοποιούνται σε javascript

Δημοσίευση από Apostolis_38 » 05 Απρ 2013 13:27

Μισό γιατί δεν πολυκατάλαβα.

Εστω οτι έχω αυτό:

Κώδικας: Επιλογή όλων

$this->viaRoute&#91;&#93; = trim &#40;stripslashes &#40;45.517500000000','-73.416944000000&#41; &#41;;
προτείνεις να το κάνω έτσι;

Κώδικας: Επιλογή όλων

$js = '<script type="text/javascript">';
foreach &#40;$this->viaRoute as $point&#41; &#123;
 $js .= "new google.maps.LatLng&#40;".$point&#91;'latitude'&#93;.",".$point&#91;'longitude'&#93;."&#41;,";
&#125;
$js .= '</script>'; 

Κάπου χάθηκα :(

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Χώρισμα τιμών ενός php array σε μεταβλητές που χρησιμοποιούνται σε javascript

Δημοσίευση από alou » 05 Απρ 2013 13:49

Δεν ξέρω πως είναι δομημένες οι μεταβλητές σου και σε τι object αναφέρεται το $this αλλά η λογική που σου προτείνω είναι να φτιάξεις μια php μεταβλητή μέσα στην οποία θα 'χτίσεις' την javascript και θα την κάνεις echo.

Το $this->viaRoyte[] έχει πολλά arrays δημιουργημένα με αυτό τον τρόπο; αν ναι θα πρέπει να ζητήσεις τα στοιχεία κάπως έτσι μέσα στο foreach:

google.maps.LatLng(".$point[0].",".$point[1]."),";

Αν θες κάνε ένα print_r( το array που έχεις πριν ξεκινήσεις να φτιάχνεις τα σημεία με javascript να το δούμε.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Χώρισμα τιμών ενός php array σε μεταβλητές που χρησιμοποιούνται σε javascript

Δημοσίευση από Apostolis_38 » 05 Απρ 2013 14:02

Με πρόλαβες :D

Το έφτιαξα όμως χάρη σε αυτό που μου έδωσες.

Πρίν από το google API τρέχω αυτό:

Κώδικας: Επιλογή όλων

		$js = '';
		foreach &#40;$this->viaRoute as $point&#41; &#123;
			$js .= "new google.maps.LatLng&#40;".$point."&#41;,";
		&#125;
		$js .= '';
		echo $js;
και μετά απλώς κάνω echo το $js.



Χίλια ευχαριστώ man.
Είσαι άψογος!


Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες