JavaScript - принесите несколько переменных из PHP

0

У меня есть следующий код PHP. Он создает несколько переменных, используя $ a; например: $ numtoken1.

$sql ="SELECT token, dispositivo FROM dispositivos WHERE idcliente=1";
mysql_select_db('localiza');
$retval = mysql_query( $sql, $conn );
$num_rows = mysql_num_rows($retval);

while($row = mysql_fetch_array($retval, MYSQL_BOTH))
{
    $numtoken['$a']=$row['token'];
    $numdispositivo['$a']=$row['dispositivo'];
    $a=$a++;
}   

Используя JavaScript, я хочу вызвать все переменные PHP с помощью этого кода, но он получит только последнее число $a.

Мой вопрос: в цикле JavaScript, как я могу динамически вставить значение для $a? Потому что в вышеприведенном PHP у меня есть несколько значений для $a.

var accessToken = "<?= $numtoken['$a']; ?>"a;
var deviceID = "<?= $numdispositivo['$a']; ?>";
  • 0
    удалить цитаты из ['$a']
  • 0
    ваш цикл while продолжает перезаписывать данные ... выполните var_dump ($ numtoken), который вы увидите ... Я думаю, вы захотите удалить кавычки из этого $ a внутри скобок
Показать ещё 2 комментария
Теги:

2 ответа

2

Я предлагаю JSON:


    var accesstoken = JSON.parse("<?= json_encode($numtoken); ?>");
    var deviceID = JSON.parse("<?= json_encode($numdispositivo); ?>");
  • 0
    хорошо, но проблема в том, что я имею в php numtoken1, numtoken2, numtoken13 ... так что мне нужно, если javascript var accessToken = "<? = $ numtoken ['$ a'];?>"; вставить автоматически значение $ a, но эта команда "<? = $ numtoken ['$ a'];?>" является командой php. Как я могу изменить $ a в javascript и отправить его в php?
  • 0
    @RobertoBahia Использование PHP для отображения JSON-кода в вашем javascript - это односторонний прием. Если ваша проблема заключается в получении информации из javascript обратно в PHP, вам нужно изучить вызов AJAX сценария обработки PHP.
0

Итак, первое, что я заметил при рассмотрении этого вопроса, это то, что вы переносите $a в одинарные кавычки (') вместо двойных кавычек ("), это означает, что вместо вычисления $a ключом в массиве будет строка" $ a ", так что вы будете перезаписывать значение в каждой итерации в while цикла см. - http://php.net/manual/en/language.types.string.php#language.types.string.parsing для получения дополнительной информации,

При этом фактический ответ на ваш вопрос меняется, но самым простым методом может быть использование функции json_encode для преобразования ваших массивов в объекты json.

var accessTokenArr = <?php print json_encode($numtoken); ?>
var deviceIdArr = <?php print json_encode($numdispositivo); ?>

Затем вы можете перебирать значения в этих массивах и делать все, что хотите, со значениями. Справедливое предупреждение - вам может потребоваться немного изменить этот код, поскольку я не тестировал его, чтобы убедиться, что он играет хорошо.

  • 0
    Поэтому я передаю информацию с помощью этой команды: var deviceIdArr = <? Php print json_encode ($ numdispositivo); ?>; Я пытался использовать subtr, чтобы получить одно значение массива, но это невозможно. Я тоже пытался, используя var a = 0; var deviceID1 = deviceIdArr [a]; но не могу получить значение. Вы знаете, как я могу получить значения из json_encode?
  • 0
    Трудно сказать, так как я не знаю, какова структура ваших данных. Какие ошибки вы получаете в консоли? Вы также можете увидеть, как выглядят данные, выполнив console.log(accessTokenArr); или console.log(deviceIdArr);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню