0 votos
por (180 puntos) en PHP
Tengo una variable $num que me saca del 0 al 99, lo ingreso en la base de datos, todo me va bien, pero cuando intento hacer comparativas no me funciona.

Cuando lo intento de manera manuam funciona bien:

$nombre= "x" ;

$pagado= "si" ;

$pagadoUno= "no" ;

$numero= "80" ;

$numeroUno= "20" ;

if(($numero == $num) and ($pagado == "si" )) {

    echo "$nombre";

} elseif(($numeroUno == $num) and ($pagadoUno == "no" )) {

    echo "reservado";

} else {

    echo "<input type=checkbox>";

}

Hago el query, el id de resultados, un while para mostrarlos, imprimo los array y bien, pero cuando intento hacer la comparativa siguiente, dentro del while, me falla y no imprime nada:

if(($data['numero'] == $num) and ($data['pagado'] == "si" )) {

    echo "$nombre";

} elseif (($data['numero'] == $num) and ($data['pagado'] == "no" )) { {

    echo "reservado";

} else {

    echo "<input type=checkbox>";

}

¿Qué realizo mal?

Gracias.

2 Respuestas

0 votos
por (1.8k puntos)
Hola Jesús!

   ¿Puedes mostrar el contenido de tu arreglo $data? También ayudaría si pudieras aplicar el formato de código cuando vas a compartirlo en tus posteos para hacer más fácil diferenciarlo del texto.

  Saludos
por (180 puntos)
¿mejor así?   

   <?php
                       $query_cubiertos= mysqli_query($conection, "SELECT * from sorteo;");
                   $result = mysqli_num_rows($query_cubiertos);
           ?>       
                   <table>                      
                         <?php
                $num = 0;
                for ( $i = 0; $i < 10; $i++ ) {
            ?>
            <tr>
            <?php
                    for ( $j = 0; $j < 10; $j++ ) {
            ?>
                <td>
            <?php
                        if ($num < 10) {
                       
                            echo "0".$num;
                       
                        } else {

                            echo $num;
                           
                        }                    
                                 
                                   if($result > 0){
                    while ( $data = mysqli_fetch_array($query_cubiertos)) {
                       
                                                if ($data["numero"] == $num and $data["pagado"] == "no") {
               
                            echo '<p class="reservado">'.$reservado.'</p>';
                   
                         } elseif ($data["numero"] == $num and $data["pagado"] == "si") {
               
                            echo '<p class="nombres">'.$data["nombre"].'</p>';
                                   
                        } else {

            ?>
            </br>
                <input type="checkbox" name="num[]" value="<?php echo "$num";?>">
            <?php
                        }
                    }
                }
                    $num++;
            }
        ?>

-------------------------------------------------------------------------------------------------

Si realizo echo:

                                  if($result > 0){
                    while ( $data = mysqli_fetch_array($query_cubiertos)) {
                        echo $data["numero"];
                        echo "</br>";
                        echo $data["pagado"];
                        echo "</br>";
                        echo $data["nombre"];
                        echo "</br>";
                                       }                                   
                     }

Me da los siguientes resultados, que son correctos:

99
si
jesus
46
no
jesus
65
no
jesus
20
no
maria
22
no
Martin
1
no
Carmen
12
no
Carmen
41
no
Carmen
11
no
Pepe
87
no
Pepe
88
no
Pepe
0 votos
por (180 puntos)

Tu comparación esta mal

if(($numero == $num) and ($pagado == "si" )) {

    echo "$nombre";

} elseif(($numeroUno == $num) and ($pagadoUno == "no" ))

el else if debe de coencidir con la primera comparacion; en este caso no tiene nada que ver con lo anterior, para esto lo que estas haciendo deben de ser if separados

Preguntas relacionadas

0 votos
1 respuesta
preguntado por Jesusmc (180 puntos) Mar 28, 2021 en PHP
0 votos
1 respuesta
preguntado por Jesusmc (180 puntos) Mar 21, 2021 en PHP
+1 voto
1 respuesta
0 votos
0 respuestas
preguntado por gusduc (20 puntos) Abr 25, 2020 en PHP
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...