PHP - ACTUALIZAR VARIOS REGISTROS SQL whatswrong?

   
Vista:

ACTUALIZAR VARIOS REGISTROS SQL whatswrong?

Publicado por le2k (3 intervenciones) el 20/03/2014 16:15:53
Buenas tardes,

es la primera vez que escribo en este foro pero me está sirviendo de gran ayuda.

Acabo de empezar con PHP + SQL, una pasada, muy potente.

Estoy haciendo una aplicación por llamarlo de alguna manera para mi empresa en el que básicamente cada uno con su usuario accede. Hasta aquí sin problema.

Al usuario, se le mostrarán unas filas con unos servicios que tiene que hacer al día. He creado que en cada fila unos inputs para que al final del día rellene con el tiempo que ha tardado en desplazarse (td) y tiempo de mano de obra (mo).

Lo que quiero es que al darle al botón se actualice todo, pero no me coge bien la parte del array. No sé si es la mejor manera, pero vengo de lenguajes como ADA en que el array me sirve para esto. Creo un array para el ticket de la asistnecia, otro para el tiempo de desplazamiento y otro para el de la mano de obra, de manera que se actualice para el índice 0 del ticket, se actualice con su td y su mo del índice 0 también. Adjunto el código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
echo "<td style=\"vertical-align:text-top;\" witdh=\"40px\"><font face=\"verdana\" size=\"2\"><input type=\"text\" name=\"mo\"]\" style=\"width:35px;height:20px\"/></font></td>";
	echo "<td style=\"vertical-align:text-top;\" witdh=\"40px\"><font face=\"verdana\" size=\"2\">
	<input type=\"text\" name=\"td\"]\" style=\"width:35px;height:20px\"></font></td></tr>";
 
	// Se quedan almacenados en arrays, con el mismo índice, un capo y otro.
	$array[] = '' . $row["ticket"] . '';
	$td[] = $_POST['td'];
	$mo[] = $_POST['mo'];
	echo "$td[0][0	]";
 
    $numero++;
  }
  	echo "</table>";
	echo "<input type=\"submit\" id=\"boton\" value=\"update\">";
	echo "</form>";
	$f = 0;
	 while($f < $numero)
 	 {
		//aqui haria el update
 
		$f++;
 	 }
  ?>

Gracias,
uns aludo.
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 xve

ACTUALIZAR VARIOS REGISTROS SQL whatswrong?

Publicado por xve (5525 intervenciones) el 20/03/2014 20:26:29
Hola le2k, no se si puede ser este el problema, ya que no veo el formulario entero, pero cada vez que recargas la pagina (cuando envías el formulario) las variables quedan todas vacías, no mantienen ningún valor... cada vez que se abre una pagina, no hay variables...

Lo que hay que hacer es guardarlas en variables de sesión, cookies o base de datos...

Es este tu problema?
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

ACTUALIZAR VARIOS REGISTROS SQL whatswrong?

Publicado por le2k (3 intervenciones) el 20/03/2014 22:20:33
Hola,

lo acabo de solucionar, contento no, lo siguiente.

lo único tengo un problema. Cuando el campo descripción es de muchas lineas seguidas y demás, se me expande muchisimo la tabla, y se me deforma, superando los 700px que tengo como máximo.

Adjunto el código:

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<html>
<head>
	<title>FCSAT Management tool - V1.0BETA</title>
</head>
<body>
 
<?php session_start();
?>
<div  align="left" style="margin: 40px">
<table width="900" border="0">
    <tr>
      <td width="200"></span><img src="img/logo-mini.jpg" width="154" height="123"  alt=""/></td>
      <td width="418"><font face="Verdana" size="2" align="left">
        <?php
 
$db_host="localhost";
$db_nombre="dbfcsat";
$db_user="admin";
$db_pass="admin";
 
$link=mysql_connect($db_host,$db_user,$db_pass) or die ("Error #00: No se puede conectar a la base de datos");
mysql_select_db($db_nombre, $link) or die ("Error #01: No se puede seleccionar la base de datos");
 
 
if (!isset($_SESSION['id_username'])){
echo 'no se ha seleccionado ninguna id'; //no han seleccionado ninguna id,
}else{
$id_aux= $_SESSION['id_username'];
$sql = "SELECT * FROM satusers WHERE id='$id_aux'";
$datos = mysql_query($sql) or die ("Error en la consulta");
$row = mysql_fetch_array($datos);
 
echo 'Bienvenido: <b>'.$row['user'].'</b> <br/>';
$fecha = time();
echo 'Fecha: ';
echo date ("d/m/y", $fecha);
echo ' - Hora: ';
echo date ("h:i", $fecha)."<br>";
echo "\n";
echo "\n";
echo 'Modo de usuario: ';
echo ''.$row['group'].'';
 
}
 
?>
  </font></td>
  </tr>
    <tr>
      <td bgcolor="#FF9900" style="text-align: center"><font face="Verdana" size="2" align="center">Nav</font></td>
      <td bgcolor="#FF9900" style="text-align: center"><font size="2" face="Verdana" align="center">Listado de servicios - Servicio de Atenci&oacute;n T&eacute;cnica</font>
      </td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC" style="text-align: center"><?php
  $group="admin";
  $group_aux=''.$row['group'].'';
  if ($group=$group_aux){
  echo '<font face="Verdana" size="2"><b>Nav admin</b></font>';
  }
 
  ?>
  </td>
      <td bgcolor="#CCCCCC" style="text-align: center; font-size: 9px;">
 
	  <?php
	  $fecha = time();
	  $sql_sat = "SELECT * FROM satasistencias WHERE ((satusers_id='$id_aux'))";
$result = mysql_query($sql_sat) or die ("Error en la consulta");
 
  $row = mysql_query($sql_sat);
  $numero = 0;
echo "<form id=\"satasistencias\" method=\"POST\" action=\"personal.php\">";
echo "<table width=\"700px\"><tr>";
echo "<td witdh=\"5px\"><font face=\"verdana\" size=\"2\"><b>C&oacute;digo</b></font></td>";
echo "<td width=\"150px\"><font face=\"verdana\" size=\"2\"><b>Cliente</b></font></td>";
echo "<td witdh=\"400px\"><font face=\"verdana\" size=\"2\"><b>Descripci&oacute;n </b></font></td>";
echo "<td witdh\"20px\"><font face=\"verdana\" size=\"2\"><b>Taller</b></font></td>";
echo "<td witdh\"40px\"><font face=\"verdana\" size=\"2\"><b>M.O.</b></font></td>>";
echo "<td witdh\"40px\"><font face=\"verdana\" size=\"2\"><b>T.D.</b></font></td></tr>";
  while($row = mysql_fetch_array($result))
  {
 
    echo "<td style=\"vertical-align:text-top;\"witdh=\"5px\"><font face=\"verdana\" size=\"2\">" . $row["ticket"] . "</font></td>";
    echo "<td style=\"vertical-align:text-top;\"witdh=\"150px\"><font face=\"verdana\" size=\"2\">" . $row["cliente"] . "</font></td>";
    echo "<td style=\"vertical-align:text-top;\" witdh=\"400px\"><font face=\"verdana\" size=\"2\">" . $row["descripcion"] . "</font></td>";
	echo "<td style=\"vertical-align:text-top;\" witdh=\"20px\"><font face=\"verdana\" size=\"2\">" . $row["taller"]. "</font></td>";
	echo "<td style=\"vertical-align:text-top;\" witdh=\"40px\"><font face=\"verdana\" size=\"2\"><input type=\"text\" name=\"mo\" \" style=\"width:35px;height:20px\"/></font></td>";
	echo "<td style=\"vertical-align:text-top;\" witdh=\"40px\"><font face=\"verdana\" size=\"2\">
	<input type=\"text\" name=\"td\" \" style=\"width:35px;height:20px\"></font></td></tr>";
 
	// Se quedan almacenados en arrays, con el mismo índice, un capo y otro.
	$array[] = '' . $row["ticket"] . '';
	 if (isset($_POST["td"]))
   {
      	$td[] = $_POST['td'];
   }
   	 if (isset($_POST["mo"]))
   {
      	$mo[] = $_POST['mo'];
   }
 
 
    $numero++;
  }
  	echo "</table>";
	echo "<input type=\"submit\" id=\"boton\" value=\"update\">";
	echo "</form>";
	$f = 0;
	 while($f < $numero)
 	 {
		$sSQL="UPDATE satasistencias SET time_desplazamiento='$td[$f]' WHERE ticket='$array[$f]'";
		mysql_query($sSQL);
		$f++;
 	 }
  ?>
  </td>
  </tr>
</table>
<blockquote>&nbsp;</blockquote>
</body>
 
</html>
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

ACTUALIZAR VARIOS REGISTROS SQL whatswrong?

Publicado por le2k (3 intervenciones) el 20/03/2014 23:07:12
Vale, perdón.Me he dado cuenta del error que tengo.Sólo se me actualiza la última fila, es como si el array no fuera corriendo índices:


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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<html>
<head>
	<title>FCSAT Management tool - V1.0BETA</title>
</head>
<body>
 
<?php session_start();
?>
<div  align="left" style="margin: 40px">
<table width="900" border="0">
    <tr>
      <td width="200"></span><img src="img/logo-mini.jpg" width="154" height="123"  alt=""/></td>
      <td width="418"><font face="Verdana" size="2" align="left">
        <?php
 
$db_host="localhost";
$db_nombre="dbfcsat";
$db_user="admin";
$db_pass="admin";
 
$link=mysql_connect($db_host,$db_user,$db_pass) or die ("Error #00: No se puede conectar a la base de datos");
mysql_select_db($db_nombre, $link) or die ("Error #01: No se puede seleccionar la base de datos");
 
 
if (!isset($_SESSION['id_username'])){
echo 'no se ha seleccionado ninguna id'; //no han seleccionado ninguna id,
}else{
$id_aux= $_SESSION['id_username'];
$sql = "SELECT * FROM satusers WHERE id='$id_aux'";
$datos = mysql_query($sql) or die ("Error en la consulta");
$row = mysql_fetch_array($datos);
 
echo 'Bienvenido: <b>'.$row['user'].'</b> <br/>';
$fecha = time();
echo 'Fecha: ';
echo date ("d/m/y", $fecha);
echo ' - Hora: ';
echo date ("h:i", $fecha)."<br>";
echo "\n";
echo "\n";
echo 'Modo de usuario: ';
echo ''.$row['group'].'';
 
}
 
?>
  </font></td>
  </tr>
    <tr>
      <td bgcolor="#FF9900" style="text-align: center"><font face="Verdana" size="2" align="center">Nav</font></td>
      <td bgcolor="#FF9900" style="text-align: center"><font size="2" face="Verdana" align="center">Listado de servicios - Servicio de Atenci&oacute;n T&eacute;cnica</font>
      </td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC" style="text-align: center"><?php
  $group="admin";
  $group_aux=''.$row['group'].'';
  if ($group=$group_aux){
  echo '<font face="Verdana" size="2"><b>Nav admin</b></font>';
  }
 
  ?>
  </td>
      <td bgcolor="#CCCCCC" style="text-align: center; font-size: 9px;">
 
	  <?php
	  $fecha = time();
	  $sql_sat = "SELECT * FROM satasistencias WHERE ((satusers_id='$id_aux'))";
$result = mysql_query($sql_sat) or die ("Error en la consulta");
 
  $row = mysql_query($sql_sat);
 
echo "<form id=\"satasistencias\" method=\"POST\" action=\"personal.php\">";
echo "<table width=\"700px\"><tr>";
echo "<td witdh=\"5px\"><font face=\"verdana\" size=\"2\"><b>C&oacute;digo</b></font></td>";
echo "<td width=\"150px\"><font face=\"verdana\" size=\"2\"><b>Cliente</b></font></td>";
echo "<td witdh=\"400px\"><font face=\"verdana\" size=\"2\"><b>Descripci&oacute;n </b></font></td>";
echo "<td witdh\"20px\"><font face=\"verdana\" size=\"2\"><b>Taller</b></font></td>";
echo "<td witdh\"40px\"><font face=\"verdana\" size=\"2\"><b>M.O.</b></font></td>>";
echo "<td witdh\"40px\"><font face=\"verdana\" size=\"2\"><b>T.D.</b></font></td></tr>";
$numero = 0;
  while($row = mysql_fetch_array($result))
  {
 
    echo "<td style=\"vertical-align:text-top;\"witdh=\"5px\"><font face=\"verdana\" size=\"2\">" . $row["ticket"] . "</font></td>";
    echo "<td style=\"vertical-align:text-top;\"witdh=\"150px\"><font face=\"verdana\" size=\"2\">" . $row["cliente"] . "</font></td>";
    echo "<td style=\"vertical-align:text-top;\" witdh=\"400px\"><font face=\"verdana\" size=\"2\">" . $row["descripcion"] . "</font></td>";
	echo "<td style=\"vertical-align:text-top;\" witdh=\"20px\"><font face=\"verdana\" size=\"2\">" . $row["taller"]. "</font></td>";
	echo "<td style=\"vertical-align:text-top;\" witdh=\"40px\"><font face=\"verdana\" size=\"2\"><input type=\"text\" name=\"mo\" \" style=\"width:35px;height:20px\"/></font></td>";
	echo "<td style=\"vertical-align:text-top;\" witdh=\"40px\"><font face=\"verdana\" size=\"2\">
	<input type=\"text\" name=\"td\" \" style=\"width:35px;height:20px\"></font></td></tr>";
 
	// Se quedan almacenados en arrays, con el mismo índice, un capo y otro.
	$array[$numero] = '' . $row["ticket"] . '';
	 if (isset($_POST["td"]))
   {
      	$td[$numero] = $_POST['td'];
   }
   	 if (isset($_POST["mo"]))
   {
      	$mo[$numero] = $_POST['mo'];
   }
 
 
    $numero++;
  }
  	echo "</table>";
	echo "<input type=\"submit\" id=\"boton\" value=\"update\">";
	echo "</form>";
	$f = 0;
	 while($f <= $numero)
 	 {
		 echo $td[$f];
		 echo $mo[$f];
		$sSQL="UPDATE satasistencias SET time_desplazamiento='$td[$f]',time_reparacion='$mo[$f]' WHERE ticket='$array[$f]'";
		mysql_query($sSQL);
		$f++;
 	 }
  ?>
  </td>
  </tr>
</table>
<blockquote>&nbsp;</blockquote>
</body>
 
</html>
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