Foros del Web » Programando para Internet » PHP »

If dentro del while

Estas en el tema de If dentro del while en el foro de PHP en Foros del Web. Hola a todos quisiera saber donde puedo colocar el if para que me indique si hay o no hay un registro dentro de la B.D. ...
  #1 (permalink)  
Antiguo 23/01/2006, 15:26
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 12 años, 6 meses
Puntos: 7
Exclamación If dentro del while

Hola a todos quisiera saber donde puedo colocar el if para que me indique si hay o no hay un registro dentro de la B.D.

Código PHP:
<?php    
$conselect 
mysql_query("SELECT * FROM `categoria` WHERE tipo='Publicaciones' ") or die('La consulta fallo: ' mysql_error());
echo
'<select name="categoria" id="idcategoria" class="fadtext">';
while (
$linea mysql_fetch_array($conselect)) 
{
    echo
'<option value="'.$linea["nombre"].'">'.$linea["nombre"].'</option>';     
}
echo
'</select>';
?>
thank
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #2 (permalink)  
Antiguo 23/01/2006, 15:36
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 12 años, 4 meses
Puntos: 1
Cita:
Iniciado por helthon
Hola a todos quisiera saber donde puedo colocar el if para que me indique si hay o no hay un registro dentro de la B.D.

Código PHP:
<?php    
$conselect 
mysql_query("SELECT * FROM `categoria` WHERE tipo='Publicaciones' ") or die('La consulta fallo: ' mysql_error());
echo
'<select name="categoria" id="idcategoria" class="fadtext">';
while (
$linea mysql_fetch_array($conselect)) 
{
    echo
'<option value="'.$linea["nombre"].'">'.$linea["nombre"].'</option>';     
}
echo
'</select>';
?>
thank

Haber por lo visto estas creando un select con varias opciones que vienen de un DB , cuando tu te refieres a un registro te refieres a uno solo, creo que lo que deseas saber es si la consulta realmente obtuvo al menos un registro y me imagino que el if lo deseas para limitar la creacion d eun select vacio

si te entendi bien con la poca descripcion que diste la solucion seria esta :


Código PHP:
<?php    
$conselect 
mysql_query("SELECT * FROM `categoria` WHERE tipo='Publicaciones' ") or die('La consulta fallo: ' mysql_error());
if(
$conselect)
{echo
'<select name="categoria" id="idcategoria" class="fadtext">';
while (
$linea mysql_fetch_array($conselect)) 
{
    echo
'<option value="'.$linea["nombre"].'">'.$linea["nombre"].'</option>';     
}
echo
'</select>';
}
?>
  #3 (permalink)  
Antiguo 23/01/2006, 15:47
Avatar de cdavid_00  
Fecha de Ingreso: septiembre-2004
Ubicación: La Gran Tenoch
Mensajes: 124
Antigüedad: 13 años, 2 meses
Puntos: 1
Puedes usar la funcion mysql_num_rows($resultado), que recibe como parámetro el resultado de un consulta (SELECT, solamente) y regresa e número de registros que arrojo dicha consluta, supongo que lo que quieres es mas o menos de la siguiente forma:
Código PHP:
if(mysql_num_rows($conselect) > 0//verifica que exista por lo menos un regisitro
{
  echo
'<select name="categoria" id="idcategoria" class="fadtext">'
  while (
$linea mysql_fetch_array($conselect)) 
  {  
      echo
'<option value="'.$linea["nombre"].'">'.$linea["nombre"].'</option>';     
  }
  echo
'</select>'
}
// fin del if 
Me imagino que lo que quieres evitar es el warning que te sale cuando no encuentra registros la funcion mysql_fetch_array(), para lo cual también podrias agragar una @ al principio de la funcion :
Código PHP:
@mysql_fetch_array() 
espero te sirva y hasta pronto
__________________
"Cuanto más grande es el caos, más cerca está la solución"
"Toda ciencia tiene de ciencia, lo que tiene de matemática"

Última edición por cdavid_00; 23/01/2006 a las 16:00
  #4 (permalink)  
Antiguo 23/01/2006, 17:32
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 12 años, 6 meses
Puntos: 7
Hola dopon probe tu ejemplo y me seguia saliendo el select sin nign registro, cosa que no deseaba.

Probe el registro de cdavid_00
Código PHP:
<?php 
$conselect 
mysql_query("SELECT * FROM `categoria` WHERE tipo='Publicaciones' ") or die('La consulta fallo: ' mysql_error()); 
if(@
mysql_num_rows($conselect) > 0//verifica que exista por lo menos un regisitro
{
  echo
'<select name="categoria" id="idcategoria" class="fadtext">'
  while (
$linea mysql_fetch_array($conselect)) 
  {  
      echo
'<option value="'.$linea["nombre"].'">'.$linea["nombre"].'</option>';     
  }
  echo
'</select>'
}else {
echo 
'No hay ninguna Categoria Ingresada ';
}
Y si salio
Gracias a los dos por ayudar a este humilde programador
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #5 (permalink)  
Antiguo 23/01/2006, 18:02
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 12 años, 4 meses
Puntos: 1
sip perdona taba de afan y falto agregarle dentro del if

if($conselect) por if(mysql_fetch_array($conselect))

cualquier forma de llegar a el fin es valida :P bueno depende XD
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 21:57.