Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Do-while dentro de else

Estas en el tema de Do-while dentro de else en el foro de PHP en Foros del Web. Hola, Soy novato en php. Necesito hacer un "do-while" dentro de un "else" y la verdad es que no entiendo como debe ser la sintaxis. ...
  #1 (permalink)  
Antiguo 03/04/2013, 06:08
 
Fecha de Ingreso: septiembre-2012
Mensajes: 30
Antigüedad: 11 años, 7 meses
Puntos: 0
Do-while dentro de else

Hola,

Soy novato en php. Necesito hacer un "do-while" dentro de un "else" y la verdad es que no entiendo como debe ser la sintaxis. dejo el código por si alguien puede ayudarme a ver la luz.

Este código (que para los que sabeis debe ser doloroso a los ojos, lo sé) me funciona a medias. Se trata de que si una consulta esta vacía no muestre nada pero si la consulta NO esta vacía muestre una estructura repetida para cada regístro.

Cuendo NO esta vacía funciona bién pero cuando la consulta esta vacía me muetra igualmente la estructura html.

Gracias de antemano


Cita:
<?php
if ($totalRows_Recordset4==0)
{
echo "";
}
else
{
$nom_marca = $row_Recordset1['nom_marca'];
echo "<div style='border-bottom:solid; border-bottom-color:#cc0d36; border-bottom-width:1px;margin-bottom:30px'>
<h2>Notícias $nom_marca</h2>
</div>";
}
do {
$nombre_archivo = $row_Recordset4['nombre_archivo'];
$titol = $row_Recordset4['titol'];
$data = $row_Recordset4['data'];
$resum = $row_Recordset4['resum'];
$id = $row_Recordset4['id'];
echo "<div id='noticia'>
<div id='foto_noticia'><img src='img/img_noticies/$nombre_archivo' width='226px' height='110px' /></div>
<div id='text_noticia' style='margin-right:10px'>
<div style='float:left'>
<h4><a href='noticia_full.php'>$titol</a></h4>
</div>
<div style='float:right; font-size:75%; font-style:italic; color:#333333; font-weight:bold; margin-right:10px'>$data</div>
<p class='clear'>$resum</p>
</div>

<div id='leer'> <a href='noticia_full.php?id=$id' target='_parent'><img src='img/leer.png' width='70' height='19' border='0'/></a></div>
<!--final noticia-->
</div>";
}
while ($row_Recordset4 = mysql_fetch_assoc($Recordset4));
?>
  #2 (permalink)  
Antiguo 03/04/2013, 06:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Do-while dentro de else

Los bloques se puede anidar sin ningún problema:
Código PHP:
if (/* ... */) {
  
// ...
} else {
  
// ...
  
do (/* ... */) {
  } while (
/* ... */);
  
// ...

La clave consiste en anidar bloques (grupos de llaves { ... }) de manera ordenada, visualmente se notan bastante cuando agregas suficientes espacios.

PDTA: lo de novato es una excusa bastante gastada por acá, lo mejor que puedes hacer es leer la documentación.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/04/2013, 07:08
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Do-while dentro de else

El do while entra por lo menos una vez a la estructura, podrías hacer lo mismo sin el if y simplemente con el While.

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #4 (permalink)  
Antiguo 04/04/2013, 00:04
 
Fecha de Ingreso: septiembre-2012
Mensajes: 30
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Do-while dentro de else

Gracias a los dos.
Pateketrueke, no són excusas, simplemente que al principio todos nos perdemos en cosas básicas, y muchas veces la ofuscación nos impide ver cosas que para otros són evidentes.

Gracias a los 2.
  #5 (permalink)  
Antiguo 04/04/2013, 09:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Do-while dentro de else

Cita:
Iniciado por Safren Ver Mensaje
Gracias a los dos.
Pateketrueke, no són excusas, simplemente que al principio todos nos perdemos en cosas básicas, y muchas veces la ofuscación nos impide ver cosas que para otros són evidentes.

Gracias a los 2.
Bueno, pues entonces tampoco es necesario que lo andes pregonando.

De verdad no nos ayuda en nada saber si eres o no un novato, además el hecho de manifestarlo no hace que tu tema sea considerado como prioridad, así que está siempre de más dicha aclaración.

Cita:
"Hola, soy novato, necesito de su ayuda."

"PDTA: no sean duros conmigo, soy novato."

"El código no es lo mío así que se podrán dar cuenta que soy novato."
PDTA: si eres novato deberías estar consultando constantemente el manual, en mi opinión los foros técnicos no están hechos para principiantes.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 04/04/2013, 10:39
 
Fecha de Ingreso: septiembre-2012
Mensajes: 30
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Do-while dentro de else

La verdad es que no entiendo el cabreo patrueke. No se trata de pregonar nada, ni de artimañas para que me respondan antes ni de paridas de ese tipo.

Simplemente yo no explico las cosas de la misma manera a alguien que sabe de un tema o a alguien que empieza. A alguien con un nivel más avanzado se le pueden obviar cosas, a un novato no, por lo tanto decir que soy novato es dar una información útil para quien quiera responderme de la mejor manera.


Y por cierto, si no quieren gente de nivel bajo pongan un cartelito que diga: "Solo cracks"

ADIÓS
  #7 (permalink)  
Antiguo 04/04/2013, 10:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Do-while dentro de else

Cita:
Iniciado por Safren Ver Mensaje
La verdad es que no entiendo el cabreo patrueke. No se trata de pregonar nada, ni de artimañas para que me respondan antes ni de paridas de ese tipo.

Simplemente yo no explico las cosas de la misma manera a alguien que sabe de un tema o a alguien que empieza. A alguien con un nivel más avanzado se le pueden obviar cosas, a un novato no, por lo tanto decir que soy novato es dar una información útil para quien quiera responderme de la mejor manera.


Y por cierto, si no quieren gente de nivel bajo pongan un cartelito que diga: "Solo cracks"

ADIÓS
Pues no es cabreo, es sólo una opinión bastante personal, tampoco es para que creas que todos en el foro tienen la misma opinión que yo.

Simplemente no me agrada leer tanto lloriqueo en algunos temas.

Saludos!

PDTA: dicho de mejor forma, si quitamos únicamente la frase "Soy novato en php." de tu cuestión inicial el tema sería exactamente el mismo, ni mas ni menos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: php+bd+mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:00.