Pasar datos php javascript

Mi situación es la siguiente encontré por la web un código javascript que me ha sido de bastante utilidad y lo he adaptado un poco, de tal manera que se muestra una lista desplegable con un botón que por medio de la propiedad onclick se conecta a una función js y genera automáticamente otra lista... Soy nuevo en esto y lo que me gustaría hacer es que al momento de que genero una consulta (php-mysql) aparecieran los datos de la consulta dentro de la list/menu, y así sucesivamente... Aquí el código:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<script language="javascript">
var textBoxNro = 1;
function addTextBox() {
var obj = document.getElementById("texto");
obj.innerHTML += "<p><select name='texto_"+textBoxNro+"'></select></p>";
textBoxNro++;
}
</script>
</head>
<?php include 'conexion';
conectar();
$Consul="SELECT clave FROM 'claves'";
$Resul=mysql_query($Consul);
$Rows=mysql_num_rows($Resul);
for($i=1;$i<=$Rows;$i++)
{
$linea=mysql_fetch_array($Resul);
echo $linea['clave'];
}
?>
<body>
<form method="" action="" name="">
<div id="texto">
<p><select name="texto_0"></select></p>
</div>
<button type="button" onclick="addTextBox(this);"> Agregar </button>
</form>
</body>
</html>
...

1 respuesta

Respuesta
1
No entiendo muy bien lo que intentas. Veo que realizas una consulta a la tabla 'claves'. Si quieres que esos registros vayan a la combo, debes mover ese trozo de código PHP y ponerlo donde creas la combo:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<script language="javascript">
var textBoxNro = 1;
function addTextBox() {
var obj = document.getElementById("texto");
obj.innerHTML += "<p><select name='texto_"+textBoxNro+"'></select></p>";
textBoxNro++;
}
</script>
</head>
<body>
<form method="" action="" name="">
<div id="texto">
<p><select name="texto_0">
<?php include 'conexion';
conectar();
$Consul="SELECT clave FROM 'claves'";
$Resul=mysql_query($Consul);
$Rows=mysql_num_rows($Resul);
for($i=1;$i<=$Rows;$i++)
{
$linea=mysql_fetch_array($Resul);
echo "<option>" . $linea['clave'] . "</option>";
}
?>
</select></p>
</div>
<button type="button" onclick="addTextBox(this);"> Agregar </button>
</form>
</body>
</html>
Que tal... he realizado con anterioridad lo que me mencionas, pero no me funciona, no se si esté interviniendo esta linea de código que tengo :
obj.innerHTML += "
<p><select name='texto_"+textBoxNro+"'></select></p>
";
textBoxNro++;
Y que se encuentra situada en mi script... ¿Ahí cómo tendría que situar el trozo de código php?...
Desde ya Gracias
A ver, antes que nada creo que deberíamos fijar un par de conceptos:
PHP es una tecnología de servidor y Javascript una tecnología de cliente. Esto significa que PHP se ejecuta en el servidor ANTES de que la página le llegue al usuario en su explorador y ENTONCES javascript puede interactuar con él, pero PHP ya no hasta que se vuelva a enviar una solicitud (enviar un formulario por ejemplo).
Lo que creo que tu intentas es actualizar una lista con datos que te tendría que suministrar PHP. Si es así, como tantas otras veces ya he contestado (es una pregunta muy frecuente), tienes dos caminos: el fácil, que es enviar todo el formulario, y entonces permites que PHP construya la página con esos datos, o el difícil, mediante AJAX.
Pero si no tienes experiencia en AJAX no te lo recomiendo.
Desde Javascript la única manera de pedirle datos a PHP es mediante AJAX.
Si los datos ya los tuvieses en tu página, Javascript podría seleccionarlos, pero claro eso si hablamos de pocas posibilidades. Si estamos hablando de registros en una tabla, probablemente no sería la manera más adecuada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas