Pregunta:
Fecha: 19-02-2020 03:12:17
(En Español)
ID status
1 Pendiente
2 En desarrollo
3 terminado
4 cancelado
y solo quiero que me muestre pendiente en el formulario
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="first-name">Estado
</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<select class="form-control" name="status_id" >
<?php foreach($statuses as $p):?>
<option value="<?php echo $p['id']; ?>"><?php echo $p['name']; ?></option>
<?php endforeach; ?>
</select>
</div>
</div> Votos: 1 - Respuestas: 4 - Vistas: 8 Compartir en: Google Facebook Twitter LinkedIn Link
Seleccionar solo una variable en PHP[No resuelta]
Hola, tengo un formulario en php y para seleccionar los campos de una tabla hice un foreach pero solo quiero que muestre el primer campo de la tabla statuses, los campos son de esta manera:ID status
1 Pendiente
2 En desarrollo
3 terminado
4 cancelado
y solo quiero que me muestre pendiente en el formulario
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="first-name">Estado
</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<select class="form-control" name="status_id" >
<?php foreach($statuses as $p):?>
<option value="<?php echo $p['id']; ?>"><?php echo $p['name']; ?></option>
<?php endforeach; ?>
</select>
</div>
</div> Votos: 1 - Respuestas: 4 - Vistas: 8 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 19-02-2020 16:49:48 En tu caso, ya extraes todos los datos de esa tabla, por lo que para filtrar el atributo que quieres, sería aplicando una condición.
Adjunto tu implementación de foreach:
<?php foreach($statuses as $p):?> <?php if ($p['name'] == 'pendiente'){ ?><option value="<?php echo $p['id']; ?>"><?php echo $p['name']; ?></option><?php } ?> <?php endforeach; ?>
Eso tendría que bastar para que sólo imprima en tu DOM el html resultante de acuerdo a tu filtro.
Si no reutilizarás esos datos, puede ser mejor que en tu consulta ya agregues la clausula WHERE donde apliques el filtro.
Nota: Ese código no está probado, lo he escrito nadamás, espero te funcione, de cualquier forma, está la lógica. Votos: 0 - Link respuesta -
Fecha: 20-02-2020 03:37:40 Jerson gracias por el código y la explicación, así no estaría funcionando mas alla que esta la lógica, te consulto vos decís que en el insert into que hago le agrego la condicion where o en la variable que cree arriba $statuses haga el where ?
nota: en mi archivo php tengo esto creado $statuses =mysqli_query($con, "select * from status");
gracias.- Votos: 0 - Link respuesta -
Fecha: 21-02-2020 20:54:41 Hola Matias,
Leyendo la ultima duda, entiendo que quieres realizar un insert a tu base de datos, el siguiente ejemplo es para una inserción de datos de una tabla de usuarios, la cual tiene ligadas otras dos tablas (perfil, empresa)
$sql ="INSERT INTO `usuarios`(`username`, `nombres`, `direccion`, `telefono`, `password_hash`, `correo`, `perfil`, `empresa`) VALUES ('".$usuario."','".$nombre."','".$direccion."','".$telefono."','".$encrypt."','".$correo."','".$perfil."','".$empresa."','".$foto."',NOW())";if (mysqli_query($conexion,$sql) ) { echo "exito"; }
en tu caso si copiaste el codigo de arriba debes de mandar a insertar$p['id'];
ya sea de una manera directa o previamente cachandolo en una variable Votos: 0 - Link respuesta -
Fecha: 26-02-2020 07:34:22 Si solo quieres mostrar el primer registro de un array con mas registros puedes usar break; despues de imprimir el primer registro y con eso sales del ciclo
<?php foreach($statuses as $p):?> <option value="<?php echo $p['id']; ?>"><?php echo $p['name']; ?></option> <?php break; endforeach; ?>
Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión