Foros del Web » Programando para Internet » PHP »

Volcar un vector en una Columna [PHP-SQL]

Estas en el tema de Volcar un vector en una Columna [PHP-SQL] en el foro de PHP en Foros del Web. Tengo una tabla con 3 columnas. Por ejemplo una tabla "TEST" con las columnas "nombre", "edad" y "nombreNormalizado". En la tabla tengo filas con contenido ...
  #1 (permalink)  
Antiguo 28/04/2016, 04:15
Avatar de senseeye3led  
Fecha de Ingreso: abril-2016
Ubicación: 127.0.0.1
Mensajes: 163
Antigüedad: 7 años, 11 meses
Puntos: 11
Pregunta Volcar un vector en una Columna [PHP-SQL]

Tengo una tabla con 3 columnas.

Por ejemplo una tabla "TEST" con las columnas "nombre", "edad" y "nombreNormalizado".

En la tabla tengo filas con contenido para nombre y edad, pero nombreNormalizado por ahora no tiene contenido.

Hago lo siguiente:

1)Recorrer toda la tabla volcando los valores que contenga nombre y almacenarlos en un vector.

2) Los valores del vector son tratados con una función que por ejemplo elimina espacios y simbolos raros del nombre; y son almacenados en otro vector.

Objetivo:

Me gustaría rellenar la columna nombreNormalizado que de inicio se encuentra vacia con los valores que contiene el vector.

Así, en la tabla podría ver por un lado la columna nombre con los datos que tiene de origen y la columna nombreNormalizado después de aplicarle la función que he creado.

Pero no tengo muy claro la sentencia SQL UPDATE que tendría que lanzar.

Imagino que habría que hacer un while para recorrer el vector, así en cada iteracción tendría el valor a escribir.

Una vez tenga el valor que deseo escribir, actualizar éste en la tabla en el campo nombreNormalizado.

Quedando algo del estilo:
Código:
$j=0;
while( (count($vector)>$j) )
 {
 $escribir = $vector[$j];
 $sql = "UPDATE (test) SET nombreNormalizado = $escribir";

// hacer de alguna manera que avance el registro en la tabla

$rs = odbc_exec( $conn, $sql );
	if ( !$rs )
	{
		exit( "Error en la consulta SQL" );
	}
       while ( odbc_fetch_row($rs) )
	{
		$resultado = odbc_result($rs,"nombre");
		$vec[] = $resultado;
		$i++;


 }
// Se cierra la conexión
odbc_close( $conn );
  #2 (permalink)  
Antiguo 28/04/2016, 07:32
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 5 meses
Puntos: 123
Respuesta: Volcar un vector en una Columna [PHP-SQL]

es posible hacerlo, pero te falta establecer la cláusula WHERE en tu sentencia, para indicarle a la base de datos que registro tiene que actualizar en concreto, de lo contrario cada vez que se ejecute el UPDATE se actualizaran todos los registros de la tabla con el mismo valor.

puedes por ejemplo crear un vector en el que el indice sea el PK de la tabla

algo así:

Código PHP:
Ver original
  1. $mi_array[$clave_primaria_tabla]=$dato_a_actualizar;

y luego lo recorres con un foreach para crear y ejecutar las consultas.

Código PHP:
Ver original
  1. foreach ($mi_array as $clave => $valor) {
  2. $sql = "UPDATE (test) SET nombreNormalizado = $valor WHERE mi_pk=$clave";
  3.  
  4. /* RESTO DEL CODIGO */
  5. }

Espero se entienda la idea.
__________________
Unset($vida['malRollo']);

Etiquetas: columna, registro, sql, tabla, vector
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:57.