簡體   English   中英

如何在php中設置文本框的數組數據

[英]how to set array data for the textbox in php

**我有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文件的傳遞數組值。 任何人都可以幫助我。 **

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函數來設置表單元素的值。 發布studentUniversityId通過ajax獲取響應數據並填充數據以形成元素。

要使用數組創建響應,您需要從查詢中提取獲取的數據並將它們放入輸出數組中。 我建議你使用鍵/值數組。

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>

希望它對你有所幫助。 馬爾科

根據我的看法和理解(請原諒,如果我不這樣做),您希望填充文本字段studentNamelecturerName及其各自的值。 對我來說,你的代碼看起來正確,除了一件事。 你需要放棄這條線

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

來自superLe.php 這條線

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

已經返回一個關聯數組,你可以在文件home.php中的變量$autofill autofill中使用它作為$autofill['studentName'] autofill $autofill['studentName']$autofill['lecturerName']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM