вывод данных MySQL в переменные для jquery - PullRequest
0 голосов
/ 14 февраля 2011

У меня есть база данных с 2 полями (daynumber & datavalue), данные которой я получаю с помощью php, затем создаю и передаю переменные в jquery для использования с графиком.

Я не делаю это какмассив, потому что мне нужно применить формулу к полю данных.Формула может быть изменена пользователем.

В jquery я должен быть в состоянии сделать это:

cday_1 = <?php echo $day_1?>;
cday_2 = <?php echo $day_2?>;
tday_1 = (<?php echo $day_1 ?> * formula1 / formula2;
tday_2 = (<?php echo $day_2 ?> * formula1 / formula2;

Ряд cday и ряд tday будут нанесены на график отдельно на графике.

Моя проблема в том, что я могу вручную назвать каждую переменную в php, то есть:

$day_1=mysql_result($result,$i,"datavalue");

, но у меня 30 строк, и я предпочел бы делать это с помощью цикла.Пока у меня так далеко:

$i=0;
while ($i < $num) {
$datavalue=mysql_result($result,$i,"datavalue");
echo "\$day_";
echo $i;
echo " = ";
echo $datavalue;
echo "<br>";
$i++;
}

Итак, у меня есть пара проблем с этим.

Первая проблема заключается в том, что пока все повторяется, я не уверен, как на самом деле создавать переменные, подобные этой (!).

Вторая проблема заключается в том, что вдБ, но на самом деле выводится 34, и я не могу понять, почему.

Я самоучка, поэтому извиняюсь за неуклюжее кодирование и / или глупые вопросы.

Ответы [ 2 ]

1 голос
/ 14 февраля 2011

В итоге сделали это:

$i=0;
while ($i < $num) {
${"day_$i"}=mysql_result($result,$i,"datavalue");
$i++;
}

У меня такое ощущение, что это была основная проблема, и я просто не объяснил себя должным образом. Я не могу использовать массив, так как мне нужно возиться с формулами, поэтому это решение работало нормально.

1 голос
/ 14 февраля 2011

Вы можете просто сохранить их в массиве на стороне PHP:

$days = array(
    'cday' => 'the cday value',
    'dday' => 'the dday value',
    etc...
);

и затем через json_encode() автоматически переводит их в массив / объект Javascript. Этот объект может быть отправлен на вашу страницу в виде ответа AJAX или даже встроен в страницу напрямую:

<script type="text/javascript">
    var days = <?php echo json_encode($days) ?>;
</script>

, после чего вы просто получаете доступ к значениям, как любой другой массив в JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...