** У меня есть файл home.php и файл superLec.php. пользователь может ввести studentUniversityId
и нажать кнопку «Отправить». В частности, я хочу показать текстовое поле studentName
и текстовое поле lecturerName
. Я хочу передать данные в виде массива. Как установить данные массива для значения текстового поля. Пожалуйста, помогите мне. **.
home.php
<?php session_start(); include_once 'include/class.supervisor.php'; $supervisor = new Supervisor(); if (isset($_POST['submit'])) { extract($_POST); $autofill = $supervisor->check_auto_fill($studentUniversityId); /* if ($autofill) { // Registration Success header("location:homeLecturer.php"); } else { // Registration Failed echo 'Wrong username or password'; }*/ } ?> <form action="" method="post"> <label for="studentID">Student ID</label> <input type="text" name="studentUniversityId" id="studentID" placeholder="studentID"> <!--input type="submit" id="autoFill" name="autoFill" value="Auto Fill"><br><br> <input class="btn" type="submit" name="submit" value="Auto Fill"--> <label for="studentName">Student Name</label> <input type="text" id="studentName" name="studentName" value = "<?php echo print_r($autofill);?>" placeholder="Student Name"><br><br> <label for="lecturerName">Supervisor Name</label> <input type="text" id="lecturerName" name="lecturerName" value = "<?php echo ($lecturerName) ;?>" placeholder="Supervisor Name"><br><br> <input type="submit" id="submit" name="submit" value="submit"> </form>
** Это мой php-файл. Я хочу передать значения массива для файла home.php. может ли кто-нибудь помочь мне PLS. **
superLe.php
public function check_auto_fill($studentUniversityId){ $query = "SELECT supervisor.lecturerName, supervisee.studentName, supervisee.studentUniversityId FROM supervisee, supervisor WHERE supervisee.lecturerId = supervisor.lecturerId AND supervisee.studentUniversityId = '$studentUniversityId' "; $result = $this->db->query($query) or die($this->db->error); $supervisor_data = $result->fetch_array(MYSQLI_ASSOC); $arr = array("lecturerName", "studentName", "studentName"); return $arr; }
Вы должны использовать функцию JQuery для установки значения элементов формы. Post studentUniversityId через ajax получает данные в ответ и заполняет данные для формирования элемента.
Чтобы создать ответ с массивом, вам нужно извлечь извлеченные данные из запроса и поместить их в выходной массив. Я предлагаю вам использовать массив key / value.
public function check_auto_fill($studentUniversityId){ $query = "SELECT supervisor.lecturerName, supervisee.studentName, supervisee.studentUniversityId FROM supervisee, supervisor WHERE supervisee.lecturerId = supervisor.lecturerId AND supervisee.studentUniversityId = '$studentUniversityId' "; $result = $this->db->query($query) or die($this->db->error); $supervisor_data = $result->fetch_array(MYSQLI_ASSOC); $arr = array( 'lecturerName' => $supervisor_data[0]['lecturerName'], //the "0" index depends of the query structure, but as I can see, this is a right way 'studentName' => $supervisor_data[0]['studentName'], ) //$arr = array("lecturerName", "studentName", "studentName"); return $arr; }
После этого в вашем home.php вы можете просто извлечь данные из массива и поместить элементы в нужные поля:
<label for="studentName">Student Name</label> <input type="text" id="studentName" name="studentName" value = "<?php echo $autofill['studentName']; ?>" placeholder="Student Name"><br><br> <label for="lecturerName">Supervisor Name</label> <input type="text" id="lecturerName" name="lecturerName" value = "<?php echo $autofill['lecturerName']; ?>" placeholder="Supervisor Name"><br><br>
Надеюсь, это поможет вам. Marco
Из того, что я вижу и понимаю (пожалуйста, извините, если я этого не сделаю), вы хотите заполнить текстовые поля studentName и lecturerName соответствующими значениями. Для меня код выглядит корректно, кроме одного. Вам нужно отбросить линию
$arr = array("lecturerName", "studentName", "studentName");
от superLe.php . Линия
$supervisor_data = $result->fetch_array(MYSQLI_ASSOC);
уже возвращает ассоциативный массив, который можно использовать в переменной $autofill
в файле home.php как $autofill['studentName']
или $autofill['lecturerName']
.