Foros del Web » Programando para Internet » PHP »

While con un IF

Estas en el tema de While con un IF en el foro de PHP en Foros del Web. Hola tengo un sistema con PHP y Mysql que se basa en un buscador que realiza una consulta a la base de datos y si ...
  #1 (permalink)  
Antiguo 03/10/2012, 08:46
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 15 años, 7 meses
Puntos: 1
De acuerdo While con un IF

Hola tengo un sistema con PHP y Mysql que se basa en un buscador que realiza una consulta a la base de datos y si coincide con la/s palabras ingresadas muestra los registros. Todo funciona bien, pero no puedo hacer que muestre "No hay resultados" en el caso de que no los haya.

Lo debo hacer con un if, pero no me funciona.

Adjunto código:



<?


$libre = $_POST['libre']; // variable del formulario que contiene las palabras a buscar



include("connection.php"); // archivo con datos de conexión a la base de datos


$connect= mysql_connect($host,$username, $password);
$select_db= mysql_select_db($db_name, $connect);



$cadbusca= "SELECT * FROM destinos WHERE nombre_destino LIKE '%$libre%' OR fecha_salida LIKE '%$libre%' OR transporte LIKE '%$libre%' OR nombre_hotel LIKE '%$libre%' OR descripcion LIKE '%$libre%' OR costo LIKE '%$libre%'"; // Consulta MYSQL



$result=mysql_query($cadbusca);

While($row=mysql_fetch_array($result))

{

echo "


<tr>





<td width='100px' height='100px' rowspan='6'>

<img src='panel/pics_destinos/" .$row['user_picture']. "' width='100px' height='100px'>


</td>

...
...

.........
..........

....


}


bueno, eso es todo y funciona bien si hay resultados, pero si no los hay quisiera mostrar un texto.

Saludos!

Germán.
__________________
"Life goes on..."
  #2 (permalink)  
Antiguo 03/10/2012, 08:49
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: While con un IF

pregunta:

if(mysql_num_rows($result)==0)
{
echo 'No hay resultados';
}


Saludos
__________________
Msn: [email protected]
  #3 (permalink)  
Antiguo 03/10/2012, 08:52
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: While con un IF

y después pongo un "else" si hay resultados?
__________________
"Life goes on..."
  #4 (permalink)  
Antiguo 03/10/2012, 09:02
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 15 años, 7 meses
Puntos: 1
De acuerdo Respuesta: While con un IF

no hay caso, no funca, me tira el siguiente error:

mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/wwwturi/public_html/buscarlibre.php on line 121
__________________
"Life goes on..."
  #5 (permalink)  
Antiguo 03/10/2012, 09:13
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: While con un IF

Tu Query esta bien?

el mysql_num_rows() sirve para saber cuantos registros devuelve la consulta,

El error dice que ALGO en tu query no esta bien
__________________
Msn: [email protected]
  #6 (permalink)  
Antiguo 03/10/2012, 09:16
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 15 años, 7 meses
Puntos: 1
De acuerdo Respuesta: While con un IF

mirá aquí paso el código completo:

<?


$libre = $_POST['libre'];



include("connection.php");


$connect= mysql_connect($host,$username, $password);
$select_db= mysql_select_db($db_name, $connect);



if(mysql_num_rows($libre)==0)

{

echo "no hay resultados";

}

else

{

$cadbusca= "SELECT * FROM destinos WHERE nombre_destino LIKE '%$libre%' OR fecha_salida LIKE

'%$libre%' OR transporte LIKE '%$libre%' OR nombre_hotel LIKE '%$libre%' OR descripcion LIKE

'%$libre%' OR costo LIKE '%$libre%'";



$result=mysql_query($cadbusca);

While($row=mysql_fetch_array($result))

{

echo "


<tr>





<td width='100px' height='100px' rowspan='6'>

<img src='panel/pics_destinos/" .$row['user_picture']. "' width='100px' height='100px'>


</td>


<td>

<b><font size='3' color='ORANGE'>" .$row['nombre_destino']. "</b></font>

</td>


</tr>

<tr>

<td>

<font size='1' color='white'>" .$row['fecha_salida']. "</font>
</td>


</tr>


<tr>

<td>

<font size='1' color='white'>" .$row['transporte']. "</font>

</td>


</tr>


<tr>

<td>

<font size='1' color='white'>" .$row['nombre_hotel']. "</font>

</td>


</tr>

<tr>

<td width='200px'>

<font size='1' color='white'>" .$row['descripcion']. "</font>

</td>

</tr>


<tr>

<td width='400px'>

<font size='1' color='red'>Costo:</font> <font size='2' color='white'><b>" .$row['costo'].

"</b></font>
<br><a href='contactos.php'><img src='layout/consultar.png' border='0' width='62px'

height='20px'></a>

<br>
<BR>

</td>




";

}
__________________
"Life goes on..."
  #7 (permalink)  
Antiguo 03/10/2012, 09:18
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: While con un IF

Ojo que la sentencia la tienes que poner después de:

$result=mysql_query($cadbusca);
__________________
Msn: [email protected]
  #8 (permalink)  
Antiguo 03/10/2012, 09:20
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: While con un IF

yo lo haria asi:

$result=mysql_query($cadbusca);
if(mysql_num_rows($result)>0)
{
echo 'Mostramos los resultados';
}
else
{
echo 'No hay resultados';
}

Por Orden, NO HAY PROCESOS POR NO, almenos asi me lo enseñaron, espero que sea de ayuda.
__________________
Msn: [email protected]
  #9 (permalink)  
Antiguo 03/10/2012, 09:21
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: While con un IF

ahí lo hice y quedó así:

$result=mysql_query($cadbusca);


if(mysql_num_rows($libre)==0)

{

echo "no hay resultados";

}else{


While($row=mysql_fetch_array($result))

{

echo "
...
...
...
.......
.............
__________________
"Life goes on..."
  #10 (permalink)  
Antiguo 03/10/2012, 09:28
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: While con un IF

Si te sirvió... aumentale a mi Karma... que lo necesito :)
__________________
Msn: [email protected]
  #11 (permalink)  
Antiguo 03/10/2012, 09:31
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: While con un IF

aún no logro que funcione
__________________
"Life goes on..."
  #12 (permalink)  
Antiguo 03/10/2012, 09:43
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: While con un IF

Te sale algún error?
__________________
Msn: [email protected]
  #13 (permalink)  
Antiguo 03/10/2012, 09:46
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: While con un IF

hagamos una cosa, si podés agregale a mi còdigo el if y else como debería quedar!
__________________
"Life goes on..."
  #14 (permalink)  
Antiguo 03/10/2012, 11:24
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 9 años, 2 meses
Puntos: 45
Respuesta: While con un IF

es así

$result=mysql_query($cadbusca);


if(mysql_num_rows($result)==0)

{

echo "no hay resultados";

}else{


While($row=mysql_fetch_array($result))

{

echo "
...
...
...
.......
.............
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x

Etiquetas: formulario, mysql, registro, sql, variables
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 11:55.