Foros del Web » Programando para Internet » PHP » CodeIgniter »

Pasar funciones de php a codeigniter

Estas en el tema de Pasar funciones de php a codeigniter en el foro de CodeIgniter en Foros del Web. Hola buenas, estoy empezando a trabajar con codeigniter y quiero pasar mi función de insertar elementos en mi tabla. El caso es que al mismo ...
  #1 (permalink)  
Antiguo 30/09/2013, 10:10
 
Fecha de Ingreso: marzo-2013
Mensajes: 41
Antigüedad: 11 años, 1 mes
Puntos: 0
Pasar funciones de php a codeigniter

Hola buenas, estoy empezando a trabajar con codeigniter y quiero pasar mi función de insertar elementos en mi tabla. El caso es que al mismo tiempo que inserto, en mi web se muestran todos los valores almacenados, por lo que utilizo funciones de ajax tb.

Esta es mi funcion de js que se ejecuta al insertar los valores en la web:

Código:
function agregar(){
    
    function siRespuesta(r){
        alert(parseInt(r))
	if(r==0){
	alert("El numero ya existe!")
        }else{
        var numeroPunto = $('#numero').val();
	var descripcionPunto = $('#descrip').val();
        var strNueva_Fila='<tr id="fila'+numeroPunto+'">'+
                    '<td>'+numeroPunto+'</td>'+
                    '<td>'+descripcionPunto+'</td>'+
                    '<td><input type="button" value="Borrar" onClick="eliminarPunto('+numeroPunto+')"></td>'+
                    '</tr>';
                $('#tablaPuntos').find('tbody').append(strNueva_Fila);
        $('#numero').val('');
        $('#descrip').val('');
	
    }
    }

    function siError(e){
        alert('Ocurrio un error '+e.statusText);
    }

        // Obtener valores de los campos de texto
        var parametros = {
           numero : $('#numero').val(),
           descripcion: $('#descrip').val()
        };
 
    	var post = $.post(
                              "../funciones/agregar.php",    // Script que se ejecuta en el servidor
    	                      parametros,    	                       
    	                      siRespuesta,    // Función que se ejecuta cuando el servidor responde
    	                      'html'          // Tipo de respuesta del servidor
                              );
 
    	post.error(siError); 
};

Y esta es la función php que interactua con la bd:

Código:
<?php

require_once('../bd/conectar.php');

$numero = $_POST['numero'];
$descrip = $_POST['descripcion'];
$con = Conectar();
$sSql = "SELECT numero FROM puntos WHERE numero = '$numero' ";
$resulta = mysql_query($sSql, $con) or die (mysql_error());
if (mysql_num_rows($resulta) == 0){
$sql = "INSERT INTO puntos (numero, descrip) VALUES ('$numero', '$descrip')";
$result = mysql_query($sql, $con) or die (mysql_error());
if(!$result){
   echo '0';
}else{
   echo '1';
}
}else{
   echo '0';
}
?>
Lo que quiero es saber es como puedo hacer el modelo y que interactue con la función de javascript para conseguir el mismo resultado con codeigniter.

Gracias
  #2 (permalink)  
Antiguo 30/09/2013, 12:17
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: Pasar funciones de php a codeigniter

Claro que pudes la parte javascript iria en la vista o en un fichero javascript aparte pero las llamadas de las funciones irian en la vista y lo de base de datos en el modelo, la parte de validaciones de los resultados si es que existe va en el controlador

Saludos
  #3 (permalink)  
Antiguo 01/10/2013, 02:26
 
Fecha de Ingreso: marzo-2013
Mensajes: 41
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Pasar funciones de php a codeigniter

Mi duda es ahora como llamar al modelo desde la función de js. He hecho lo siguiente pero no se pq me falla:

Código:
function agregar(){
    
   
            
        var numeroPunto = $('#numero').val();
	var descripcionPunto = $('#descrip').val();
        var strNueva_Fila='<tr id="fila'+numeroPunto+'">'+
                    '<td>'+numeroPunto+'</td>'+
                    '<td>'+descripcionPunto+'</td>'+
                    '<td><input type="button" value="Borrar" onClick="eliminarPunto('+numeroPunto+')"></td>'+
                    '</tr>';
                $('#tablaPuntos').find('tbody').append(strNueva_Fila);
        $('#numero').val('');
        $('#descrip').val('');
	
    
    

    function siError(e){
        alert('Ocurrio un error '+e.statusText);
    }

        // Obtener valores de los campos de texto
        var parametros = {
           numero : $('#numero').val(),
           descripcion: $('#descrip').val()
        };
 
    	var post = $.post(
                              '<?php echo base_url();?>' + 'crearControl/agregarPunto',    // Script que se ejecuta en el servidor
                      
    	                      parametros,    	                       
    	                      siRespuesta,    // Función que se ejecuta cuando el servidor responde
    	                      'html'          // Tipo de respuesta del servidor
                              );
 
    	post.error(siError); 
};
No sé sí esta bien hecha la llamada al modelo '<?php echo base_url();?>' + 'crearControl/agregarPunto', donde crearControl es el controlador y agregarPunto el metodo en el que cargo el modelo

Código:
public function agregarPunto(){
            
            
                $this->lectura_model->agregarPuntos();
            
        }

Y este es el modelo:
Código:
public function agregarPuntos()
    {
        $data = array(
               'numero' => $this->post('numero',TRUE) ,
               'descripcion' => $this->post('descrip',TRUE)
               
            );
        $this->db->insert('puntos',$data);
    }
}

Lo de validar lo haré mas adelante cuando ya me funcione lo de ingresar en la bd.
  #4 (permalink)  
Antiguo 01/10/2013, 10:21
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: Pasar funciones de php a codeigniter

si quieres llamar un controlador desde javascript pudes hacerlo mediante ajax.

Saludos

Etiquetas: funciones, php
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:35.