Pregunta mientras que la declaración else? PHP


Así que tengo una validación en valores nulos usando while statement el código es

while (!$rs->EOF){ 
    echo "<tr><td>".$rs->Fields("Branch")."</td>";
    $rs->movenext();
}
$rs->Close();   

?>

Lo que quería lograr es tener una declaración de "más", aunque sé que no es posible usar la instrucción where. ¿Cuál es equivalente a él en donde declaración?

while (!$rs->EOF){ 
    echo "<tr><td>".$rs->Fields("Branch")."</td>";
    $rs->movenext();
}
if(!$rs->EOF)
{
    echo "<tr><td> Branch is missing</td>";
}
$rs->Close();   

?>

Intenté usar "si", no obtuve ningún error, aunque no imprimí lo que quería imprimir


10
2018-02-19 07:07


origen


Respuestas:


While-Else no existe en php.

Podrías usar:

if ($rs->EOF) {
    echo "<tr><td> Branch is missing</td>";
} else {
    while (!$rs->EOF){ 
        echo "<tr><td>".$rs->Fields("Branch")."</td>";
        $rs->movenext();
    }
}
$rs->Close(); 

12
2018-02-19 07:13



Me gustaría sugerir una forma ligeramente diferente de abordar esto, tiene un poco más de sentido en mi cabeza:

if (!$rs.EOF()) {
    while (!$rs.EOF()) {
        // code...
    }
}
else {
    // code...
}

Creo que tiene más sentido para mí, porque generalmente quiere que su resultado esperado se maneje dentro del bloque if y los otros resultados que se manejarán en el bloque else.


1
2018-05-08 12:24



while (!$rs->EOF){  significa "continuar haciendo esto hasta $rs->EOF es true". Cuando acaba, $rs-EOF siempre será cierto (de lo contrario, el bucle no habría terminado), por lo que el condicional nunca pasará.

Debe hacer una prueba en algún punto (posiblemente antes de el while loop) para ver si se encuentran resultados. Sin saber qué biblioteca está usando, es imposible decir cómo hacer esto.


0
2018-02-19 07:12



Debes verificar que el conjunto de resultados no esté vacío antes de intentando recorrerlo.

P.ej. algo así como este pseudo-código:

rs = sql("SELECT ...");

if (rs.isEmpty())
    print "No data";
else
{
    while (!rs.EOF())
    {
        ...
    }
}

0
2018-02-19 07:13



Creo que el siguiente código te ayudaría

<?php while (!$rs->EOF){ 

     if($rs->Fields("Branch"))
     {
      echo "<tr><td>".$rs->Fields("Branch")."</td>";
     $rs->movenext();
     }else{
      echo "<tr><td> Branch is missing</td>";
     }
}

$rs->Close();   

?>

-1
2018-02-19 07:18



Preguntas populares