Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да извличате и попълвате стойности от mysql към HTML опции за избор динамично в jsp и ajax за две поле за избор на опции

Във вашето ajax повикване трябва да получите select-box (имена на таблици) и след това трябва да присвоите това на някой <div> . Направете следните промени в кода си, за да работи:

Javascript :

function sendSchema() {
        var schemaOption = document.getElementById('schemaName');
        var selectedSchema = schemaOption.options[schemaOption.selectedIndex].value;
        var url = "somepage.jsp?schema=" + selectedSchema;

        if (window.XMLHttpRequest) {
            request = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            request = new ActiveXObject("Microsoft.XMLHTTP");
        }

         request.onreadystatechange= function() 
                        {
                            if(this.readyState === 4 && this.status === 200) {
                            document.getElementById("table").innerHTML =this.responseText;// getting response and assign to div with id->table
                        }
                    }; 
                        request.open("GET",url,true);  
                        request.send();
    }

Сега във вашия somepage.jsp поставете кода на вашата база данни, както е показано по-долу:

<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>


     <%
          Statement stmtTableLit = null;
          ResultSet rsTableList = null;
      Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");

     if (request.getParameter("schema") != null) {
                    String selectedSchema = request.getParameter("schema");//getting data 
                    stmtTableLit = conn.createStatement();
                    stmtTableLit.execute("use " + selectedSchema);
                    PreparedStatement pstmt = conn.prepareStatement("show tables");
                    rsTableList = pstmt.executeQuery();

                }
   //whatever will be  there in out.println() will be sent back as response to your index.jsp page         
       out.println('<select id="tableName" onchange="sendTable()">
            <option value="null" selected="selected">Choose the Table</option>');

                if (rsTableList != null) {
                    while (rsTableList.next()) {
                        out.println(
                                "<option value=" + rsTableList.getString(1) + ">" + rsTableList.getString(1) + "</option>");
                    }
                    rsTableList.close();
                }

        out.println('</select>');
     %>

Във вашия index.jsp просто добавете <div id="table"></div> , тук отговорът ще дойде от somepage.jsp , също така не забравяйте да премахнете допълнителния код от вашата страница index.jsp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Има ли формула за оценка на размера на индекса в InnoDB?

  2. Вмъкнете по подразбиране в колона non null, ако стойността е null

  3. Проблем с конектора на Confluent JDBC Source

  4. Как да автоматизирате миграцията от самостоятелен MySQL към Galera Cluster с помощта на Ansible

  5. Намерете най-близката географска ширина/дължина с SQL заявка