Jak dostat MYSQL data do JavaScriptu – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak dostat MYSQL data do JavaScriptu – JavaScript, AJAX, jQuery – Fórum – Programujte.comJak dostat MYSQL data do JavaScriptu – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
MaxDJs0
Návštěvník
6. 8. 2014   #1
-
0
-

Zdravím,

mohl by mi někdo poradit jak dostat MYSQL data do JavaScriptu?

Zkoušel jsem se to takto


<?php 
....
$con = @mysql_connect($mysql_db_hostname, $mysql_db_user, $mysql_db_password,  $mysql_db_database);  
if (!$con) {  
trigger_error('Could not connect to MySQL: ' . mysql_connect_error());
}
$json = array();  
$sql = "SELECT * FROM markers";
$result = mysql_query($con, $sql);  
while($obj = mysql_fetch_array($result)) {
$json[] = $obj;
}  
?>  

<script>
function initialize() {
var MYSQLdatas = <?php json_encode($json) ?>;
.....
}
</script>

ale když se snažím vypsat hodnoty, tak mi to nevypíše nic. Jak mám procházet tím objektem? Zkoušel jsem to pomocí MYSQLdatas[index].nazevSloupce a to my právě nevypsalo nic. Mohl by mi někdo poradit nějaké řešení?


Děkuji za odpověď

Nahlásit jako SPAM
IP: 2a00:1028:8b43:c572:ef:5c...–
peter
~ Anonymní uživatel
4016 příspěvků
6. 8. 2014   #2
-
0
-

js = html kod. S php js nepracuje. Zdrojak php je dobry, ale jestli chces videt, co ti php vygenerovalo, tak se musis podivat pres prohlizec na zdrojovy kod html stranky.

Take bys urcite nasel, co  json_encode dela v prikladech na php.net/json_encode.
 

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
The above example will output:
{"a":1,"b":2,"c":3,"d":4,"e":5}

Cili, k tomuto by se dostal jako pole['a'].
U toho tveho by to mohlo byt pole[0]['nazev_sloupce'].

Pak je tu moznost zobrazit zdrojovy kod zmenou hlavicky na text. header( 'Content-Type: text/plain' );

Nahlásit jako SPAM
IP: 2001:718:2601:258:11f9:b1...–
MaxDJs0
Návštěvník
6. 8. 2014   #3
-
0
-

#2 peter
PHP vrací tohle 

string(431) "[{"0":"1","id":"1","1":"balabfldf","name":"ddjfbdvldjfd","2":"lorem ipsum,"address":"lorem ipsum","3":"13.695411","lat":"13.695411","4":"50.504982","lng":"50.504982","5":"default","type":"default"},{"0":"2","id":"2","1":"bldjfldfbdfl,"name":"bfkdjflhdlbadlf","2":"lorem ipsum,"address":"lorem ipsum","3":"16.524458","lat":"16.524458","4":"48.981186","lng":"48.981186","5":"default","type":"default"}]"

javascriptu to předávám takto

var markers = <?php echo json_encode($json); ?>;
var markers1 = JSON.parse(markers);

ale když zadám

alert(markers1[0].lat);

tak mi to nic nevypíše

Nahlásit jako SPAM
IP: 2a00:1028:8b43:c572:68de:...–
peter
~ Anonymní uživatel
4016 příspěvků
6. 8. 2014   #4
-
0
-

To je marny :) Aby bylo jasno, tak s json jsem nikdy nedelal. Takze vubec nevim, jak vypada html kod, ktery ti to vypise. A bez nej nemuzu rici, co s tim udela javascript prohlizece :)

string(431) "[{"0":" - to vypise nejspis php prikaz vardump, to je mi na prd, protoze v html kodu stranky to muze vypadat jinak. Aspon zrovna ted neumim odhadnout, jestli tam budou ci nebudou ty apostrofy.

Ano, klicovy je radek
var markers = <?php echo json_encode($json); ?>;
Ale toto byl vypis z editoru, kde pises php kod. Pro javascript je podstatny html kod, ktery php odesle prohlizeci. Ten se da ve FF zobrazit treba pres ctrl+u. Php kod ja si nemuzu na svem pc pustit, kdyz nemam tvou db, takze ho nemuzu testovat, kdezto html kod ano.

Predpokladejme, ze by html kod mohl vypadat nejak takto...

<script>
var x;
x = '[\n\
{\n\
"0":"1",'+"\n"+'\
"id":"1",'+"\n"+'\
"1":"balabfldf",'+"\n"+'\
"name":"ddjfbdvldjfd",'+"\n"+'\
"2":"lorem ipsum",'+"\n"+'\
"address":"lorem ipsum",'+"\n"+'\
"3":"13.695411",'+"\n"+'\
"lat":"13.695411",'+"\n"+'\
"4":"50.504982",'+"\n"+'\
"lng":"50.504982",'+"\n"+'\
"5":"default",'+"\n"+'\
"type":"default"'+"\n"+'\
},'+"\n"+'\
{'+"\n"+'\
"0":"2",'+"\n"+'\
"id":"2",'+"\n"+'\
"1":"bldjfldfbdfl",'+"\n"+'\
"name":"bfkdjflhdlbadlf",'+"\n"+'\
"2":"lorem ipsum",'+"\n"+'\
"address":"lorem ipsum",'+"\n"+'\
"3":"16.524458",'+"\n"+'\
"lat":"16.524458",'+"\n"+'\
"4":"48.981186",'+"\n"+'\
"lng":"48.981186",'+"\n"+'\
"5":"default",'+"\n"+'\
"type":"default"}'+"\n"+'\
]';
x = x.replace(/"([\d\w]+)"(:)/g,"$1$2");
//alert(x.toSource())
x = eval(x);
//alert(x.toSource())
alert(x[0].lat)
</script>

:"lorem ipsum," - tady schazi uvozovka, opakuje se to tam jeste 3x
:"lorem ipsum","
(ty \n tam mam jen proto, aby mi chybova konzola prohlizece vypsala presne radek, kde je problem, ale mozna by to slo i bez toho)

Nahlásit jako SPAM
IP: 2001:718:2601:258:11f9:b1...–
remmidemmi0
Věrný člen
7. 8. 2014   #5
-
0
-

sice jsem nepochopil, co chce MaxDJs naprogramovat, ALE mam uz par roku napsany progrtam v PHP, ktery vola databazi MySQL, cte z ni data, ktera preda do JS a zobrazuje je v lokalnim top okne v HTML strance, kde si uzivatel vybere z nabizenych dat a JS je preda zpet do PHP a ulozi na serveru do MySQL databaze.

Takze resume: kdyz MaxDJs napise jasne a zretelne co se ma naprogramovat, pak to muzu popsat.

Nahlásit jako SPAM
IP: 109.81.210.–
MaxDJs0
Návštěvník
7. 8. 2014   #6
-
0
-

#5 remmidemmi
#4 peter

Už mi to funguje. Napsal jsem si ten javascript-ový a PHP kód od znova a už mi to fungovalo.

Ale děkuji za rady.

Nahlásit jako SPAM
IP: 2a00:1028:8b43:c572:ac93:...–
peter
~ Anonymní uživatel
4016 příspěvků
8. 8. 2014   #7
-
0
-

remmidemmi - tak, vicemene je mi jasne, co chcel. Jen nedodal pouzitelny kod. A v tom kousku, co dodal naposledy, mel asi 4 schazejici uvozovky. Otazkou je, zda za to mohl kod jsonu (php/js) nebo nejaky jeho kod, ktery tu nezminil. Pak by asi bylo dobre si stahnout nejnovejsi verzi json nebo starsi z oficialnich stranek.
Mno, a taky nevi, ze ma prohlizec konzolu pro vypis js chyb a ze umi zobrazit zdrojovy kod stranky. Ale to asi vsichni novacci. Nevim, co je ve skole uci za postupy :)

Nahlásit jako SPAM
IP: 2001:718:2601:258:b9e1:99...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý