У меня есть следующий код 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']; ?>";
Я предлагаю JSON:
var accesstoken = JSON.parse("<?= json_encode($numtoken); ?>");
var deviceID = JSON.parse("<?= json_encode($numdispositivo); ?>");
Итак, первое, что я заметил при рассмотрении этого вопроса, это то, что вы переносите $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); ?>
Затем вы можете перебирать значения в этих массивах и делать все, что хотите, со значениями. Справедливое предупреждение - вам может потребоваться немного изменить этот код, поскольку я не тестировал его, чтобы убедиться, что он играет хорошо.
console.log(accessTokenArr);
или console.log(deviceIdArr);
['$a']