如何在php中设置文本框的数组数据

如何在php中设置文本框的数组数据

问题描述:

**我有home.php文件和superLec.php文件。用户可以输入studentUniversityId并点击提交按钮。特定数据我想显示studentName文本框和lecturerName文本框。我想以数组形式传递数据。如何为文本框设置数组数据。请任何人帮助我。 **。如何在php中设置文本框的数组数据

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文件传递数组值。任何人都可以帮我解答。 **

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; 

} 
+0

你想在文本框中显示值的权利? –

+0

是的。在文本框中显示值 – moni123

你必须使用jQuery函数来设置表单元素的值。 通过ajax发布studentUniversityId获取响应数据并填充数据以形成元素。

+0

不,我不能使用JQuery。 – moni123

要使用数组创建响应,您需要从查询中提取获取的数据并将它们放入输出数组中。 我建议你使用键/值数组。

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> 

希望它可以帮助你。 马尔科

+0

@Macro'
通知:未定义变量:自动填充在C:\ XAMPP \ htdocs中\登录---注册-使用-OOP-PHP --- Mysql的主\ homeLecturer.php上线
'显示像这样的错误 – moni123

+0

你能复制这两个页面吗? –

从我看到和理解(如果我不请原谅),要填充的文本字段studentNamelecturerName各自的价值。对我而言,除了一件事外,你的代码看起来正确。你需要从superLe.php下降线

$arr = array("lecturerName", "studentName", "studentName"); 

。行

$supervisor_data = $result->fetch_array(MYSQLI_ASSOC); 

已经返回一个关联阵列,其可以在文件home.php在可变$autofill使用尽可能$autofill['studentName']$autofill['lecturerName']

+0

这不能正常工作。 – moni123

+0

小心分享你的想法,为什么这不起作用?我有什么麻烦吗? – Kapparina

+0

'value =“”'我放这样,但不能正常工作 – moni123