PHP - ACTUALIZAR 1 COLUMNA DE UNA TABLA DE VARIOS REGISTROS A LA VEZ

 
Vista:

ACTUALIZAR 1 COLUMNA DE UNA TABLA DE VARIOS REGISTROS A LA VEZ

Publicado por Alvaro (7 intervenciones) el 23/04/2019 18:53:43
Hola,

estoy haciendo un programa en el que me gustaría poder actualizar el campo hora de todos los registros de una tabla.
Sería actualizar el campo HORA a través del DNI q es mi clave primaria.
Tengo la idea de meter los dni en un array a la vez que meto las horas, pero no se llevarlo a cabo.


Este es el código que tengo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
require_once "biblioteca.php";
 
$db = conectaDb();
cabecera("Modificar 1", MENU_VOLVERCONVOCATORIA);
 
$partido = recoge("menu");
 
$consulta = "SELECT * FROM $dbDb.$evento";
 
 
 
$result = $db->prepare($consulta);
$result->execute();
if (!$result) {
    print "    <p class=\"p2\">Error en la consulta.</p>\n";
} elseif ($result->fetchColumn() == 0) {
    print "    <p class=\"p2\">No se han encontrado registros.</p>\n";
} else {
    $consulta = "SELECT * FROM $dbDb.$evento";
    $result = $db->prepare($consulta);
    $result->execute();
    if (!$result) {
        print "    <p class=\"p2\">Error en la consulta.</p>\n";
    } else {
        print "      <h2 class=\"p4\">Registre las horas:</h2>\n";
        print "    <form action=\"fijarHora3.php\" method=\"" . FORM_METHOD . "\">\n";
 
        print "             <select name=menu >";
        print "                 <option value=$evento selected> $evento </option>";
        print "             </select>";
 
        print "\n";
        print "      <table class=\"conborde franjas\">\n";
        print "        <thead>\n";
        print "          <tr>\n";
        print "            <th>DNI</th>\n";
        print "            <th>Nombre</th>\n";
        print "            <th>Apellidos</th>\n";
        print "            <th>Sector</th>\n";
        print "            <th>Puesto</th>\n";
        print "            <th>Ubicacion</th>\n";
        print "            <th>Hora Entrada</th>\n";
        print "          </tr>\n";
        print "        </thead>\n";
        print "        <tbody>\n";
        foreach ($result as $valor) {
            print "          <tr>\n";
            print "            <td>$valor[dni]</td>\n";
            print "            <td>$valor[nombre]</td>\n";
            print "            <td>$valor[apellidos]</td>\n";
            print "            <td>$valor[sector]</td>\n";
            print "            <td>$valor[puesto]</td>\n";
            print "            <td>$valor[ubicacion]</td>\n";
            print "          <tr>\n";
            print "            <td><input type=\"text\" name=\"$valor[horaEntrada]\" size=\"12\" maxlength=\"12\" value=\"$valor[horaEntrada]\" /></td>\n";
            //$horaArray=$valor[horaEntrada];
            print "          </tr>\n";
            print "          </tr>\n";
        }
        print "        </tbody>\n";
        print "      </table>\n";
        print "\n";
        print "      <p>\n";
        print "        <input type=\"submit\" value=\"Modificar empleado\" />\n";
        print "        <input type=\"reset\" value=\"Reiniciar campos\" />\n";
        print "      </p>\n";
        print "    </form>\n";
    }
}
 
$db = null;

GRACIAS POR LA AYUDA
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

ACTUALIZAR 1 COLUMNA DE UNA TABLA DE VARIOS REGISTROS A LA VEZ

Publicado por Alvaro (7 intervenciones) el 23/04/2019 19:19:54
ESTE ES EL CODIGO DONDE INTENTO LOS UPDATE


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
 
require_once "biblioteca.php";
 
cabecera ("Borrar 2", MENU_VOLVERCONVOCATORIA);
 
$dniArray = recogeMatriz("dniArray");
$horaArray = recogeMatriz("horaArray");
$evento = recoge("menu");
$db = conectaDb();
$ok = false;
 
if (count($dniArray) == 0) {
    print "    <p>No se ha seleccionado ningún registro.</p>\n";
} else {
    foreach ($dniArray as $dni => $valor) {
    	foreach ($horaArray as $hora => $valor) {
			try {
			  $conn = new PDO("mysql:host=$servidor;dbname=$dbDb", MYSQL_USER, MYSQL_PASSWORD);
			} catch (PDOException $error) {
			  echo 'Connection error: ' . $error->getMessage();
			}
 
			//$consulta = $conn->prepare("INSERT INTO $partido (dni) VALUES ('$indice')");
	        //print"$dni";
	        print"$hora";
	        $consulta = $conn->prepare("UPDATE $dbTabla.$partido
	                    SET horaEntrada='$hora'
	                    WHERE dni='$dni'");
	        $consulta->execute();
			if ($consulta->execute()) {
				$ok=true;
			}/* else {
			  echo "Error al registrar empleado(puede que ya lo hayan registrado)";
			}*/
		}
    }
    if($ok){
    	print "    <p class=\"p2\">Hora registrada correctamente.</p>\n";
    }else{
    	print "    <p class=\"p2\">Hora no registrada</p>\n";
    }
    $conn = null;
}
 
$db = null;
?>
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 Kathyu
Val: 1.670
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ACTUALIZAR 1 COLUMNA DE UNA TABLA DE VARIOS REGISTROS A LA VEZ

Publicado por Kathyu (455 intervenciones) el 23/04/2019 22:56:58
Puede poner la lógica de lo que quiere hacer en forma normal? así como se lo diría a un niño?
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