Ir al contenido


Foto

Problema con Video Tutorial 33 de PHP POO


  • Por favor identifícate para responder
4 respuestas en este tema

#1 neofito

neofito

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 18 mayo 2013 - 02:38

Hola a todos, es mi primer consulta en este foro.
El tema es que no me funciona el método "eliminar tipo de producto" de la clase N° 33, es llegando al final de la misma (todo lo demás está ok), cuando César hace el condicional para la consulta. Lo revisé muchísimas veces y no logro dar con el error.
La consulta se ejecuta y me redirige al primer "header:location", haga lo que haga, pero no se borra nada en la tabla mysql, y vuelve a aparecer igual en la tabla html. Es como si a partir del "if" solamente tomara el header("Location: ver_tipo_prod.php?m=3");.
Aquí va el código:

public function delete_type_prod()
{
//print_r($_GET);
$sql_1= "select * from productos where id_type=".strip_tags($_GET["id_type"])."";
$res_1=mysql_query($sql_1, Conectar::con());
if (mysql_num_rows($res_1) == 0)
{
//No tiene productos asociados, por lo tanto puedo eliminarlo.
$sql_2="delete from tipo_producto where id_type=".strip_tags($_GET["id_type"])."";
$res_2=mysql_query($sql_2, Conectar::con());
header("Location: ver_tipo_prod.php?m=3");
                }
                else
                {
        //El registro existe, está ocupado, no puedo eliminarlo.
        header("Location: ver_tipo_prod.php?m=4");
                }
}

Bueno, si alguien tiene una respuesta, agradezco de antemano. Y si no, también, saludos.
  • 0

#2 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 18 mayo 2013 - 04:21

Hola a todos, es mi primer consulta en este foro.
El tema es que no me funciona el método "eliminar tipo de producto" de la clase N° 33, es llegando al final de la misma (todo lo demás está ok), cuando César hace el condicional para la consulta. Lo revisé muchísimas veces y no logro dar con el error.
La consulta se ejecuta y me redirige al primer "header:location", haga lo que haga, pero no se borra nada en la tabla mysql, y vuelve a aparecer igual en la tabla html. Es como si a partir del "if" solamente tomara el header("Location: ver_tipo_prod.php?m=3");.
Aquí va el código:


public function delete_type_prod()
{
//print_r($_GET);
$sql_1= "select * from productos where id_type=".strip_tags($_GET["id_type"])."";
$res_1=mysql_query($sql_1, Conectar::con());
if (mysql_num_rows($res_1) == 0)
{
//No tiene productos asociados, por lo tanto puedo eliminarlo.
$sql_2="delete from tipo_producto where id_type=".strip_tags($_GET["id_type"])."";
$res_2=mysql_query($sql_2, Conectar::con());
header("Location: ver_tipo_prod.php?m=3");
                }
                else
                {
        //El registro existe, está ocupado, no puedo eliminarlo.
        header("Location: ver_tipo_prod.php?m=4");
                }
}

Bueno, si alguien tiene una respuesta, agradezco de antemano. Y si no, también, saludos.


Hola neofito, creo que acá está tu error :

$sql_2="delete from tipo_producto where id_type=".strip_tags($_GET["id_type"])."";

imprime $sql_2 y pruébalo en el phpmyadmin a ver si te elimina correctamente el registro...quizá el dato $_GET te está llegando vacío...
       

$res_2=mysql_query($sql_2, Conectar::con()); ésto no lo pongas en una variable, ya que es sólo un delete, debes cargarlo directamente mira :

mysql_query($sql_2, Conectar::con());

saludos..

  • 0

#3 neofito

neofito

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 18 mayo 2013 - 04:54

Hola César, muchas gracias por tu atención; modifiqué lo que me indicaste, pero sigue sin funcionar. Los datos llegan, lo probé con el "echo $sql_2;" y me aparece por ejemplo, "delete from tipo_producto where id_type=DVD", y un warning:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in... línea 184, que es la que tiene el "mysql_num_rows".

También invertí el if, le puse "mysql_num_rows($res_1)" y le cambié el resto de lugar pero vuelve a darme todo como ok (dice "el registro se ha eliminado correctamente") y no hace nada.

Sigo intentando, si hay algo que me está aumentando día a día es la persistencia, ja.
  • 0

#4 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 18 mayo 2013 - 04:56

neofito, si pruebas tu consulta sql en el phpmyadmin descartarás que tu error es eso...saludos...
  • 0

#5 neofito

neofito

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 18 mayo 2013 - 05:38


Bueno, ya encontré el error, estaba enviando mal los datos vía get, desde el href, en lugar de "id_type", tenía "type_prod", no me iba a funcionar nunca. Me pasó en parte por modificar ligeramente el nombre de las variables, a veces ayuda para acomodar el código y prestar más atención (en lugar de copiar mecánicamente), pero confunde cuando se acumula un poco de código.

Gracias César igualmente, disculpas por las molestias, ahora está funcional el código. Seguiremos con el Video 34.

Saludos!
  • 0




IP.Board spam blocked by CleanTalk.