```php PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ] ); // ============================= // API // ============================= if (isset($_GET['api'])) { header('Content-Type: application/json; charset=utf-8'); // Получить вопрос if ($_GET['api'] === 'question') { $id = (int)($_GET['id'] ?? 1); $stmt = $pdo->prepare(" SELECT id, question FROM questions WHERE id = ? "); $stmt->execute([$id]); $question = $stmt->fetch(); echo json_encode([ 'question' => $question ], JSON_UNESCAPED_UNICODE); exit; } // Обработать ответ if ($_GET['api'] === 'answer') { $data = json_decode( file_get_contents('php://input'), true ); $questionId = (int)$data['question_id']; $answer = (int)$data['answer']; $stmt = $pdo->prepare(" SELECT r.next_question_id, r.diagnosis_id, d.name AS diagnosis FROM rules r LEFT JOIN diagnoses d ON d.id = r.diagnosis_id WHERE r.question_id = ? AND r.answer = ? "); $stmt->execute([ $questionId, $answer ]); $rule = $stmt->fetch(); // Диагноз if ($rule && $rule['diagnosis_id']) { echo json_encode([ 'type' => 'result', 'diagnosis' => $rule['diagnosis'] ], JSON_UNESCAPED_UNICODE); exit; } // Следующий вопрос if ($rule && $rule['next_question_id']) { $stmt = $pdo->prepare(" SELECT id, question FROM questions WHERE id = ? "); $stmt->execute([ $rule['next_question_id'] ]); $question = $stmt->fetch(); echo json_encode([ 'type' => 'question', 'question' => $question ], JSON_UNESCAPED_UNICODE); exit; } echo json_encode([ 'error' => 'Правило не найдено' ], JSON_UNESCAPED_UNICODE); exit; } } ?> Диагностика симптомов

Опросник по симптомам

Загрузка...

Пройденный путь:
-
```