Nueva pregunta

Pregunta:

Fecha: 19-02-2020 03:12:17 (En Español)

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>
Etiquetas: MySQL - PHP - Pregunta 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
 
frjcbbae garagebible.com