Massivi php-dən javascript-ə keçirin. Javascript - php-dən js-ə bir massiv ötürülməsi




İki sual var: 1) verilənlər bazasından mənə lazım olanı necə əldə etmək olar. 2) verilənlər bazasından aldığımı javascriptlə necə çatdırım, mənim html faylım var. onun tərkibində javascript map.js və map.php faylı var. Java skripti yaxşı işləyir, lakin PHP faylı işləmir. Javascript və PHP-ni html faylında necə birləşdirəcəyimi bilmirəm. PHP və Javascript-i öyrənməmişəm, bir az fərqli ixtisasım var, amma indi zərurətdən nəsə yazmalıyam.

map.php kodu budur:

burada verilənlər bazasından mən elementlər massivini koordinat 1 və koordinat 2 almalıyam massiv element formatının nümunəsi

onda bu massivi javascript-ə ötürmək lazımdır, burada o, artıq işə salınıb, lakin onu verilənlər bazasından doldurmaq lazımdır. Massiv markerlər adlanır. map.js

Var xəritəsi; var point = 1; //mühərrik üçün nöqtələr var markerləri = ( point1:, point2:, point3:, point4:, point5:, point6:, point7:, point8:, point9:, point10:, ); $(document).ready(function())( //xəritə var latlng = yeni google.maps.LatLng(55.755786, 37.617633); var myOptions = ( zoom: 13, mərkəz: latlng, mapTypeId: google.maps.MapTypeId. ROADMAP ); var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); //xəritədə bütün nöqtələri qeyd edin var marker = ; for(i markerlərdə)( marker[i] = new google. maps.Marker(( mövqe: yeni google.maps.LatLng(markers[i], markers[i]), map: map )); ) //map.panTo(yeni google.maps.LatLng(markers.point10) , markerlər .point10)); //nöqtələrə görə xəritə mühərriki daşıyıcı funksiyası())( map.panTo(yeni google.maps.LatLng(markers["nöqtə"+nöqtə], markerlər["nöqtə"+nöqtə])); point ++ ; if(point>10)point=1; ) //xəritə istifadə edilmir google.maps.event.addListener(xəritə, "boş", funksiya())( setTimeout(mover, 500);//time millisaniyələrlə )))))

P.S. Xal çatışmazlığı səbəbindən yuxarı səs vermək və ya cavab vermək imkanı olmadığı üçün burada yazacağam. Mən Inkognitoo istifadəçisinə, dekamerona köməyə görə təşəkkür edirəm. Həyata keçirmək istədiyimi aldım. Hər şey işləyir. Mən dekameron ideyasından istifadə etdim, PHP ilə birinci və ya ikinci dəfədir işləyirəm. Uzun müddət idi ki, fikirləşirdim ki, məsələ nədən ibarətdir və niyə işləmir, belə çıxır ki, içində bir html faylım var və mən də sonra index.php-i düzəltdim və html-i echo-ya qoydum, həmçinin echo-da javascript qoydum. . və doğru yerə var markerləri daxil etdi. Ümumiyyətlə, köməyə və sərf etdiyiniz vaxta görə hamınıza təşəkkür edirəm.

AMMA Deonisa'nın HƏLLİ daha yaxşı oldu, çünki hər şeyi əks-sədaya doldurmaq lazım deyil, bir html səhifəsindən istifadə edə bilərsiniz və hər şey səliqəli və təmiz olacaq. Bu, həqiqətən bok kodu olmayacaq.

http://www.wiseguys.com.ua/ burada hazır bir həll var, yaxşı, bu mənim planlaşdırdıqlarımın yalnız bir hissəsidir, amma bir parçanın hazır olması yaxşıdır. Mən ümumiyyətlə veb tərtibatçısı deyiləm, Android ƏS ilə işləyirəm.



dəyişəni php-dən javascript ajax-a keçir (4)

Bunun üçün adətən JSON obyektindən istifadə edirəm:

  • Server tərəfində JSON məlumatlarınızı kodlayır: json_encode($data);
  • JavaScript tərəfində mən JSON obyektini parametr kimi götürən və onu paketdən çıxaran funksiya yazıram.

Obyekti qutudan çıxardığınız zaman massivin məzmununu səhifədə istədiyiniz yerdə və ya istədiyiniz yerdə çap edə bilərsiniz (jQuery olduqca gözəl iş görür).

Beləliklə, məndə verilənlər bazasından əldə edilmiş bir sıra qeydlər var. Massiv formatdadır;

$sətirlər [ 0 ][ "id" ]= 1 ; $rows [ 0 ][ "title" ]= "Abc" ; $sətirlər [ 0 ][ "qalan vaxt" ]= 200 ; $sətirlər [ 1 ][ "id" ]= 2 ; $rows [ 1 ][ "title" ]= "XYZ" ; $sətirlər [ 1 ][ "qalan vaxt" ]= 300 ; //Və s. 10-20 sıra

Bu massivi mənim javascript koduma yığmağın ən yaxşı yolu nədir? İstərdim ki, javascript bütün yazılar arasında dövr edə bilsin və "id" atributundan istifadə etsin, div-i bəzi məlumatlarla həmin id ilə yeniləsin.

Mənim javascript kodum xarici .js faylındadır, lakin mən səhifəmin HTML kodunda php kodunu icra edə bilirəm. Beləliklə, mən belə bir şey edə bilərdim:

my_file.js-də:

var rows = Yeni Array();

HTML kodunda:

sətirlər [][ "title" ]= "" ; //Və s

Əgər siz inline data edirsinizsə, mən həmişə bunu etməyi xoşlamışam

pəncərə. sitescriptdata = (); pəncərə. sitescript data. foo = ( );

Əsas elementlər üçün AJAX geri çağırışını saxlayırsınız. Həmçinin, məlumatı bir DOM qovşağına yapışdırmaq istəyirsinizsə, "metaobject" üsulu mənim çox xoşuma gəlir.