Comunidad de diseño web y desarrollo en internet online

Validación (no me funca, que estoy haciendo mal) ?

Citar            
MensajeEscrito el 21 Ago 2007 01:49 pm
Salu2. Pertenezco a otro foro, pero muchas veces he terminado encontrando las respuestas a mis dudas aqui, asi que hoy decicidi registrarme para venir a pedirles un poco de ayuda que no he encontrado por ningun lado.

- Tengo un buscador de autos que maneja dos tipos de usuarios: "Dealer" y "Private Seller".
- El Private Seller solo puede tener un (1) solo carro en la BD. Si este, ya tiene uno, hago la siguiente validacion para que no se imprima el link que le permitiria adicionar otro en su Cpanel.

Lo hago con una variable $display_new a la que le asigno FALSE oTRUE de acuerdo al caso.

Código :

$display_new=true;
if ($HTTP_SESSION_VARS["ses_mem_type"]!="Dealer")
{
    if(mysql_num_rows($rsCnt)>0)
        mysql_data_seek($rsCnt,0);
    if (@mysql_result($rsCnt,0,0)>0)    
        $display_new=false;
}  

Código :

<?php if ($display_new){?>
• <a href="new.php">Add a New Vehicle</a>&nbsp;&nbsp;
<?php }?> 


Esto funciona correctamente. Mi problema radica, en que si el usuario es "Dealer" puede tener "x" numero de registros, de acuerdo al plan que este tenga. (5, 10, 30, o mas).

Esta validacion, la estoy tratando de hacer asi, pero no me funca, y aqui es donde pido ayuda.

Código :

if ($HTTP_SESSION_VARS["ses_mem_type"]=="Dealer")
{
    if(mysql_num_rows($rsCnt) == ($num_fil=intval($HTTP_SESSION_VARS["ses_mem_plan"]))) 
        $display_new=false;
}  


Lo que trato es decirle, que si el tipo de miembro es "Dealer", cuente el numero de filas de la tabla de registros que esta usando. Si ese # de registros es igual a "ses_mem_plan" le asigne FALSE a $display_new. "ses_mem_plan" es un string, que guarda el numero de plan (5, 10, 30, o mas), por lo que lo paso a Integer para poder hacer la validacion. Pero bueno, no me funciona de todos modos, nunca asigna al FALSE a $display_new.

Alguna idea que me pueda ayudar?

Les agradezco mucho cualquier ayuda! llevo ya rato con este que se ve medio tonto, pero no he podido.

PD. Trabajo en PHP 4, y el servidor soporta 4 y 5. Asi que tanto $HTTP_SESSION_VARS funciona igual que $_SESSION.

GRACIAS de antemano

Por plurculture

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Ago 2007 10:39 pm
Haz un echo de las dos expresiones que usas en la comparación para verificar que realmente estás obteniendo lo que esperas obtener (un var_dump sería mejor, así sabes que las variables son del tipo que esperas que sean también).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 22 Ago 2007 12:34 am
Hola, gracias por responder.

Pues mira, hice ECHO de esto:

Asigne (mysql_num_rows($rsCnt)) a una variable y la imprimi.

Se supone que mysql_numrows, devuelve un entero con el # de filas que tiene ocupada la tabla.

La tabla que estoy trabajando en este caso tiene 5 filas, y este ECHO me devuelve 1.

Que esta mal entonces?

Como recorro el # de filas que tiene una tabla y asigno ese valor a una variable?

Gracias.

Por plurculture

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Ago 2007 02:44 am
Ya lo solucione, de la siguiente forma. Copio el codigo por si de pronto llega a servirle a alguien.

if ($_SESSION["ses_mem_type"]=="Dealer")
{
$result = mysql_query("SELECT c.member_id FROM ".$db_prefix."cars AS c WHERE (c.member_id=".$member_id.")", $conn);
$num_fil = mysql_num_rows($result);
if ($member_plan == $num_fil)
{
$display_new=false;
}
}

Gracias de todos modos!

Por plurculture

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.