Я в тупике из-за этого, и никакие сообщения SO не упоминают об этом, поэтому я прошу здесь высказать некоторые мысли. По сути, у меня есть оценочный опрос с 13 вопросами, и данные хранятся в одной строке с использованием 13 столбцов (q1-q13). Я извлекаю строку, а затем перебираю каждый столбец в поисках ответов, соответствующих 3, 2 или 1. Найдя, я записываю строку в массив с помощью array_push. Это отлично работает для столбцов 1-9, но не работает на 10-м. Я скопировал/вставил каждую строку кода и внес простые изменения, так что технически каждая строка кода идентична, поэтому я не вижу причин, по которым она должна выйти из строя. Что мне здесь не хватает?
function get_POTENTIAL_List($sc_id) {
global $dbc;
$pot_list = [];
$sql = "SELECT q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13 FROM worksheetA WHERE emp_id =?";
$stmt = prepared_query($dbc, $sql, [$sc_id]);
$row = $stmt->get_result()->fetch_assoc();
Затем я использую этот код для построения массива:
if($row['q1'] == "3" || $row['q1'] == "2" || $row['q1'] == "1") {
$pot_info = array('id' => "1", 'category_title' => "INTRAPERSONAL/INTERPERSONAL", 'scale' => $row['q1'], 'scale_def' => "Scale Definition here.");
array_push($pot_list, $pot_info);
}
if($row['q2'] == "3" || $row['q2'] == "2" || $row['q2'] == "1") {
$pot_info = array('id' => "2", 'category_title' => "INTRAPERSONAL/INTERPERSONAL", 'scale' => $row['q2'], 'scale_def' => "Scale Definition here.");
array_push($pot_list, $pot_info);
}
и так далее (успешно) до 9:
if($row['q9'] == "3" || $row['q9'] == "2" || $row['q9'] == "1") {
$pot_info = array('id' => "9", 'category_title' => "INTRAPERSONAL/INTERPERSONAL", 'scale' => $row['q9'], 'scale_def' => "Scale Definition here.");
array_push($pot_list, $pot_info);
}
А потом, на 10-м столбце перестает работать с
«Uncaught SyntaxError: неожиданный конец ввода JSON»
ошибка.
if($row['q10'] == "3" || $row['q10'] == "2" || $row['q10'] == "1") {
$pot_info = array('id' => "10", 'category_title' => "INTRAPERSONAL/INTERPERSONAL", 'scale' => $row['q10'], 'scale_def' => "Scale Definition here.");
array_push($pot_list, $pot_info);
}
Решение проблемы
Проблема найдена. Это было «длинное тире» в тестовой строке для фактического определения шкалы «scale_def», используемого для вопроса 10. Ух! Учебный урок для меня.
Комментариев нет:
Отправить комментарий