Поле текстового поля заполнено с помощью тега динамического выбора с использованием php

#javascript #php #mysql #ajax

#javascript #php #mysql #ajax

Вопрос:

Здравствуйте, я очень новичок (очень) новичок в php и javascript, и у меня проблема, я пытаюсь заполнить 2 текстовых поля на основе тега dynamic select (который является функциональным) данными, которые поступают из моей базы данных (phpmyadmin). Моя проблема возникает с ajax (очень новым для этого). Я продолжаю получать сообщение об ошибке «Неперехваченная ошибка ссылки: $ не определен». вот код, с которым я работаю.

 <?php

$pdo = new PDO("mysql:host=localhost;dbname=test1;charset=utf8", "root", "");
?>
<html>
<head>
        <link type="text/css" rel="stylesheet" href="style.css"/>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <!-- You will need jQuery (or anyother javascript framework) to accomplish your goal cause you need ajax -->

        <title>Training</title>
    </head>

    <body>
        <div id="content">
            <h1 align ="center">Add Training</h1>

            <form action="inserttraining.php" method="post">
                <div>
  
                    <p>
                        Employee ID:
                        <select id="id">
                            <option value="">Select one</option>
                            <?php
                            $st = $pdo->prepare("SELECT id FROM testinput");
                            $st->execute();
                            $rows = $st->fetchAll(PDO::FETCH_ASSOC);
                            foreach ($rows as $row) {
                                ?><option value="<?php echo $row ['id']; ?>"><?php echo $row ['id']; ?></option><?php
                            }
                        ?>
                        </select>
                    <p>
                        First name:
                        <input type="text" name="fname" id="fname">
                    </p>
                    <p>
                        Last name:
                        <input type="text" name="lname" id="lname">
                    </p>
                    <p>
                        Training required?
                        <select name="Training">
                            <option value="">Select...</option>
                            <option value="Customer Service">Customer Service</option>
                            <option value="Bailer">Bailer</option>
                            <option value="Reception">Reception</option>
                            <option value="Fish amp; meat counters">Fish amp; meat counters</option>
                            <option value="Cheese counters">Cheese counters</option>
                        </select>
                    </p>
                    <input type="submit">
            </form>
        </div>
    <script type="text/javascript">
        $(document).ready(function() {
            $('#id').change(function() { 
                var $self = $(this);
                $.post("getDetails.php", { id : $self.val()}, function(json) {
                    if (json amp;amp; json.status) {
                        $('#fname').val(json.fname);
                        $('#lname').val(json.lname);
                    }
                })
            });
        })
        
    </script>
    </body>
</html>
  
 <?php
$pdo = new PDO("mysql:host=localhost;dbname=test1;charset=utf8", "root", "");

header("Content-Type:application/json; Charset=utf-8");


$st = $pdo->prepare("SELECT fname, lname FROM testinput WHERE id = :id");
$st->execute(array ('id' => $_POST['id']));
$data = $st->fetch(PDO::FETCH_ASSOC);

echo json_encode(array ('status' => true, 'fname' => $data ['fname'], 'lname' => $data ['lname']));
  

Комментарии:

1. Хорошо, итак, мне действительно удалось заставить его работать. Глупый я, я должен подготовить document.by используя $(document). готово(функция() ( { });