PHP - modificar un campo de la tabla

 
Vista:

modificar un campo de la tabla

Publicado por noe (118 intervenciones) el 19/05/2020 22:08:33
Hola Foro Buenas Tardes !!!
Esperando me puedan ayudar y es con lo siguiente tengo una tabla con 6 campos (clave,area,titular,a1,a2,a3) les doy un ejemplo
1.1 Dirección de recursos humanos Juan Pérez
10.5 Almacén general Ana Martínez
2.0 Pagaduría Judith Orozco
20.10.5 Control de personal Pedro Vargas

Lo que pretendo hacer es separarla la clave e introducirla en los campos a1,a2,a3 tengo este script

1
2
3
4
5
6
7
8
9
10
11
<?php
   require('conecta.php');
   $lista="SELECT * From claves ";
   $datos=mysqli_query($conectado,$lista);
   while($fila=mysqli_fetch_array($datos)){
   	$pcve = $fila['clave'];
   	$separa=explode(".",$pcve);
        $cambia="UPDATE claves set a1='$separa[0]', a2=$separa[1], a3=$separa[2] where clave = $pcve ";
        mysqli_query($conectado,$cambia);
   }
?>

solo algunos reg los actualiza, o habra alguna forma de hacerlo en phpmyadmin?
GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

modificar un campo de la tabla

Publicado por Julio (830 intervenciones) el 19/05/2020 22:14:15
Hola.

Primero, no he entendido dónde tienes el problema. ¿Dices que actualiza sólo algunas veces o cómo? No te he entendido ahí.

Y dos, aunque no venga a cuento con el problema. Si tienes la clave guardada en la base de datos (en el campo clave), ¿para qué necesitas guardar también sus partes? O viceversa.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

modificar un campo de la tabla

Publicado por noe (118 intervenciones) el 19/05/2020 22:28:37
Hola Julio
gracias x responder

en algunos los modifica ejemplo

clave a1 a2
1.2 1 2

10.1 no lo modifica

y la intencion de partir la clave es que cuando se genera un listado de las clave lo sorteo por clave y lo muestra asi

1.1
1.15
10.1
10.50
100.1
2.0
2.30
20.5
200.0

y mi idea era ya que este separado ahora si sortear por a1,a2y a3 los campos son numericos y el de la clave es caracter

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

modificar un campo de la tabla

Publicado por Julio (830 intervenciones) el 19/05/2020 23:01:51
Entonces no guardes la clave completa, sino sólo sus partes.

El error quizá es que algunas claves no tienen $separa[1] ni $separa[2] y, al intentar acceder a esos valores, da error porque no existen. Deberías hacer una comprobación previa de cuántas partes tiene la clave y adaptar luego el SQL según las partes que tenga.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

modificar un campo de la tabla

Publicado por noe (118 intervenciones) el 19/05/2020 23:49:59
ok lo veo y mas tarde te comento los resultados
gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

modificar un campo de la tabla

Publicado por noe (118 intervenciones) el 20/05/2020 01:04:11
Hola Julio.

efectivamente ese era el problema.
me podrías ayudar ? esto como se hacer en phpmyadmin

GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

modificar un campo de la tabla

Publicado por Julio (830 intervenciones) el 20/05/2020 08:28:23
No te compliques la vida. Construye la consulta dependiendo de cuántas partes tengas, sin más.

1
2
3
4
5
6
7
8
9
$separa = explode(".", $pcve);
 
if (isset($separa[2])) {
    $cambia="UPDATE claves set a1='$separa[0]', a2=$separa[1], a3=$separa[2] where clave = $pcve ";
} elseif (isset($separa[1])) {
    $cambia="UPDATE claves set a1='$separa[0]', a2=$separa[1] where clave = $pcve ";
} else {
    $cambia="UPDATE claves set a1='$separa[0]' where clave = $pcve ";
}

Si existe $separa[2] obviamente existe el 1 y el 0, así que la consulta completa. Si no y si existe $separa[1] pues la consulta con 1 y 0. Y si no existe ni el 2 ni el 1, pues la consulta simple con el 0 y nada más.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

modificar un campo de la tabla

Publicado por noe (118 intervenciones) el 20/05/2020 19:16:38
Te agradezco mucho tu ayuda !!!

copie tu script y funciona de maravilla

GRACIAS.......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar