Foros del Web » Programando para Internet » PHP »

PROBLEMa con Multiples IF!

Estas en el tema de PROBLEMa con Multiples IF! en el foro de PHP en Foros del Web. hola a todos, tengo un crear.php que me funciona bien sin lo que etsa comentado. necesito hacer una condicion de que si la capacidad de ...
  #1 (permalink)  
Antiguo 20/10/2006, 07:22
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
Desacuerdo PROBLEMa con Multiples IF!

hola a todos, tengo un crear.php que me funciona bien sin lo que etsa comentado.

necesito hacer una condicion de que si la capacidad de una sala es excedida no se pueda ingresar + pcs. y ahi tengo el preoblema porque luego de ponerla (lo que esta comentado) me envia a echo"error introduciendo computador"

mi aqui duda es ¿es un problema de las llaves mal puestas o con mi condicion de num_rows no es de esa manera (comparar nro de filas devueltas > sala.capacidad_sala)

ojala me ayuden a darle solucion a mi problema
crea.php
Código PHP:
<?
include "conexion.php";
$id_com $_POST["id_com"];
$sala $_POST["sala"];
$red $_POST["red"];
$date $_POST["date"];
$garantia $_POST["garantia"];
$usb $_POST["usb"];

if ( (
$id_com=="") || ($sala=="") || ($red== "") || ($date== "") || ($garantia=="") || ($usb=="") )
{
    echo 
"Existen datos vacios, llene el formulario correctamente<br><br>";
}
else
{
    
$query="SELECT * FROM computador WHERE id_com='$id_com'";
    
$result=mysql_db_query($database,$query,$conexion);
    if(
mysql_num_rows($result))
    {
        echo 
"El Computador ya fue registrado en la BD";
    }

    else 
    {

/*        $result = mysql_query("    SELECT computador.id_com FROM computador, sala WHERE computador.id_sala='$sala'", $conexion);
        if ($row = mysql_fetch_array($result))
        {
            $num_rows = mysql_num_rows($result);
            $query = mysql_query("SELECT sala.capacidad_sala FROM sala WHERE sala.id_sala='$sala'", $conexion);
    
            if($num_rows >= $query)
            {
                echo"La sala seleccionada a llegado a su limite, escoja otra porfavor";
            }
            else
            {*/
        
        
$query="INSERT INTO computador (id_com, id_sala, id_red, ingreso_com, garantia_com, usb_com) VALUES ('', '$sala', '$red', '$date', '$garantia', '$usb')";
        
$result=mysql_db_query($database,$query,$conexion);

        if(
mysql_affected_rows($conexion))
        {
            echo 
"Nuevo computador introducido correctamente";
        }

        
/*    }
        
        }*/
        
else
        {
            echo 
"Error introduciendo el computador";
        }
    } 
}
?>
  #2 (permalink)  
Antiguo 20/10/2006, 07:41
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
En vez de poner "echo "Error introduciendo el computador";"

Pon "echo mysql_error();"

Nos vemos... Esto hará que te dé el error específico.... Nos vemos :)
  #3 (permalink)  
Antiguo 20/10/2006, 07:42
 
Fecha de Ingreso: abril-2005
Mensajes: 100
Antigüedad: 19 años
Puntos: 0
mirandolo asi un poco por encima, el ultimo else el de "error introducuinedo el computador" debe estar dentro de las ultimas llaves comentadas
  #4 (permalink)  
Antiguo 20/10/2006, 08:28
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
spider_boy, puse esto:
Código PHP:
echo mysql_errno().": ".mysql_error($conexion)."<BR>";//tambien le deje sin nada ()
echo "Error introduciendo el computador"
y me aparecio 0: , pero no el error solo su codigo

y finikini poniendo mi else dentro de las llaves comentadas, me dio como reultado la pagina con mi diseño pero sin ningun mensaje (osea la parte activa kedo en blanco) y no se introdujo mi pc a la base de datos.

alguna otra sugerencia??
SAludos
  #5 (permalink)  
Antiguo 20/10/2006, 09:09
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
porfavor alguien que me ayude.. lo necesito para esta tarde

:S
  #6 (permalink)  
Antiguo 20/10/2006, 09:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Las llamadas a funciones como mysql_error() o mysql_errno() no es necesario indicar la $conexion, pero si lo defines tendrás que USARLO EN TODAS las funciones de Msyql que lo requieran .. NO puedes dejarte algunas si y otras no . .Para eso, no te compliques y no lo uses .. no es necesario si un script PHP sólo maneja una conexión a una BBDD. OJO con esto!.

No hagas esto:
if(mysql_num_rows($result))

Usa algo tipo:
if(mysql_num_rows($result)>0)

Tampoco uses:
$id_com==""

usa de preferencia:
empty()

No uses:
$result=mysql_db_query() .. no debes usarlo aunque funcione (ref.: php.net)

usa:
Selecciona la BBDD despues de tu mysql_connect() ..
mysql_select_db($tu_bbdd);

Y luego vas haciendo consultas según necesites:
mysql_query($sql) .....

Esto tampoco sería del todo correcto:
if(mysql_affected_rows($conexion))

Si tu "preguntas" cuantas filas son "afectadas" por una taréa de INSERT a tu BBDD .. es normal que veas por ese dato .. Si ingresas UN registro .. ahí debes esperar 1.

if(mysql_affected_rows($conexion) == 1)


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 20/10/2006 a las 09:44
  #7 (permalink)  
Antiguo 20/10/2006, 10:00
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
te agrdezco todos esos consejos, aunque muchos de ellos ya me los dijiste a estas alturas ya no podre imlementare pq no tengo nada de tiempo pero me seran muy utiles cuando quiera arreglar o desarrollar un nuevo sistema.

enseñas mejor algunos de mis profesores :D
  #8 (permalink)  
Antiguo 20/10/2006, 10:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por gazuzax Ver Mensaje
te agrdezco todos esos consejos, aunque muchos de ellos ya me los dijiste a estas alturas ya no podre imlementare pq no tengo nada de tiempo pero me seran muy utiles cuando quiera arreglar o desarrollar un nuevo sistema.

enseñas mejor algunos de mis profesores :D
El problema es que algunos de los "consejos" que te doy pueden o están originando los problemas que tienes concretos ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 15:43.