Hi! Could we please enable some services and cookies to improve your experience and our website?

PHPize Online / SQLize Online  /  SQLtest Online

A A A
Login    Share code      Blog   FAQ

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

Copy Format Clear
-- Создание таблицы специальности врачей CREATE TABLE DoctorSpecialties ( SpecialtyId INT AUTO_INCREMENT PRIMARY KEY, Specialty VARCHAR(255) NOT NULL ); -- Создание таблицы врачей CREATE TABLE Doctors ( DoctorId INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(100) NOT NULL, SpecialtyId INT NOT NULL, FOREIGN KEY (SpecialtyId) REFERENCES DoctorSpecialties(SpecialtyId) ); -- Создание таблицы пациентов CREATE TABLE Patients ( PatientId INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(100) NOT NULL, Age INT NOT NULL, Gender VARCHAR(10) NOT NULL ); -- Создание таблицы пожеланий пациентов CREATE TABLE Patient_wishes ( WishId INT AUTO_INCREMENT PRIMARY KEY, PatientId INT NOT NULL, SpecialtyId INT NOT NULL, WishText TEXT, FOREIGN KEY (PatientId) REFERENCES Patients(PatientId), FOREIGN KEY (SpecialtyId) REFERENCES DoctorSpecialties(SpecialtyId) ); -- Создание таблицы записей пациентов к врачам CREATE TABLE PatientAppointments ( AppointmentId INT AUTO_INCREMENT PRIMARY KEY, PatientId INT NOT NULL, DoctorId INT NOT NULL, AppointmentDate DATE NOT NULL, FOREIGN KEY (PatientId) REFERENCES Patients(PatientId), FOREIGN KEY (DoctorId) REFERENCES Doctors(DoctorId) );

Stuck with a problem? Got Error? Ask AI support!

Copy Clear
Copy Format Clear
<?php // Предположим, у нас есть массивы с данными о пациентах и врачах function foo(){ } $patients = [ ['Name' => 'Иванов', 'Age' => 30, 'Gender' => 'М'], ['Name' => 'Петрова', 'Age' => 25, 'Gender' => 'Ж'], ['Name' => 'Суркин', 'Age' => 12, 'Gender' => 'М'] // ... другие пациенты ]; foreach ($patients as $row) { $q = mysqli_prepare( $mysqli, "INSERT INTO `Patients` (`Name`, `Age`, `Gender`) VALUES (?, ?, ?)"); $q->bind_param("sis", $row['Name'], $row['Age'], $row['Gender']); $stmt = $q->execute(); if ($stmt === false) { die(print_r(sqlsrv_errors(), true)); } } $doctor_specialties = [ ['Specialty' => 'Терапевт'], ['Specialty' => 'Хирург'], ['Specialty' => 'Ортодонт'] // ... другие специальности ]; foreach ($doctor_specialties as $row) { $q = mysqli_prepare( $mysqli, "INSERT INTO `DoctorSpecialties` (`Specialty`) VALUES (?)"); $q->bind_param("s", $row['Specialty']); $stmt = $q->execute(); if ($stmt === false) { die(print_r(sqlsrv_errors(), true)); } } //$result = $mysqli->query('SELECT * FROM `DoctorSpecialties`'); // запрос на выборку //while($row = $result->fetch_assoc()) { // echo 'Запись id='.$row['SpecialtyId'].' '.$row['Specialty']."\n"; // выводим данные //} $doctors = [ ['Name' => 'Масалимов', 'SpecialtyId' => 1], ['Name' => 'Фатхуллин', 'SpecialtyId' => 2], ['Name' => 'Васнецов', 'SpecialtyId' => 3] // ... другие врачи ]; foreach ($doctors as $row) { $q = mysqli_prepare( $mysqli, "INSERT INTO `Doctors` (`Name`, `SpecialtyId`) VALUES (?, ?)"); $q->bind_param("si", $row['Name'], $row['SpecialtyId']); $stmt = $q->execute(); if ($stmt === false) { die(print_r(sqlsrv_errors(), true)); } } // Функция для случайного выбора врача function getRandomDoctorId($doctors) { $randomIndex = array_rand($doctors); if (isset($doctors[$randomIndex])) { return $doctors[$randomIndex]['id']; } else { // Если массив пустой, вернуть null или выбросить исключение // return null; throw new Exception("Array is empty"); } } // Заполнение таблицы записей пациентов к врачам foreach ($patients as $patient) { $patientId = 1; // получаем id пациента из базы данных или генерируем новый $doctorId = getRandomDoctorId($doctors); $appointmentDate = '2/12/2023'; // генерируем дату приема // Вставляем запись в базу данных $q = mysqli_prepare( $mysqli, "INSERT INTO `patient_appointments` (`patient_id`, `doctor_id`, `appointment_date`) VALUES (?, ?, ?)" ); $q->bind_param("iis", $patientId, $doctorId, $appointmentDate); $q->execute(); // Пример использования PDO для вставки записи //$stmt = $pdo->prepare("INSERT INTO patient_appointments (patient_id, doctor_id, appointment_date) VALUES (?, ?, ?)"); //$stmt->execute([$patientId, $doctorId, $appointmentDate]); }
Copy Clear