Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Jahazyel en 5 Enero 2018, 04:37 am



Título: Como hago esto dinamico?
Publicado por: Jahazyel en 5 Enero 2018, 04:37 am
Quiero imprimir datos de una db, pero tengo un problema. el codigo lo tengo estatico y quiero es ordenar de los que tiene y no tiene.
en pocas palabras hacerlo dinamico poniendo los que tiene primero y los que no al final.



(https://i.imgur.com/3CIurkY.png)


Título: Re: Como hago esto dinamico?
Publicado por: SrTrp en 5 Enero 2018, 05:44 am
Por ejemplo si los tienes ordenados por un numero, algo asi los que están completados están en  1 y los que no estan estan en 0 sería algo así
Código
  1. SELECT  * FROM logros ORDER BY completado ASC
  2.  
pero si lo tienes al revés sería
Código
  1. SELECT  * FROM logros ORDER BY completado DESC
  2.  


Título: Re: Como hago esto dinamico?
Publicado por: Jahazyel en 5 Enero 2018, 06:30 am

Asi tengo como les digo el estatico...

<?php if($automedicado == 1){?>
                                    <div class="logrotd">
                                       <div data-percent="100" class="chart easyPieChart" style="background-image:url(../imagenes/logros/9.png);">
                                          <span style="background-color:#<?php echo $color_fondos ?>">&nbsp;10&nbsp;&nbsp;</span>
                                          <canvas height="84" width="84"></canvas>
                                       </div>
                                       <div class="logroiz">
                                          <div style="float:left;   width: 550px;"><span style="background-color:#<?php echo $color_fondos ?>;" class="logrotit"> Automedicado</span></div>
                                          <div class="logrodesc">Consume 50 medicamentos.</div>
                                       </div>
                                       <div style="width: 290px; float:left; border-left:1px solid #d6d6d6; height:84px; position:relative">
                                          <div style="position:absolute; bottom:0">
                                             <div class="logrofecha completado completado3">Completado</div>
                                             <div class="logrofecha"><img src="../imagenes/circulo-verde.png" align="top"/> <i>Logro conseguido el <?php echo $fecha_remedio ?>.</i></div>
                                          </div>
                                       </div>
                                    </div>
                                    <?php } else { ?>
                                    <div class="logrotd2">
                                       <div data-percent="100" class="chart easyPieChart" style="background-image:url(../imagenes/logros/9.png);">
                                          <div class="logroni"></div>
                                          <span style="background-color:#<?php echo $color_fondos ?>">&nbsp;10&nbsp;&nbsp;</span>
                                          <canvas height="84" width="84"></canvas>
                                       </div>
                                       <div class="logroiz">
                                          <div style="float:left;   width: 550px;"><span style="background-color:#cacaca;" class="logrotit"> Automedicado</span></div>
                                          <div class="logrodesc" style="color:#727272">Consume 50 medicamentos.</div>
                                       </div>
                                       <div style="width: 290px; float:left; height:84px; position:relative"></div>
                                    </div>
<?php } ?>

Aca la consulta...
$st    = $con->prepare("SELECT * FROM logros WHERE nombre = :us");
$st->bindParam(':us', $us, PDO::PARAM_STR);
$st->execute();
while ($logros = $st->fetch()) {
    $sobre_ruedas        = $logros['sobre_ruedas'];
    $automedicado       = $logros['automedicado'];
}


Título: Re: Como hago esto dinamico?
Publicado por: Jahazyel en 5 Enero 2018, 22:36 pm
ayuda ;-;


Título: Re: Como hago esto dinamico?
Publicado por: & eDu & en 21 Enero 2018, 15:56 pm
Utiliza las etiquetas de código para postear.
¿Que campo de la DB recoge que tenga un logro completo o no?

Código
  1. $st    = $con->prepare("SELECT * FROM logros WHERE nombre = :us ORDER BY campo_que_recogo_que_tenga_logro_o_no ASC");

o

Código
  1. $st    = $con->prepare("SELECT * FROM logros WHERE nombre = :us ORDER BY campo_que_recogo_que_tenga_logro_o_no DESC");

Como bien te ha indicado un compañero arriba.