当前位置: 首页 > 面试题库 >

在文本框中使用php和纯ajax从数据库加载数据

南宫才艺
2023-03-14
问题内容

我有一个下拉列表,其中包含从数据库加载的“主题”数据。当我单击一个主题时,应该做的是在文本框内的加载相关的“
subject_id”值,该值恰好位于下拉列表选项下方。我不知道如何从getbook.php带来价值并在book_ID输入文本中显示。

show_bookid(str) {
    var xmlhttp;
    if (str.length == 0) {
        document.getElementById("bookid").innerHTML = "";
        return;
    }
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        strong text
        xmlhttp = new ActiveXOjbject("Microsoft.XMLHttpRequest");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("bookid").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "getbook.php?q=" + str, true);
    xmlhttp.send();
}

getbook.php

<?php
<?php
$b = $_GET['q'];
include('includes/security.php');
include('includes/dbconnect.php');
$database = new MySQLDatabase();

$sql = "select * from tbl_bkcat where book_id='" . $b . "'";
$result = mysql_query($sql);
?>
?>

以下是我需要带来价值的文件

<form name="bookadd" action="" class="jNice" method="post">
    <p>
        <label>Subject</label>
        <select name="subject" onChange="show_bookid(this.value);">
            <?php while($sel_rows=mysql_fetch_array($subresult)) { ?>
            <option value="<?php echo $sel_rows['book_id'];?>">
                <?php echo $sel_rows[ 'subject']?>
            </option>
            <?php } ?>
        </select>
    </p>
    <p>
        <label>Book_Id</label>
        <input type="text" id="bookid" class="text-small" />//where i need to load subject id</p>

问题答案:

该错误是在ajax部分 document.getElementById(“ bookid”)。innerHTML上完成的 ,必须替换为
document.getElementById()。value, 因为我必须将包含值的 HTML元素 放入 HTML元素
,即Textbox(因为文本框包含value属性) 。

InnerHTML 用于处理不包含 value div,h1,等的 html元素 。有关详细信息,请参见下面的链接。

http://www.verious.com/qa/what-39-s-the-difference-between-document-get-
element-by-id-quot-test-quot-value-and-document-get-element- by-id-quots
/

阿贾克斯代码

  function show_bookid(str)
{
    var xmlhttp;
    if(str.length==0)
    {
        document.getElementById("bookid").value="";
        return;
    }
    if(window.XMLHttpRequest)
    {
        xmlhttp= new XMLHttpRequest();
    }
    else
    {
        xmlhttp=new ActiveXOjbject("Microsoft.XMLHttpRequest"); 
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("bookid").value=xmlhttp.responseText;
        }
    }
        xmlhttp.open("GET","getbook.php?q="+str,true);
        xmlhttp.send();

}

getbook.php

<?php
$b=$_GET['q'];
include('includes/security.php');
 include('includes/dbconnect.php'); 
$database=new MySQLDatabase();

$sql="select * from tbl_bkcat where book_id='".$b."'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
echo $row['Book_id'];
?>

addbook.php

            <form name="bookadd" action="" class="jNice" method="post">
            <fieldset>

                <p><label>Subject</label>
                 <select name="subject" onChange="show_bookid(this.value);">

                 <?php

                    while($sel_rows=mysql_fetch_array($subresult))
                    {
                 ?>
                    <option value="<?php echo $sel_rows['book_id'];?>">
                    <?php echo $sel_rows['subject']?>
                    </option> 
                    <?php 
                        }
                    ?>
                </select>
                </p>

                <p>
                <label >Book ID</label>                 
               <input type="text" id="bookid" name="book"/>
                </p>


 类似资料:
  • 数据库中有以下数据。我想通过使用servlet和ajax填充这些数据来填充文本字段。 数据id------------------字符(30) Lat------------------双精度 Long------------------双精度 信息。班 获取数据。班 大众化。班 指数jsp 我基本上是在jsp页面上使用servlet和ajax填充表中的数据库数据,而不刷新页面。我希望采取同样的行

  • 问题内容: 我想使用php和jquery ajax从mysql数据库中获取数据。“ process.php”是连接到数据库并获取mysql数据的php文件。当它单独运行时它可以工作,但是当使用ajax调用时它不起作用。有人可以帮忙纠正错误吗?这是我的html文件: 这是我的process.php文件 问题答案: 您的ajax调用中有两个语法错误: 请记住,jQuery的ajax需要一个对象作为参数

  • 问题内容: 问题 我尝试使用以下 在此页面上:http : //grb.sonoma.edu : 81/paging.php从数据库加载数据。方法1仅在IE8中有效,但仅在刷新页面后才有效。首次加载页面时,我收到“完成此操作所需的数据尚不可用”。错误。 我更喜欢方法1的原因是因为它使我可以访问表中的各个行。例如,每一行都有一个“突发”类。我在用 单击时更改所选行的颜色。这似乎仅适用于方法1,而不适

  • 我想从数据库中获取数据(经度/纬度),并使用Ajax调用将其返回到Google地图上绘制多个标记。 下面是包含ajax的javascript: 在ajax设置中,当我输入“dataType:json”时,函数错误被执行。输出为警报“加载数据时出错”。 这是我的控制器: 我尝试console.log(响应),它显示整个javascript代码。 当前没有“数据类型:'json'”的错误显示“未捕获类

  • 问题内容: 我想做的是使用ajax和php将数据库表数据放入索引页中的html表。 我的问题是数据没有显示。有人知道我的代码有什么问题吗? 的HTML: 脚本: process.php 问题答案: 至少,这是: 需要是: 因为您在寻找,而不是标签。 但是,正如西奥多(Theodore)的评论中所述,您确实想要: