Foros del Web » Programando para Internet » PHP »

Problema con IF

Estas en el tema de Problema con IF en el foro de PHP en Foros del Web. Tengo un minibuscador en un camp de MySQL, le tengo puesto un if. ejemplo, con if quiero que salga con else no. (pongo en rojo ...
  #1 (permalink)  
Antiguo 15/04/2009, 08:46
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Problema con IF

Tengo un minibuscador en un camp de MySQL, le tengo puesto un if. ejemplo, con if quiero que salga con else no. (pongo en rojo donde esta el if y el else.
El problema es que el if sale, pero siempre me sale, cuando escribes bien la palabra y cuando la escribes mal.


<?php
$empresa= $_POST["empresa"];
include("conec.php");
$link=conectarse(foro);
if(($result=mysql_query("select * from empresa WHERE nombre_empresa ='$empresa'", $link))<>$empresa)
{
echo "Por favor introduce bien la palabra";
}

echo "$row[nombre_empresa]";
while($row=mysql_fetch_array($result)){
?>
<br>
<form method="POST" action="buscar.php">
<table>
<tr><td>Buscar Empresa </td><td><input type="text" name="empresa" size="20"></td></tr><br>
<table>
<input name="submit" type="submit" value="Buscar" />
</form></table></center>
<br>
<center>
<table border=0 cellspacing=1 cellpadding=1>
<tr><td align="center"><span class="Estilo9"><a href="ip_usuario.php?id=<? echo $row['codigo_empresa']; ?>"class="Estilo1" >Ficha de Empresa</a></span></td></tr>
</table><br>
<table>
<tr><td width="158"><div align="left"><strong>&nbsp;Nombre&nbsp;</strong></div></td>
<td width="158"><a href="ip_usuario.php?id=<? echo $row['codigo_empresa']; ?>"class="Estilo1" ><? echo $row['nombre_empresa']; ?></a></td>
</tr>
<tr><td><div align="left"><strong>Dirección</strong>&nbsp;</div></td><td><? echo $row['direccion']; ?></td></tr>
<tr><td><div align="left"><strong>Población</strong>&nbsp;</div></td><td><? echo $row['poblacion']; ?></td></tr>
<tr><td><div align="left"><strong>Provincia</strong>&nbsp;</div></td><td><? echo $row['provincia']; ?></td></tr>
<tr><td><div align="left"><strong>&nbsp;C.P.</strong>&nbsp;</div></td><td><? echo $row['cpostal']; ?></td></tr>
<tr><td><div align="left"><strong>&nbsp;N.I.F.</strong>&nbsp;</div></td><td><? echo $row['nif']; ?></td></tr>
<tr><td><div align="left"><strong>E-mail&nbsp;</strong></div></td><td><? echo $row['email']; ?></td></tr>
<tr><td><div align="left"><strong>Web&nbsp;</strong></div></td><td><? echo $row['web']; ?></td></tr>
<tr><td><div align="left"><strong>Persona/s de Contacto</strong>&nbsp;</div></td><td><? echo $row['contacto']; ?></td></tr>
<tr><td><div align="left"><strong>&nbsp;Teléfono&nbsp;</strong></div></td>
<td><? echo $row['telefono']; ?></td></tr>
<tr><td><div align="left"><strong>&nbsp;Notas</strong>&nbsp;</div></td>
<td><? echo $row['notas']; ?></td></tr>

</table></center>

<br><br>
<a href="nuevaempresa.php">Crear Nueva Empresa</a>
<?php
// Exit
}
mysql_close();
?>
  #2 (permalink)  
Antiguo 15/04/2009, 08:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con IF

no es posible....

no puedes comparar eso así!!

debes hacerlo algo así....

Código PHP:
$result mysql_query($sql);
//$row = mysq_fetch_array($result);
// lo comentado es otra posibilidad
//if ($row['columna'] <> $_POST['valor'])
if (mysql_num_rows($result) > 0)
{
  
// ... hay resultados?

ademas que buscas hacer con tu IF ¿??


recuerda que mysql_query() no devuelve un valor, devuelve un puntero hacia los resultados... si hay, si no hay... solo devuelve false

te sugiero leas el manual de PHP: http://php.ney/mysql_query

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/04/2009, 08:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con IF

No entiendo lo que quieres hacer, ya que mysql_query devuelve un recurso, por lo que compararlo con $empresa que es un string no tiene sentido.

Si lo que quieres saber es si ha devuelto una fila. Puedes usar mysql_num_rows():
http://www.php.net/mysql_num_rows
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 15/04/2009, 09:02
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
claro, pero lo que quiero hacer es.

Por ejemplo, si $empresa = empresaaaa, y no lo encuentra queiro que me ponga lo siento no se a encontrado, algo asi, con el if

claro, eso mismo, pero no me sale

Última edición por GatorV; 15/04/2009 a las 11:30
  #5 (permalink)  
Antiguo 15/04/2009, 09:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con IF

Como te dije, usa mysql_num_rows, si es 0, significa que no se encontraron resultados.

Si no te sale debes mostrar el código de cómo lo estás intentando, de lo contrario difícilmente podremos ayudarte.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 15/04/2009, 09:18
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con IF

Yo tengo un buscador.

$empresa= $_POST["empresa"];
include("conec.php");
$link=conectarse(foro);
$result=mysql_query("select * from empresa WHERE nombre_empresa ='$empresa'", $link);
//me lo busca
echo "$row[nombre_empresa]";
while($row=mysql_fetch_array($result)){
?>
<br>
<form method="POST" action="buscar.php">
<table>
<tr><td>Buscar Empresa </td><td><input type="text" name="empresa" size="20"></td></tr><br>
<table>
<input name="submit" type="submit" value="Buscar" />
</form></table></center>

Lo que hace es buscarme de la en la base de datos en la tabla (nombre_empresa) un campo.
Lo tngo puesto con un form, que me lo lleve hasta el select.

Y lo que quiero es que si no lo encuentra que me ponga, lo siento la palabra que busca no se encuentra.

Por eso e dicho lo del If.

Me entendeis?
  #7 (permalink)  
Antiguo 15/04/2009, 09:24
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con IF

¿Leíste la referencia que te pasé? http://www.php.net/mysql_num_rows

Código php:
Ver original
  1. if (mysql_num_rows($recurso) == 0) {
  2.     // No hay resultados
  3. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 15/04/2009, 09:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con IF

si, pero no me sale, vamos si me sale, pero no me dice nada...

Esque tampoco entiendo muy bien que es lo que hace el codigo que me as mandado
  #9 (permalink)  
Antiguo 15/04/2009, 09:31
 
Fecha de Ingreso: enero-2008
Ubicación: Estado de México, México
Mensajes: 476
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema con IF

mmmmmm hay solo evalua si existen datos en la variable recurso que es donde se deposita el query que debes de hacer por ejemplo: como te dice en la pagina que te dio.

Código PHP:
$link mysql_connect("localhost""mysql_user""mysql_password");
mysql_select_db("database"$link);

$result mysql_query("SELECT * FROM table1"$link);
$num_rows mysql_num_rows($result);

echo 
"$num_rows Rows\n"
en este caso recurso seria result.
  #10 (permalink)  
Antiguo 15/04/2009, 09:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con IF

si si, eso si me lo encuentra, cuando no encuentra nada en la select, me pone 0 rows, y cuando encuentra me pone 1 rows, esta bien, pero queiro que solo me poga algo cuando no encuentre en la tabla

cuando no encuentre nada, que solo me aparezca, no se a encontrado nada...
  #11 (permalink)  
Antiguo 15/04/2009, 09:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con IF

Estimado, davicito.

No podemos hacer todo el código por ti. Charles87 ya te ayudó mostrándote como funciona mysql_num_rows. Yo ya te dí un enlace al manual, y te mostré cómo hacer una comparación (if) para saber si existe algún registro.

Ahora tú debes adaptarlo a tus necesidades. Luego, si te atascas o tienes alguna duda puntual, estamos dispuestos a ayudar.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 15/04/2009, 09:41
 
Fecha de Ingreso: enero-2008
Ubicación: Estado de México, México
Mensajes: 476
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema con IF

pues es que no existe ninguna funcion que te diga si existen tablas o no solo puedes saber si hay registros dentro de ella o no. y mira encontre esto que tambien te puede servir.

http://www.forosdelweb.com/f18/como-...-existe-92396/

otra opcion.
  #13 (permalink)  
Antiguo 15/04/2009, 09:41
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con IF

gracias.

me parece bien, es normal.

tranquilo si lo sacare :P
  #14 (permalink)  
Antiguo 15/04/2009, 09:43
 
Fecha de Ingreso: enero-2008
Ubicación: Estado de México, México
Mensajes: 476
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema con IF

Bueno espero te sirvan las opciones que te deje es lo mas cercano a lo que quieres ^^
  #15 (permalink)  
Antiguo 15/04/2009, 10:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con IF

y me funciona
$num_rows = mysql_num_rows($result);
if ($num_rows<1)
{
?>
<form method="POST" action="buscar.php">
<table>
<tr><td>Buscar Empresa </td><td><input type="text" name="empresa" size="20"></td><td><font color="#FF0000"><?echo " * Por favor, escriba bien la empresa que quiere buscar ";?></font></td></tr><br>
<table>
<input name="submit" type="submit" value="Buscar" />
</form></table>
<br>
<br>
<a href="nuevaempresa.php">Crear Nueva Empresa</a>
<?
}
?>


tengo uan duda,

podria poner una marcara url, para que por ejemplo si estoy en google.com/datos/linea.php

me aparezca solo google.com
  #16 (permalink)  
Antiguo 15/04/2009, 12:23
 
Fecha de Ingreso: enero-2008
Ubicación: Estado de México, México
Mensajes: 476
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema con IF

no entiendo puedes explicarme mas detalladamente lo que quieres? osea que redireccione o como me perdi jaja.
__________________
"Si necesitas ayuda para tu foro en phpBB solo buscanos en google como montatuforo y la obtendras"
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 19:19.