problema duplicados

24 views
Skip to first unread message

Jose Puertas

unread,
May 24, 2016, 5:21:45 PM5/24/16
to ZnetDK
Hola Pascal, no sé que ha ocurrido, pero cuando introduzco un registro lo crea bien, pero cuando le doy a editar y guardo cambios lo duplica, este es el método guardad del controlador.

static protected function action_enregistrer() {
        /* Lecture des données de la requête HTTP */
        $request = new \Request();
        $row = $request->getValuesAsMap('id_usuario', 'Use_nombre', 'Use_apellidos','Use_direccion','Use_codigo_postal','Use_telefono1','Use_telefono2','Use_cuenta_bancaria','Use_id_municipio','Use_email','Use_email_madre','Use_email_padre','Use_Fech_nac','Tut_Use_id_usuario1','Tut_Use_id_usuario2','Tut_id_usuario','Use_DNI','Use_altura','Use_peso','Use_IMC','Use_FOTO','Use_matricula','Use_primera_cuota','Use_segunda_cuota','Use_tercera_cuota','Use_formapago_efectivo','Use_formapago_domiciliado','Use_entrega_loteria','Use_pagada_loteria','Use_autorizacion_imagen','Use_normas_internas','Use_observaciones_pagos','Use_desde_num_loteria','Use_hasta_num_loteria','Use_beneficios_loteria','Use_observaciones_beneficios','Use_nacionalidad','Use_activo','Use_FOTO');
        /* Enregistrement des données en Base de données */
        $jugadorDAO = new jugadorDAO();
        $result = $jugadorDAO->store($row);
        /* Réponse retournée au contrôleur principal */
        $response = new \Response();
        if ($result) {
            $response->setSuccessMessage('Guardar', 'Jugador guardado correctamente.');
        } else {
            $response->setFailedMessage('Guardar', "El jugador no ha sido guardado.");
        }
        return $response;
    }

Saludos

Pascal Martinez

unread,
May 28, 2016, 4:17:59 PM5/28/16
to ZnetDK
Hola José,

Tienes que controlar que tu variable id_usuario esta bien llenada en el caso de una modificación. 
También, comprueba para el DAO jugadorDAO que la propriedad $IdColumnName esta correctamente inicializada en el método initDaoProperties() con el valor id_usuario

Saludos,

Pascal MARTINEZ

Jose Puertas

unread,
May 28, 2016, 5:09:26 PM5/28/16
to ZnetDK
Hola Pascal, la variable Id_usuario la tengo asi:

en el dao:

namespace app\model;
 
class jugadorDAO extends \DAO {
 
    protected function initDaoProperties() {
        $this->table = "usuarios";
        $this->IdColumnName = "Id_usuario";
        
        $this->query = "select usuarios.* from usuarios";
       
        
    }

}

y asi en la vista:

<div id="table_jugadores" class="zdk-datatable" title='<?php echo Usuarios; ?>'
     data-zdk-action="jugadoresctrl:lister" 
     data-zdk-columns='[{"field":"Id_usuario", "headerText": "Número"},
     {"field":"Use_nombre", "headerText": "Nombre","tooltip":true},
     {"field":"Use_apellidos", "headerText": "apellidos"}]'>
</div><!--field":"nombre_posicion", "headerText": "Posición principal"},
     {"field":"nombre_posicion_1", "headerText": "Segunda posición"},
     {"field":"nombre_posicion_2", "headerText": "Tercera posición"},
     {"field":"nombre_equipo", "headerText": "Equipo"}-->
<!-- Formulaire dans boîte de dialogue -->

<div id="dlg_jugadores" class="zdk-modal" title="<?php echo LC_NOM_EQUIPO; ?>">
    <form class="zdk-form" id="mis_jugadores"
          data-zdk-action="jugadoresctrl:enregistrer"
          data-zdk-datatable="table_jugadores">
        <div id="default">
            <ul>

                <li><a href="#tab2">Datos personales</a></li>
                <li><a href="#tab3">Datos de contacto</a></li>
                <li><a href="#tab4">Datos económicos</a></li>
                <li><a href="#tab5">Loteria</a></li>
                <li><a href="#tab6">Autorizaciones</a></li>
                <li><a href="#tab1">Datos deportivos</a></li>

            </ul>
            <div>

                <div id="tab2">
                    
                    <fieldset>
                        <legend> Datos personales </legend>
                        <input class="zdk-row-id" type="hidden" name="Id_usuario" disabled="">
                        <label>Nombre : </label><input name="Use_nombre" maxlength="50"  type="text">
                        <label>Apellidos : </label><input name="Use_apellidos" maxlength="50"  type="text">
                        <label>Dirección : </label> <input name="Use_direccion" maxlength="50"  type="text">
                        <label>Código Postal : </label> <input name="Use_codigo_postal" maxlength="50"  type="text"> <label>municipio : </label><input name="Use_id_municipio" maxlength="50"  type="text">
                        <label>Fecha nacimiento : </label><input name="Use_Fech_nac"   type="date"><label>D.N.I : </label><input name="Use_DNI" maxlength="50"  type="text">
                        <label>Nacionalidad : </label><input name="Use_nacionalidad" maxlength="50"  type="text">
                    </fieldset>

además me da el siguiente error:


"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Id_usuario' in 'from clause' - C:\xampp\htdocs\club\engine\core\dao.php(181)"

Saludos

Pascal Martinez

unread,
May 29, 2016, 10:14:33 AM5/29/16
to ZnetDK
Holà José,

Mira la letra " i " del identificador id_usuario en tu controlador: esta escrita en minúscula en lugar de mayúscula en tu vista y en tu DAO.

Pascal MARTINEZ

Jose Puertas

unread,
May 29, 2016, 11:51:48 AM5/29/16
to ZnetDK
Hola Pascal, lo he cambiado y me sigue dando el mismo error, también en la tabla de la base de datos está en mayúsculas, todo lo que hace referencia a él está "Id_usuario"  también cuando hace referencia al borrado y éste si que lo hace bien, aunque desde que sale el error que te comenté, se comporta de una forma extraña, cuando sale el error, la aplicación vuelve a la pantalla de inicio:

static protected function action_supprimer() {
        /* Lecture des données de la requête HTTP */
        $request = new \Request();
        $rowID = $request->Id_usuario;
        /* Suppression du fournisseur en Base de données */
        $jugadorDAO = new jugadorDAO();
        $result = $jugadorDAO->remove($rowID);
        /* Réponse retournée au contrôleur principal */
        $response = new \Response();
        if ($result) {
            $response->setSuccessMessage('Eliminar', 'Jugador eliminado correctamente.');
        } else {
            $response->setFailedMessage('Eliminar', 'Jugador no eliminado.');
        }
        return $response;
    }

Saludos

Jose Puertas

unread,
May 29, 2016, 1:37:17 PM5/29/16
to ZnetDK
Hola, he cambiado los métodos de guardar, eliminar y listar y ahora es casi pero, te paso los archivos asi como el error que da.

Saludos
Archivos.rar

Jose Puertas

unread,
May 29, 2016, 4:58:44 PM5/29/16
to ZnetDK
Hola, he resuelto el error que daba, estaban mal creados los objetos, pero el error original de la consulta persiste y todo está correcto (ver archivos adjuntos).

Saludos

Jose Puertas

unread,
May 31, 2016, 4:11:27 AM5/31/16
to ZnetDK
Hola Pascal se ha solucionado tanto un error como el otro, gracias por tus consejos.

Saludos
Reply all
Reply to author
Forward
0 new messages