Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

recuperar informacion por campos y actualizarla

Estas en el tema de recuperar informacion por campos y actualizarla en el foro de Bases de Datos General en Foros del Web. Antes de nada, que sepais que cada vez que buscaba algo, el google me enviaba a este foro, por lo que me acabo de registrar ...
  #1 (permalink)  
Antiguo 20/12/2007, 07:14
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta recuperar informacion por campos y actualizarla

Antes de nada, que sepais que cada vez que buscaba algo, el google me enviaba a este foro, por lo que me acabo de registrar para ahorrar tiempo de googleo. Gracias a todos por sacarme las castañas del fuego sin saberlo.

Mi problema es que tengo una BD MySQL con 20 campos de los que 11 son rellenados en un formulario de entrada por los usuarios (bueno, sólo uno es obligatorio y los 10 restantes se pueden rellenar o no). Deseo recuperar los campos de la base de datos y sus registros correspondientes en modo tabla (cabecera los campos y luego en las demás filas los registros), modificar (agregar datos o modificar existentes) y finalmente guardar los cambios (actualizarla, vamos).
Para ello, utilizo las funciones:


MODIFICAR.PHP

<?php

//Conexión a la base de datos

$conexio = mysql_connect("localhost","user","pass");
mysql_select_db ("basedatos", $conexio) OR die ("No se puede conectar");

//Extraemos el nombre de los campos que forman la tabla clientes
$sql_campos="SHOW COLUMNS FROM" .$clientes;
$result_campos=mysql_query($sql_campos);

if ($row_campos=mysql_fetch_array($result_campos))
{
$cc=0;
do
{
$array_result_campos[$cc] = $row_campos[0];
$cc++;
}
while($row_campos=mysql_fetch_array($result_campos ));
}
?>

<form action="modificar2.php" method="post">
<input type="hidden" name="clientes" value="<?php echo $clientes; ?>">
<input type="hidden" name="id" value="<?php echo $id; ?>">
<input type="hidden" name="cc" value="<?php echo $cc; ?>">

<?php
//Extraemos los datos de la clientes
$sql="SELECT * FROM ".$clientes." WHERE id=".$id;
$result=mysql_query($sql);
if ($row=mysql_fetch_array($result))
{
$i=0;
do
{
echo "<strong>".$array_result_campos[$i]."</strong><br>
<textarea name=´".$array_result_campos[$i]."´>".$row[$array_result_campos[$i]]."</textarea><br>";
$i++;
}
while ($i<>$cc);
}
?>
<input type="submit" value="Modificar">
</form>


y MODIFICAR2.php

<?php
//Recoger los campos pasados
$array_campos=array_keys($HTTP_POST_VARS);
$array_datos=array_values($HTTP_POST_VARS);

//$i es un contador de los campos que ya hemos modificado
//Ponemos un 3 porque los primeros "hidden" pasados no nos interesan como campos de la BBDD
$i = 3;
$cc=$cc+2;
do
{
$sql="UPDATE ".$clientes." SET ".$array_campos[$i]."=".$array_datos[$i]." WHERE id=".$id.";";
$result=mysql_query($sql);
//Mostramos el resultado del SQL
echo $sql."<br>";
$i++;
}
while ($cc<>$i);
?>


pero me devuelve los errores:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homepages/4/d219271877/htdocs/PHP/ModificarDB/modificar.php on line 13


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homepages/4/d219271877/htdocs/PHP/ModificarDB/modificar.php on line 34


y es que me he vuelto mico para arreglarlo pero nada, que no hay tu tía.

¿Encontaris algo que no esté bien?
  #2 (permalink)  
Antiguo 20/12/2007, 08:08
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: recuperar informacion por campos y actualizarla

Acabo de probar poniendo

$sql_campos="SHOW COLUMNS FROM clientes";

en la línea 10 de modificar.php y evito el primer error pero así pierdo la variable, ¿no?
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 06:13.