PHP - pasar item de select y devolverlo

 
Vista:
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

pasar item de select y devolverlo

Publicado por Luis (30 intervenciones) el 30/08/2016 21:16:28
Hola amigos, sigo aprendiendo php ... con mas horrores que aciertos .. Necesito que al elegir la opción en un select ( tipo combo) , se muestre otro campo del mismo registro ( campo valor) , sin refrescar la pagina y conservando el valor seleccionado.
He estado investigando y encontré que para esta funcionalidad necesito acceder por javascript o ajax ... justamente es lo que recien estoy tratando de entender .
Estuve viendo otros códigos y encontré algo que me puede servir, pero no logro que funcione ..
Les paso lo más importante :

1) finaliza2.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<script type="text/javascript">
function show_registro(str)
{
       alert (str);
 
    if (str=="")
    {
        document.getElementById("datos").innerHTML="";
        return;
    }
 
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
 
    xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readystate==4 && xmlhttp.status==200) {
        document.getElementById('datos2').innerHTML=xmlhttp .responseText;
    }
    }
 
    xmlhttp.open("GET","busca.php?q="+str,true);
    xmlhttp.send();
}
 
</script>
 
<form id="form_flete" name="form_flete" method="POST" action="" />
	<tr>
		<td width="120">
			<p>Destino</p>
		</td>
 
		<td width="80" align="RIGHT">
			<?php
				echo "<SELECT tabindex='1' name='cmb_flete' id='cmb_flete' SIZE='1' onchange='show_registro(document.form_flete.cmb_flete.value)'>";
				echo "<option value='X'>Seleccione</option>";
				$res3 = mysqli_query($con, $cad3);
 
				while ($filas3=$res3->fetch_array()) {
				echo "<option value='". $filas3['id_flete'] ."'>" . $filas3['describe'] ."</option>";
					}
				echo "</SELECT>";
			?>
		</td>
 
		<td>
			<div id="datos2" align="left">uigtug</div>
		</td>
	</tr>
</form>


2) busca.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
include ("conexion.php");
 
$q=$_GET['q'];
 
    $consulta1 ="SELECT `valor` FROM flete WHERE flete.id_flete=" . $q . "";
    $result = mysqli_query($con, $consulta1);
        echo "<table border='1'>";
        while ($filas=mysqli_fetch_array($result)) {
        echo "<tr>";
        echo "<td>" . $filas['valor'] . "</td>";
        echo "</tr>";
        echo "</table>";
        mysqli_close($con);
        }
 
?>


Por alguna razón que desconozco ... no envía la variable a busca.php
Se me quema el cerebro ... ayuda por favor ..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Developer

pasar item de select y devolverlo

Publicado por Developer (52 intervenciones) el 03/09/2016 00:36:17
Hola amigo,
te manda algun error? o simplemente no te regresa algún resultado?
Q te imprime en consola?
El primer paso sería verificar que efectivamente esté entrando a tu funcion del "onchange", posteriormente verificar que si se esté enviando la petición AJAX..
Otro punto a tomar en cuenta es que, así como lo tienes definido, busca.php debe de estar al mismo nivel que finaliza2.php.
Como sugerencia, usa las funciones que provee JQuery, t facilitaran muchas cosas!
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis
Val: 25
Ha disminuido su posición en 148 puestos en PHP (en relación al último mes)
Gráfica de PHP

pasar item de select y devolverlo

Publicado por Luis (30 intervenciones) el 03/09/2016 04:21:14
Gracias amigo , pasaron unos cuantos días de darle vueltas al problema .. alerts .. echos .. var_dump ... hasta que encontré el error y avancé bastante . Estoy aprendiendo algo de jquery gradualmente , entendiendo muy de a poco.
Te hago una consulta, quizás puedas ayudarme , hay cosas incluso de html/php que aprendo a la pasada.
Tengo una tabla donde listo artículos de un pedido. Uno de los campos es la cantidad de articulos, (name:cantidad2) la vuelco en un input text con la idea de que pueda ser modificado . A veces cuando edito .. tengo un tema con los espacios o algo, ya que cambio un 1 por 2 y quizás me toma un 12 ! .... recien tras poner el foco y presionar suprimir ingreso el número que sea correcto y lo toma ... se te ocurre que podría ser y como puedo mejorarlo ?

1
2
3
4
5
6
<form action="" method="post" name="actualizo">
       <input name="id2" type="hidden" value="<?php echo $i ?>" />
       <input name="cantidad2" type="text" value="<?php echo $mi_carrito[$i]['cantidad']  ?> " size="2" maxlength="2"  />
       <input name="" type="image" src="<?php echo base_url('misiconos/actualizar.png')?>" title="Actualizar la cantidad"/>
       <input name="stock2" type="hidden" value="<?php echo $mi_carrito[$i]['stock']  ?>" />
</form>

Muchas gracias !!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Developer

pasar item de select y devolverlo

Publicado por Developer (52 intervenciones) el 06/09/2016 19:49:56
Hola amigo, me da gusto que hayas resuelto tu problema... sería bueno (muy bueno) que describieras cual era o donde estaba el error..
respecto a tu pregunta, te soy sincero, no entendí bien cuál es el problema,
pero, quizá tenga algo q ver con los atributos q le asignas a dicho campo ( size="2" maxlength="2" )
O q es exactamente lo q te hace?
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar