Foros del Web » Programando para Internet » PHP »

php y sql

Estas en el tema de php y sql en el foro de PHP en Foros del Web. Una duda. Tengo el siguiente codigo: if ($var == NULL) $total=mysql_db_query("distribucion", "select nombre, imagen, descripcion, ntabla, ntipo from productos;"); else $total=mysql_db_query("distribucion", "select nombre, imagen, descripcion, ...
  #1 (permalink)  
Antiguo 30/10/2004, 02:54
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 14 años, 5 meses
Puntos: 0
php y sql

Una duda.
Tengo el siguiente codigo:

if ($var == NULL) $total=mysql_db_query("distribucion", "select nombre, imagen, descripcion, ntabla, ntipo from productos;");
else $total=mysql_db_query("distribucion", "select nombre, imagen, descripcion, ntabla, ntipo from productos where ntipo = '$var';");


El problema es que cuando $var no es null la consulta sql me devuelve TODOS los campos y no los que son igual que 'ntipo', pero en cambio lo he probado en un editor de sql y me funciona bien.
Alguien me puede decir cual es el problema?
Es culpa de php?
Gracias a todos
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #2 (permalink)  
Antiguo 30/10/2004, 06:50
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Ante todo decirte que no uses mysql_db_query que está deprecated usa mysql_query. En segundo lugar, puede ser que $var no sea null sino que simplemente esté vacía. la forma más fácil de ver que es lo que pasa es haciendo un echo de la sentencia y ver si realmente mete un valor en $var

echo "select nombre, imagen, descripcion, ntabla, ntipo from productos where ntipo = '$var';"

en tu if mejor que comprarlo con NULL comprueba que está vacía

if (empty($var))
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 01/11/2004, 09:40
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 14 años, 5 meses
Puntos: 0
Ante todo gracias por responder, pero sigue sin funcionar.
Por que no puedo poner el mysql_db_query?? Es que si no lo pongo no me aparece nada.
Y en cuanto a lo del IF, tengo un "echo" que me devuelve "nulo" al principio y se llena cuando le paso una variable.
Voy a poner todo el codigo haber si es por cualquier otro problema.

Código PHP:
Function tablas()
{
mysql_connect("localhost""""");
if (empty(
$var)) $total=mysql_db_query("distribucion""select nombre, imagen, descripcion, ntabla, ntipo from productos;");
else 
$total=mysql_db_query("distribucion""select nombre, imagen, descripcion, ntabla, ntipo from productos where ntipo = '$var';");
$i=0;
while(
$colum=mysql_fetch_array($total))
    {if (
$i<3)
         {echo 
'<table width="210" border="0" cellspacing="0" cellpadding="2" align="right">
           <tr><td>
           <table width="210" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td bgcolor="#0099CC"><div align="center"><span class="style1">'
.$colum["nombre"].'</span></div></td>
            </tr>
            </table>
            <table width="210" border="1" cellpadding="0" cellspacing="0" bordercolor="#336699">
              <tr>
                     <td bgcolor="#FFFFFF"><div align="left"><img src="/activos/'
.$colum["imagen"].'" align="left">'.$colum["descripcion"].'</div></td>
               </tr>
            </table>
            </tr></table>'
;
          
$i=$i+1;        
          }
     else 
           {echo 
'<br><br><br><br>';
           
$i=0;
           }      
    }
}

//Aqui abajo es donde veo si es nulo o no y se que me funciona bien

if ($var == NULL
echo 
nulo;
else 
echo 
$var
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #4 (permalink)  
Antiguo 01/11/2004, 15:13
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 14 años, 5 meses
Puntos: 0
Ya he econtrado el error (para aquellos que tuvieran o tengan en un futuro el mismo problema).
El problema estaba en que no recogia la variable "var" al pasarla por url.
Hay que poner el siguiente codigo al comienzo para recogerla y ya esta:

$var=($_GET['var']);
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
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:38.