Página de actualización de la base de datos

Te explico quiero hacer una página para actualizar los datos de la base de datos, los datos los quiero recoger de un formulario, ¿los puedo recoger en un formulario igual que el de insertar los datos?, ¿Cómo hago para que me aparezcan en el formulario los datos del producto que están en la base de datos y que son los que quiero cambiar?, en el formulario hay caja de texto, select, lista menú y files.
Respuesta
1
Simplemente en el momento de crear el formulario aprovechas para asignar el valor a cada elemento de formulario en las cajas de texto con el atributo value:
<?php
echo '<input type="text" name="tucampo" value="' . $tuvalor . '">';
?>
En el caso de las select o lista menú, debes comparar el valor con cada una de las opciones y añadir el atributo ' selected' a la que coincida con el valor. Aquí la comparación depende de si en las option pones atributo value o no. Si lo pones, tienes que comparar con el valor de ese atributo, sino con el texto de la opción.
El problema lo tendrás si hay algún elemento de tipo file. Por motivos de seguridad, ningún explorador te permite asignar valores por defecto a este elemento.
En este caso te recomiendo que informes de su valor con un texto normal para que el usuario lo vea por si decide cambiarlo.
Gracias por el aporte, me ha válido bastante, tengo la duda de como hacer las comparaciones, si me puedes guiar como hacerlo te lo agradecería.
Otra pregunta que tengo es que me gustaría poner en el formulario de ingreso de mis productos a la base de datos, un apartado para insertar un documento en la base de datos, quiero que me aparezca algo parecido a esta área de texto donde le estoy escribiendo, que pueda poner la negrita, alinear el texto, etc. Muchas gracias
Lo que quieres es una área de texto. Pero si quieres poner negrita, etc. esto ya es mucho más complicado. Tendrías que buscarte un editor que lo haga, porque requiere un gran esfuerzo de programación si quieres que sea WYSIWSG, o sea que veas la negrita en el mismo momento que la pones. Hay que reprogramar con Javascript las funcionalidades del área de texto, que normalmente muestra sólo texto plano.
Ya he hecho que se vean las fotos en un campo de texto y al lado el file para si se quiere cambiar de foto, igual que en los select y en los textarea, pero si modifico algo del producto, por ejemplo, cambio el precio, pues me borra las fotos que tenía antes y los select, tengo esto así los files y los selected, gracias.
<label>
          <input type="text" value="<?php echo $registro['foto1']; ?>" /><input type="file" name="foto1" id="foto1">
      </label></td>
<td class="ccs1">FOTO:
        <label>
          <input type="text" value="<?php echo $registro['foto2']; ?>" /><input type="file" name="foto2" id="foto2">
      </label></td>
</tr>
<tr>
<td colspan="2" class="ccs1">FOTO:
        <label>
          <input type="text" value="<?php echo $registro['foto3']; ?>" /><input type="file" name="foto3" id="foto3">
      </label></td>
<td class="ccs1">FOTO:
        <label>
          <input type="text" value="<?php echo $registro['foto4']; ?>" /><input type="file" name="foto4" id="foto4">
      </label></td>
</tr>
<tr>
<td colspan="2" class="ccs1">FOTO:
        <label>
          <input type="text" value="<?php echo $registro['foto5']; ?>" /><input type="file" name="foto5" id="foto5">
      </label></td>
<td class="ccs1">PRECIO:
        <label>
          <input type="text" name="precio" id="precio" value="<?php echo $registro['precio']; ?>">
      </label></td>
<label>
          <select name="amueblado" id="amueblado" >
<span style="white-space: pre;"> </span>  <option selected="<?php echo $registro['amueblado']; ?>"></option>
          <option>No</option>
          <option>Si</option>
          </select>
      </label></td>
No sé si te entiendo muy bien. Supongo que quieres decir que te desaparecen el nombre de los archivos de los campos input de tipo file.
Si es eso, es desgraciadamente normal: por razones de seguridad, los exploradores no admiten que desde programación se pueda dar valores a estos elementos. Sólo el usuario puede colocar los datos de localización de un fichero.
Así que asegúrate de no enviar el formulario hasta que estos campos ya estén llenos con lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas