Foros del Web » Programando para Internet » PHP »

do-while dentro de un if

Estas en el tema de do-while dentro de un if en el foro de PHP en Foros del Web. Hola, no soy experto en las sintaxis de programacion en php, de hecho se hacer solo cosas básicas que cuando no salen como espero, me ...
  #1 (permalink)  
Antiguo 10/05/2011, 05:28
 
Fecha de Ingreso: marzo-2004
Mensajes: 199
Antigüedad: 20 años, 1 mes
Puntos: 1
do-while dentro de un if

Hola, no soy experto en las sintaxis de programacion en php, de hecho se hacer solo cosas básicas que cuando no salen como espero, me quitan bastante tiempo, sin embargo no me gusta molestar aqui casi, lo hago cuando definitivamente no encuentro respuesta. La situacion es q tengo una lista de productos clasificada por usuarios, creada asi

<?php do{;?>
<$aqPRODUCTO["Nombre"];?>
<?php }while ($aqPRODUCTO = mysql_fetch_array($qPRODUCTO));?>

la idea es q si hay un usuario que no tenga ningun producto publicado no se salga una tabla vacia si no un anuncio que diga q no tiene productos publicados, asi q pense hacerlo mediante un if asi:

if(empty($aqPRODUCTO["Nombre"]))
{echo" NO HAY PRODUCTOS PUBLICADOS";}
else
{echo
"<table><tr><td><?php do{;?>
<$aqPRODUCTO["Nombre"];?></td>
<?php }while ($aqPRODUCTO = mysql_fetch_array($qPRODUCTO));?>
</table>";}

La cuestion es q no me funciona, no se si es que no se puede meter un do-while dentro de un if o como digo no conozco mucho de la sintaxis.

De ante mano, agradezco la colaboracion.
  #2 (permalink)  
Antiguo 10/05/2011, 05:43
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: do-while dentro de un if

¿Y si no sabes por qué no lo miras en el manual?

<?php do{;?>
<$aqPRODUCTO["Nombre"];?>
<?php }while ($aqPRODUCTO = mysql_fetch_array($qPRODUCTO));?>

Sabes que eso está mal ¿No? <$aqPRODUCTO["Nombre"];?>

Tampoco entiendo porque abres php y lo cierras en cada línea.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #3 (permalink)  
Antiguo 10/05/2011, 05:47
 
Fecha de Ingreso: marzo-2004
Mensajes: 199
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: do-while dentro de un if

Sip, lo siento, me equivoque cuando lo digite aqui, no me fije en ese error, pero bueno, me dices q si no se por q no lo miro en el manual, repito, ESTO LO HAGO CUANDO YA NO ENCUENTRO UNA SOLUCION, creeme que si lo hubiera entendido en el manual no estaria preguntado, de todas maneras si te incomodo que lanzara esta duda, pido disculpas.
  #4 (permalink)  
Antiguo 10/05/2011, 05:59
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: do-while dentro de un if

Para nada me molesta. No te confundas. Sólo que esas cosas se estudian porque son básicas.
Todos cometemos errores y todos empezamos aprendiendo, pero es que la sintaxis es lo primero

Ve por partes.
Dinos si te lanza algún error, si te entra por el if o no, si te escribe algo...
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #5 (permalink)  
Antiguo 10/05/2011, 06:17
 
Fecha de Ingreso: marzo-2004
Mensajes: 199
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: do-while dentro de un if

Ok en realidad no me sale ningun error, solo que me muestra solo el primer producto
  #6 (permalink)  
Antiguo 10/05/2011, 06:23
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: do-while dentro de un if

Pero hay una cosa que no entiendo.
¿Te funciona el segundo? Es que tienes las comillas mal puestas entre otras cositas.

Código PHP:
if(empty($aqPRODUCTO["Nombre"]))
{echo" NO HAY PRODUCTOS PUBLICADOS";}
else
{echo
"<table><tr><td><?php do{;?>
<$aqPRODUCTO["Nombre"];?></td>
<?php }while ($aqPRODUCTO mysql_fetch_array($qPRODUCTO));?>
</table>";}
Olvidando de momento la parte el if y el else
Comprueba que esto te liste todos.
Código PHP:
<?php 
// Aquí la parte con el mysql

    
echo'<table><tr>';
    
    while (
$aqPRODUCTO mysql_fetch_array($qPRODUCTO));
    echo 
'<td>'.$aqPRODUCTO["Nombre"].'</td>';
    
    echo 
'<tr></table>';
?>
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(

Última edición por IEKK; 10/05/2011 a las 06:31
  #7 (permalink)  
Antiguo 10/05/2011, 06:52
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: do-while dentro de un if

Compañero, antes de comenzar a escribir codigo....lo ideal es que modeles el problema.......para que tengas claro que es lo que vas a hacer....


eso es realmente lo primero que hay que hacer
  #8 (permalink)  
Antiguo 10/05/2011, 07:13
Avatar de AndresTorres  
Fecha de Ingreso: abril-2011
Ubicación: Capital Federal, ARG
Mensajes: 49
Antigüedad: 13 años
Puntos: 13
Respuesta: do-while dentro de un if

De una te digo... primero aprendé la sintaxis del lenguaje, despues labura bucles y MySQL...

lo que querías hacer es esto:

Código PHP:
<?php

if(empty($aqPRODUCTO["Nombre"])) {
    echo 
' NO HAY PRODUCTOS PUBLICADOS';
} else {
    echo 
'<table><tr>';
    while( 
$aqPRODUCTO mysql_fetch_array($qPRODUCTO) ) {
        echo 
'<td>'.$aqPRODUCTO["Nombre"].'</td>';
    }
    echo 
'</tr></table>';
}

?>
Salutes.
  #9 (permalink)  
Antiguo 10/05/2011, 10:42
 
Fecha de Ingreso: marzo-2004
Mensajes: 199
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: do-while dentro de un if

mm..
Ok, muchas, gracias, pero de todas maneras no funcionó,

solo muestra el aviso

N hay productos publicados.
  #10 (permalink)  
Antiguo 10/05/2011, 10:45
Avatar de AndresTorres  
Fecha de Ingreso: abril-2011
Ubicación: Capital Federal, ARG
Mensajes: 49
Antigüedad: 13 años
Puntos: 13
Respuesta: do-while dentro de un if

Lo que nos pasaste es todo el código que tenes? de ser así es obvio que mostrará eso ^^

Etiquetas: Ninguno
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 09:43.