Foros del Web » Programando para Internet » PHP »

Mostra datos seleccionando un valor en una combo

Estas en el tema de Mostra datos seleccionando un valor en una combo en el foro de PHP en Foros del Web. Buenas noches, A ver si alguien me puede resolver el siguiente problema: Tengo una tabla explicaciones_tbl con los campos id_explicaciones, exp_ingles, exp_esp. La idea es ...
  #1 (permalink)  
Antiguo 28/11/2011, 16:58
 
Fecha de Ingreso: septiembre-2011
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Mostra datos seleccionando un valor en una combo

Buenas noches,

A ver si alguien me puede resolver el siguiente problema:

Tengo una tabla explicaciones_tbl con los campos id_explicaciones, exp_ingles, exp_esp.

La idea es tener un formulario en el que me aparece una combo con los valores id_explicaciones -->Esto está conseguido

Y cuando selecciono un id me aparezcan dos texareas con los datos exp_ingles y exp_esp.

Aqui les paso mi codigo:

PHP principal:

<?php
$link=mysql_connect("localhost","root","");
mysql_select_db("mysql",$link);
?>

<html>
<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">

<head>

<script language="javascript">


var xmlhttp;

function MostrarDescr(cat){
var cate;
cate= cat;

//se obtiene el resultado de la petición al php
//que se encarga de obtener una descripción dada una categoria

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
//alert("xml");
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET","http://localhost/obtenerDescripcion.php?categoria="+cate,true);
xmlhttp.send(null);

xmlhttp.onreadystatechange=function(){


if (xmlhttp.readyState==4 && xmlhttp.status==200){

//se introduce la información en el formulario
//"xmlhttp.responseText" contiene el resultado de la petición
alert (xmlhttp.responseText);



formulario.ingl.value=xmlhttp.responseText;
formulario.exp.value=xmlhttp.responseText;

}else{
}
}

}//fin de la función MostrarDescripción


<title>Actualización de base de datos</title>
</head>
<body>

<p align='center'>

Actualizacion de base de datos: Modificar una categoría</p>
<HR/>


<form name='formulario' id='formulario' method='post' action='categoria_modificar.php'>

<input type="hidden" name="opt">

<TABLE border="0" cellpadding="0">

<TR>

<td> <label>Explicacion </p></td>

<td>
<?php


echo "<select name='explicacion' id='nombre_dado' onchange='MostrarDescr(this.value)'>";

$sql="SELECT ID_EXPLICACIONES FROM explicaciones_tbl";
$result=mysql_query($sql);
$i=0;
while ($row=mysql_fetch_row($result))
{
echo "<option value=".$row[$i].">".$row[$i]."</option>\n";
}
echo "</select>";
?>
</p>
</TR>
<TR>
<BR>
<td>Ingles:</p></td>

<td> <input type='text' name ='ingl' id ='ingl' size="1000" maxlength="1000"> </TEXTAREA></p> </td></tr>

<td>Español:</p></td>
<td> <input type='text' name ='esp' id ='esp' size="1000" maxlength="1000"> </TEXTAREA></p> </td>
</TR>
<TR>
<td><input type='button' value='Aceptar' name="salvar" onclick =verifica()></td>
<td><input type='reset' value='Comenzar'></td>
</TR>
</p>
</form>
<?php

PHP al que le paso la variable id_explicaciones:

<?php
header('Content-type: application/json; charset=iso-8859-15');

$Categoria =$_GET['categoria'];

//Conexion a la base de datos
$conexion = mysql_connect("localhost", "root", "PEMYN11111");
mysql_select_db("mysql", $conexion);

$query= "SELECT EXP_INGLES,EXP_ESP FROM explicaciones_tbl WHERE ID_EXPLICACIONES='".$Categoria."'";
$result=mysql_query($query, $conexion) or die(mysql_error());


if ($result> 0) {

while ($rowEmp = mysql_fetch_assoc($result)) {

echo $rowEmp["EXP_INGLES"];
echo $rowEmp["EXP_ESP"];

}

}


?>
  #2 (permalink)  
Antiguo 28/11/2011, 17:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostra datos seleccionando un valor en una combo

Aquí tienes un problema grave de conceptos.

Estás especificando en tu respuesta que envías un JSON, pero no es así, solo imprimes los dos textos.

Lo que debes enviar de vuelta es un objeto codificado con json_encode(), que contenga ambos valores textuales.

Así también en tu Javascript lo debes recibir es un JSON, pero estás usando las respuesta textual completa.

A todo esto solo nos explicas lo que quieres conseguir pero jamás mencionas los resultados que obtienes, si es lo que esperabas o algún error. Entiende que no todos podemos deducir de forma casi esotérica cual es el problema.

Yo solo te notifico de tus errores de concepto, no más.

¿Cual es el problema?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/11/2011, 03:14
 
Fecha de Ingreso: septiembre-2011
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Mostra datos seleccionando un valor en una combo

Perdón, perdón,

La verdad es que me han mandado hacer esto y no tengo ni idea.
Me han dado esos php's y si solo muestras un campo funciona perfectamente, me han dicho que lo modifique para que aparezcan las dos explicaciones, pero no lo consigo. Solo me aparece el primer campo. Exp_Ingles, el campo Exp_español me aparece en blanco

Etiquetas: combo, formulario, html, mostra, mysql, sql, tabla, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:23.