PHP - Enviar selected por get

   
Vista:

Enviar selected por get

Publicado por Rodrigo (14 intervenciones) el 03/07/2016 22:55:43
Hola buenas tardes, tengo el siguiente select el cual me trae el stock disponibles de productos de una db, lo que estaría necesitando es pasar la cantidad seleccionada por get a la pagina carrito.php, el problema que tengo es que siempre me pasa el total del stock y no la cantidad seleccionada en el select, el codigo esta mal intente muchas cosas como lo podrán ver cosas sin sentido y no me funciona, lo paso por si alguien me puede ayudar, gracias!

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
$sql= "SELECT * FROM productos WHERE id =".$pid;
                $res2= mysql_query ($sql,$cnx);
                $modelo=mysql_fetch_array($res2);//obtengo el array de resultados
		echo '<select>';
 
			for ($i=1;$i<=$modelo['stock'];$i++){
                                 echo '<option value="'.$i.'" id="'.$i.'"> '.$i.'</option>';
 
			}
		echo '</select>';
 
				"</div>";
 
 
				echo '<div class="share-desc">
					<div class="share">
						<p>Share Product :</p>
						<ul>
					<li><a href="#"><img src="web/images/facebook.png" alt="" /></a></li>
					    	<li><a href="#"><img src="web/images/twitter.png" alt="" /></a></li>
			    		</ul>
					</div>';
					
					echo"<div class='button'><a href=carrito.php?pid=".$i.">Add to Cart</a></div>";
					echo $i;
con el for creo un option id por cada unidad, lo que necesitaría es pasar ese option seleccionado a la pagina carrito. queria saber si había alguna forma en la cual no sea necesario crear un form
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 kip

Enviar selected por get

Publicado por kip (560 intervenciones) el 03/07/2016 23:05:30
Hola, si no deseas crear un form y enviar la cantidad seleccionada podrias hacer uso de Jquery o Javascript, tomando los valores del select almacenandolos en una variable y esta enviarla mediante el href, algo asi:


1
2
3
4
5
<script>
   var scrt_var = 10;
   document.getElementById("link").setAttribute("href",scrt_var);
</script>
<a id="link">this is a link</a>

o tal vez asi :

1
2
3
4
<script language="javascript" type="text/javascript">
var scrt_var = 10;
</script>
<a href="2.html" onclick="location.href=this.href+'?key='+scrt_var;return false;">Link</a>

Lo que debes recordar es colocar un id y un nombre a el select que tienes para poder llamarlo desde la funcion de javascript que vayas a crear.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Enviar selected por get

Publicado por Rodrigo (14 intervenciones) el 03/07/2016 23:14:21
Gracias... en este caso el select ya esta creado con un id es el siguiente:

1
echo '<option value="'.$i.'" id="'.$i.'"> '.$i.'</option>';

El href que me envia a la pag carrito tb lo cree.

1
echo"<div class='button'><a href=carrito.php?pid=".$i.">Agregar a Carrito</a></div>";


Lo que no puedo hacer es que ese href envíe la cantidad seleccionada en el selec del for anterior.

Me recomiendas crearlo con un form entonces?
Osea en el href tendria que enviar el option id seleccionado del select como por ejemplo
1
<option value="7" id="7"> 7</option>
pero no se como realizarlo
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 kip

Enviar selected por get

Publicado por kip (560 intervenciones) el 04/07/2016 00:04:33
Es que estas colocando mal el id, deberia ir en <select> ya que ese seria el componente que contendra el valor de el option seleccionado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
echo '<select id="stock">';
 
			for ($i=1;$i<=$modelo['stock'];$i++){
                                 echo '<option value="'.$i.'" id="'.$i.'"> '.$i.'</option>';
 
			}
		echo '</select>';
 
		echo"<div class='button'><a href='carrito.php' onclick=\"location.href=this.href+'?pid='+ObtenerValor();return false;\">Agregar a Carrito</a></div>";
?>
 
<script type="text/javascript">
	function ObtenerValor() {
		var valor = document.getElementById('stock').value;
		return valor;
	}
</script>

Ordenalo a tu manera y nos cuentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Enviar selected por get

Publicado por Rodrigo (14 intervenciones) el 04/07/2016 00:33:51
Gracias bro, solucionado!!
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