soy nuevo en stackoverflow, así que corrígeme si estoy diciendo tonterías;)
Mi problema: tengo un text.php donde están 2. En el primero, selecciono una tabla (como "cuentas", "clientes", etc.). El segundo muestra los nombres de las columnas de la tabla seleccionada. ¡La página no debe actualizarse cuando cambia la primera! Lo que he hecho hasta ahora: logré obtener una conexión a la base de datos MySQL (xampp si esto es importante, no sé). Las tablas aparecen en el primero. Entonces, ¿cómo puedo lograr que los nombres de las columnas aparezcan en el segundo? Escuché de AJAX, JQuery pero no sé nada al respecto.
'index.php' <form> <div> <?php //connection ($link is included in the <head>) if (!$link) { die("Connection failed: " . mysqli_connect_error()); } //SQL-Statement and Query $sql1 = "SELECT * FROM tables"; $result = mysqli_query($link, $sql1); ?> <select name="tableselect" id="tableselect" size="10"> <?php if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { ?> <option><?php echo $row['name']; ?></option> <?php } } ?> </select> //second <select> <?PHP $sql2 = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = Database() AND TABLE_NAME = '$variable' ;"; $result = mysqli_query($link, $sql2); echo $sql2 ?> <select name="fieldnames" id="fieldnames" size="10"> <option>*</option> <?php while($row=mysqli_fetch_array($resultf)) { ?> <option><?php echo $row['COLUMN_NAME']; ?></option> <?php } ?> </select> </div> </form>Pensé que $variable significa que el nombre de la tabla seleccionada (de 1st) debe colocarse en esta variable.
Cualquier ayuda sería buena :) Si hay que diseñar algo mejor, házmelo saber: D
Sí, puede lograr esto fácilmente usando JQuery Ajax o VueJS/Axios. Consulte este tutorial Cuadro de selección dependiente dinámico usando jQuery, Ajax y PHP
Esto también es posible con alpinejs fetch si no desea utilizar marcos pesados.
Mira la respuesta aquí. AlpineJS para el menú de selección dinámica