Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

191
Vistas
Mensaje: undefine Compensación: 10 de codeigniter

Tengo una función de problema para el controlador, forme más código como el siguiente:

envío datos iddata con ajax al controlador "Update_Kebutuhan_ke_Terpasang"

 http://localhost/gishubkbm/Terpasang/Update_Kebutuhan_ke_Terpasang?iddata=[1,2,16,15,17,3,14,5,9,11]

código en el controlador como abajo:

 $iddata=array(); $iddata=array($_GET['iddata']); //value [1,2,16,15,17,3,14,5,9,11] $a=explode(",", $iddata[0]); //explode value iddata $b=preg_replace('/[^A-Za-z0-9\-]/', '', $a); $jumlahdata=count($b); for($i=0;$i<=$jumlahdata;$i++) { $c=$b[$i]; // **problem here with message undefined offset : 10** $data=array('id_perjal'=>$c); $this->M_perjal_terpasang->save($data); } echo json_encode(array("status" => TRUE));

pero todas las prosas se ejecutan, los datos pueden ingresar en la base de datos.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Estás sobre iterando

Dado que las matrices están indexadas en 0 en PHP, una matriz que contiene 10 elementos no tiene un elemento con un índice de 10: el índice final es 9.

Su ciclo for solo debe iterar $i cuando es menor que la cantidad de elementos, no menor o igual a :

Cambio:

 for($i = 0; $i <= $jumlahdata; $i++) { $c=$b[$i]; // **problem here with message undefined offset : 10** }

a:

 for($i = 0; $i < $jumlahdata; $i++) { $c=$b[$i]; // **problem here with message undefined offset : 10** }
over 4 years ago · Santiago Trujillo Denunciar

0

Más de una cosa tiene que cambiar. Verifique los comentarios y el código como a continuación: -

 $iddata=array(); //$iddata=array($_GET['iddata']); //value [1,2,16,15,17,3,14,5,9,11] this line not needed $a=explode(",", $_GET['iddata']); //explode whole $_GET['iddata'] $jumlahdata=count($a); // count the length for($i=0;$i<$jumlahdata;$i++) // remove = to sign so that it iterates only 10 times from 0 to 9 { if(!empty($a[$i])){ // still check variable is set and have value $b=preg_replace('/[^A-Za-z0-9\-]/', '', $a[$i]); // do the replacement here on each array value,not just one outside $c=$b; $data=array('id_perjal'=>$c); $this->M_perjal_terpasang->save($data); } } echo json_encode(array("status" => TRUE));
over 4 years ago · Santiago Trujillo Denunciar

0

Cuando ejecuto tu código, tengo algunos errores.

  1. $a=explode(",", $iddata[0]); en este punto solo regresa un dato
  2. $b=preg_replace('/[^A-Za-z0-9\-]/', '', $a); no se que quieres decir con esto...

Código de trabajo final para usted

 $b=array(); $b=array(1,2,16,15,17,3,14,5,9,11); # assume your array foreach($b as $item) { echo $item; # this will print all in a row. //$data=array('id_perjal'=>$item); //$this->M_perjal_terpasang->save($data); }

si usas empty() siempre es cierto, porque no estás solucionando el error real


Esto podría ayudar por completo para usted

  1. cómo comprobar si hay caracteres especiales php
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda