PHP - Stock en select

   
Vista:

Stock en select

Publicado por Rodrigo (14 intervenciones) el 29/06/2016 23:29:03
Buenas tardes, una consulta, estoy trabajando en una tienda virtual la cual tiene un determinado stock para cada producto, necesito si alguien tiene a mano el código para que me controle imprima el stock desde un select, es decir tengo el array traigo los datos en mi select cantidad y obviamente me muestra el valor total en este caso 10, estaría necesitando que despliegue un selecto con números del 1 al 10 y asi yo seleccionar la cantidad necesarias de productos a comprar.
Espero que se haya entendido, desde ya muchas gracias!
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

Stock en select

Publicado por kip (571 intervenciones) el 30/06/2016 01:27:18
Hola, si tienes un array con los datos entonces puedes usar algun bucle, sea este while, for o foreach, algo asi:

1
2
3
4
5
echo '<select>';
foreach  ($array_datos as $key => $val){
echo '<option value="'.$val.'"> Clave: '.$key.' Valor: '.$val.'</option>';
}
echo '</select>';

Comentanos si te sirvio.

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

Stock en select

Publicado por Rodrigo (14 intervenciones) el 30/06/2016 02:20:01
Es buenisimo yo tengo un while que me funciona correctamente en el cual me crea un div y carga datos de cada unos de los productos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?PHP
 
	$pid= (int) $_GET['pid'];
	$sql= "SELECT * FROM productos WHERE id =".$pid;
	$i=0;
	$res2= mysql_query ($sql,$cnx);
echo '<div style="display: inline-flex">';
 
 
while($modelo=mysql_fetch_assoc($res2) ){
 
echo "<div id = '".$i."' class='slides_container'>
<a href=''> <img src='".$modelo['img']."' >  </a>"	;
	echo "<h2> ".$modelo['nombre']."</h2>;
				</div>" ;
 
		$i++;
 
	}
?>

lo que quiero justamente es con un for each en otro div cargar el stock disponible mostrando de a 1 hasta llegar a al máximo de stock las unidades dentro de un select, en la base en el array seria $modelo['stock'] no se como hacerlo en el for each te lo dejo alomejor te es muy sencillo.
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 kip

Stock en select

Publicado por kip (571 intervenciones) el 30/06/2016 03:18:46
Bueno en ese caso seria mejor usar un for, ya que $modelo['stock'] no lo veo como un array si no mas bien como el indice del array que contendria el valor total en stock del producto, entonces lo que te entendi es que quieres mostrar un select con este valor, sea 10 o sea 20, el valor seria el valor del stock del producto no?

Seria ago asi:

1
2
3
4
5
6
7
8
9
<?php
 
echo '<div> <select>';
for ($i=0;$i<$modelos['stock'];$i++){
echo '<option value="'.$i.'"> Numero stock: '.$i.'</option>';
}
echo '</select></div>' ;
 
?>

Avisanos si es lo que necesitabas

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

Stock en select

Publicado por Rodrigo (14 intervenciones) el 30/06/2016 03:32:32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?PHP
echo	'<div class="available">';
					$sql= "SELECT * FROM productos WHERE id =".$pid;
 
					$res2= mysql_query ($sql,$cnx);
					echo '<select>';
					for ($i=0;$i<$modelos['stock'];$i++){
 
					echo '<option value="'.$i.'"> Numero stock: '.$i.'</option>';
					echo var_dump($modelo['stock']);
 
										}
						echo '</select>';
 
 
						?>
Hola gracias de nuevo... en este caso no quiero mostrar el precio del producto en si.
Lo que quiero es que si me queda un total de 10 productos en stock, el select despliegue los números del 1 al 10.
como quien escribiera :
1
2
3
4
5
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
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

Stock en select

Publicado por kip (571 intervenciones) el 30/06/2016 03:38:51
Prueba asi, te falta obtener el array de la consulta:

1
2
3
4
5
6
7
8
9
10
11
<?php
echo	'<div class="available">';
		$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=0;$i<$modelos['stock'];$i++){
                                 echo '<option value="'.$i.'"> '.$i.'</option>';
			}
		echo '</select>';
?>
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

Stock en select

Publicado por Rodrigo (14 intervenciones) el 30/06/2016 03:41:49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
echo	'<div class="available">';
					$sql= "SELECT * FROM productos WHERE id =".$pid;
 
					$res2= mysql_query ($sql,$cnx);
					while($modelo=mysql_fetch_assoc($res2) ){
					echo '<select>';
					for ($i=1;$i<$modelo['stock'];$i++){
					echo '<option value="'.$i.'">  '.$i.'</option>';
 
 
										}
									}
						echo '</select>';
 
 
						?>

Brother muchas gracias, lo hice de esta manera y funciono^^ disculpa la molestia gracias por el for.
PD: no creo que se la forma mas optima pero al menos funciona 10 puntos.
PD1: Ahi probe con tu codigo que obviamente es mas optimo y funciona 10 puntos THX!(lo unico que le modifique fue el < a un <= para que me imprima la ultima posicion y le saque la S a modelos['stock'] lo aclaro por si algun dia alguien lo utiliza).
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