Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alexandre_miranda

variável javascript recebendo array php

Recommended Posts

Pessoal,

 

Preciso colocar o conteúdo de uma query php numa var javascript. Fiz o seguinte:

<?  $sql = mysql_query("SELECT * FROM cadcli ");  while($col = mysql_fetch_array($sql))   {	 $var = $col["nome"].','.$col["fone"].','.$col["contato"].','.$col["email"].','.$col["site"];  }?><script> var Dados = [<?echo $var?>];</script>

Porém não funciona...

Preciso gerar um array abaixo como este abaixo:

var Dados = [ ["joao","1234-5677", "joao", "joao@terra", "www.joao"],

["maria","1234-5677", "maria", "maria@terra", "www.maria"] ];

 

 

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara isso é meio complicado mais ficaria mais ou menos assim:

<?$i=0;$sql = mysql_query("SELECT * FROM cadcli ");while($col = mysql_fetch_array($sql)) { $var[$i] = $col["nome"].','.$col["fone"].','.$col["contato"].','.$col["email"].','.$col["site"]; $i++;}?><script>var Dados = nem Array()<?for($j=0;$j<=$i;$j++){?> Dados[<?echo $j?>] = [<?echo $var?>];<?}?></script>
pode não ser exatamente isso mais é nesse caminho, se não der certo posta ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, já me ajudou... estou quase finalizando. Vamos agora a minha situação real.

 

O meu objetivo é preencher um grid como na imagem abaixo, por sinal muito bom,

que baixei de http://www.activewidgets.com/,

vale a pena baixar e conferir, tem vários grids e outros scripts bacanas

 

Exemplo:

Imagem Postada

 

 

Como pode ver na imagem... estou conseguindo imprimir no grid apenas 1 registro do

array...aleatoriamente escolhi o registro 11 - var myData = [<? echo $var[11]?>] ;

 

Estou fazendo o seguinte:


$i++;

}

?>

 

<script>

<?

for($j=0;$j<=$i;$j++)

{

?>

var myData = [<? echo $var[11]?>] ;

<?

}

?> linenums:0'>$i=0; $sql = mysql_query("SELECT * FROM calendario "); $cont = mysql_num_rows($sql); while($col = mysql_fetch_array($sql)) { $var[$i] = '"'.$col["responsavel"].'"'.','.'"'.$col["descricao"].'"'.','.'"'.$col["data"].'"'.','.'"'.$col["hora"].'"'.','.'"'.$col["custo"].'"'; $i++; } ?> <script> <? for($j=0;$j<=$i;$j++) { ?> var myData = [<? echo $var[11]?>] ; <? } ?>

Já tentei mudar

DE: var myData = [<? echo $var[11]?>] ;

PARA: var myData = [<? echo $var[$j]?>] ;

 

teoricamente, o valor de $j deveria ser de 0 a 11(total de registros), mas não funciona.

 

Se puder me dar mais uma força, agradeço. Segue links para baixar os arquivos que estou usando:

arquivos php js e css

 

Vou tentando aqui, se conseguir posto os cods corrigidos.

 

Obrigado !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, taí o código que eu precisava...peguei no forum do ActiveWidgets.com. Talvez seja útil pra alguém que for popular o datagrid com dados do Mysql.

 

Lembrem-se, pra funcionar o código abaixo, faça download dos scripts em www.activewidgets.com que vem com os arquivos .js .css e outros.

 

grid.php


@mysql_select_db('database', $connection);

$query = 'SELECT * FROM myTable LIMIT 0,10';

$dataset = @mysql_query($query, $connection);

 

 

 

// print MySQL query results as 2D javascript array

function aw_cells($dataset){

 

$rows = array();

while ($record = @mysql_fetch_row($dataset)) {

$cols = array();

foreach ($record as $value) {

$cols[] = '"'.addslashes($value).'"';

}

$rows[] = "\t[".implode(",", $cols)."]";

}

echo "[\n".implode(",\n",$rows)."\n];\n";

}

 

// print MySQL field names as javascript array

function aw_headers($dataset){

while ($field = @mysql_fetch_field($dataset)) {

$cols[] = '"'.$field->name.'"';

}

echo "[".implode(",",$cols)."];\n";

}

 

?>

<html>

<head>

<!-- include AW stylesheet and script -->

<link href="../../runtime/styles/xp/aw.css" rel="stylesheet" type="text/css" ></link>

<script src="../../runtime/lib/aw.js"></script>

</head>

<body>

<script>

 

// insert javascript arrays produced by PHP functions

var myHeaders = <?= aw_headers($dataset) ?>

var myCells = <?= aw_cells($dataset) ?>

 

// create grid control

var obj = new AW.UI.Grid;

 

// set grid text

obj.setHeaderText(myHeaders);

obj.setCellText(myCells);

 

// set number of columns/rows

obj.setColumnCount(myHeaders.length);

obj.setRowCount(myCells.length);

 

// write grid to the page

document.write(obj);

 

</script>

</body>

</html>

 

_linenums:0'><?php $connection = @mysql_connect('localhost', 'user', 'password');@mysql_select_db('database', $connection);$query = 'SELECT * FROM myTable LIMIT 0,10';$dataset = @mysql_query($query, $connection);// print MySQL query results as 2D javascript array function aw_cells($dataset){ $rows = array(); while ($record = @mysql_fetch_row($dataset)) { $cols = array(); foreach ($record as $value) { $cols[] = '"'.addslashes($value).'"'; } $rows[] = "\t[".implode(",", $cols)."]"; } echo "[\n".implode(",\n",$rows)."\n];\n"; } // print MySQL field names as javascript array function aw_headers($dataset){ while ($field = @mysql_fetch_field($dataset)) { $cols[] = '"'.$field->name.'"'; } echo "[".implode(",",$cols)."];\n"; } ?> <html> <head> <!-- include AW stylesheet and script --> <link href="../../runtime/styles/xp/aw.css" rel="stylesheet" type="text/css" ></link> <script src="../../runtime/lib/aw.js"></script> </head> <body> <script> // insert javascript arrays produced by PHP functions var myHeaders = <?= aw_headers($dataset) ?> var myCells = <?= aw_cells($dataset) ?> // create grid control var obj = new AW.UI.Grid; // set grid text obj.setHeaderText(myHeaders); obj.setCellText(myCells); // set number of columns/rows obj.setColumnCount(myHeaders.length); obj.setRowCount(myCells.length); // write grid to the page document.write(obj); </script> </body> </html>

 

Aqui o link onde encontrei o codigo - http://www.activewidgets.com/javascript.fo...ql-example.html

Boa sorte !

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.