Я извлекаю только одно значение ячейки из таблицы MySQL с php и сохраняю его в div с идентификатором. Затем я пытаюсь использовать этот div позже в JavaScript коде.
Я думаю, что код php / MySQL все правильно, но есть проблема с использованием значения div в более позднем JavaScript коде .
Каков наилучший способ сохранить значение MySQL на веб-странице для последующего использования?
В настоящее время я сохраняю возвращенный результат как:
<div id="IsShift04Special"></div>
Использование:
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("IsShift04Special").innerHTML=xhttp.responseText;
}
};
Кажется, все работает хорошо.
Если я дважды щелкну 1 на странице в браузере и вставлю ее в блокнот, она вставит только 1. Нет видимые символы возврата каретки или пробелы где-либо рядом с ним.
Но когда я позже попытаюсь использовать значение 1 с:
var IsItASpecial = document.getElementById("IsShift04Special").innerHTML;
Затем используйте это в выражении if, оно не работает.
Когда я проверяю значение IsItASpecial (где оно объявлено и в операторе if), в отладчике Chrome возвращается:
IsItASpecial = "↵↵↵↵↵ 1 ↵↵↵"
В таблице в настоящее время есть только один строка.
Значение: tinyint (1) со значением 1.
Это запрос php:
$result=mysqli_query($conn, "SELECT shift04_special FROM `shifts` WHERE `users_username`= '$users_username' AND `companies_short_name` = '$companies_short_name' AND `job_role_short_name` = '$job_role_short_name'");
$special_shift04 = mysqli_fetch_assoc($result);
echo $special_shift04['shift04_special'];
У меня та же проблема с:
while ($row = mysqli_fetch_array($result)) {
echo 'shift04_special';
}
И:
while ($row = mysqli_fetch_assoc($result)) {
echo $row["shift04_special"];
}
Когда я делаю дамп var как:
var_dump($special_shift04);
Эта часть возвращается:
["shift04_special"]=> string(1) "1" }
Так что, похоже, проблема в том, что мой код возвращает значение div и затем сохраняет его в переменной.