• Viernes 8 de Noviembre de 2024, 10:37

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Gaug

Páginas: 1 [2]
26
PHP / Problema al insertar valores en una BD.
« en: Lunes 29 de Junio de 2009, 23:55 »
Hola, es mi primer post en éste foro, y espero poder aportar mucho a él, así como recibir aportes también, ojalá puedan ayudarme con éste problemita que tengo.

Tengo un código que toma valores de un archivo CSV (Excel) que está de ésta forma:


Código: PHP
  1.  
  2. clave           nombre       id        apellidos        
  3.  
  4. J                  juan           87        perez              
  5. J                 pedro         75        rodriguez
  6. B                  mario         98        gonzalez
  7.  
  8.  



Lo que quiero es que suba estos valores y los acomode en una tabla, eso no es el problema, el problema es que, por ejemplo en clave tengo "J" en la primera fila, tengo que relacionar esa letra con otros valores que tengo en OTRA tabla en la BD, el valor sería algo como "J12345", pero hay más valores, supongamos que en la tabla ésa tengo los valores así:


Código: PHP
  1.  
  2. Tabla: 'tabla2'
  3.  
  4. clave completa                          (Campo)
  5.  
  6. J2485                                        (Valores)
  7. B8789
  8. J1589
  9. B8796
  10.  
  11.  


Ahora si en la primera fila del archivo CSV que estoy subiendo, la clave es "J", sólo debe de tomar en cuenta los que empiecen con la letra "J" y tomar el que sea más grande, en este caso sería "J2485", entonces quiero que ese valor se le sume uno y lo inserte en la tabla principal donde voy a subir todo, así igual con si cambia de "J" a "B" o viceversa y me quede algo así:


Código: PHP
  1.  
  2. Tabla: 'tabla_principal'
  3. clave           nombre       id        apellidos        
  4.  
  5. J2486                juan      87        perez              
  6. J2487                pedro    75        rodriguez
  7. B8797               mario     98        gonzalez  
  8.  
  9.  



Aquí está el pedazo del código que hace eso, está CASI completo, pero me marca algunos errores:

Código: PHP
  1.  
  2. $data2=0;
  3. while (($data = fgetcsv($handle, 4096, ',')) !== FALSE) {
  4. $data = str_replace("'","''",$data);
  5.  
  6. if($data[0]!=$data2){
  7.  
  8. $sintaxis=$data[0]."%";
  9.  
  10.  
  11.   $query_Recordset = "SELECT * from tabla2 WHERE clave_completa like '".$sintaxis."' order by clave_completa ASC limit 0,1";
  12. $Recordset = mysql_query($query_Recordset, $conex) or die(mysql_error());
  13. $row_Recordset = mysql_fetch_assoc($Recordset);
  14. $clave=$row_Recordset['llave'];
  15. $data2=$data[0];
  16. }
  17. $clave++;
  18. $import="INSERT into tabla_principal(clave,nombre,id,apellidos) values('$clave','$data[1]','$data[2]','$data[3]')";
  19. $runq = mysql_query($import) or die(mysql_error());
  20. echo $import;
  21. echo "<br>";
  22. }
  23.  
  24.  


Y me marca éstos errores:

Código: PHP
  1.  
  2. Notice: Undefined variable: clave in sitio on line 41
  3.  
  4. Notice: Undefined offset: 1 in sitio on line 42
  5.  
  6. Notice: Undefined offset: 2 in sitio on line 42
  7.  
  8. Notice: Undefined offset: 3 in sitio on line 42
  9.  
  10. Notice: Undefined offset: 4 in sitio on line 42
  11.  
  12.  


Ésta es la línea 42:
Código: PHP
  1. $import="INSERT into tabla_principal(clave,nombre,id,apellidos) values('$clave','$data[1]','$data[2]','$data[3]')";
  2.  

Espero puedan ayudarme, por más que le busco al código no le encuentro el problema, gracias de antemano.

Saludos.

Páginas: 1 [2]