Actualización de WEB

Hola,
Mi web tiene una portada en la cual hay varios titulares y varios textos, similar a portadas de periódicos online.
Quiero usar PHP para que se actualicen dichos textos y titulares desde internet (de manera que no sea yo quien tenga que editar la web cada vez).
Para ello he creado un formulario donde se introduce cada texto. El form se dirige a un php que inserta dentro de una bbdd la información.
El problema es que la bbdd me va creando cada vez una nueva fila. Yo quiero que la bbdd, (contiene varios campos llamados TITULAR1, TEXTOTITULAR1, TITULAR2...) se actualice con el nuevo texto y borre el anterior.
Después, lo muestro con un echo a la única fila existente.
¿Cómo puedo hacer esto? Es con UPDATE? No comprendo bien el código cuando quiero actualizar varios campos al mismo tiempo.
Gracias!

1 respuesta

Respuesta
1
Desde luego que si quieres actualizar un registro debes hacerlo con UPDATE.
Básicamente la sintaxis sería:
UPDATE tutabla SET TITULAR2='tutitular', TEXTOTITULAR2='tutexto'
De todas formas, no te recomiendo ponerlo todo en un mismo registro. No sé porqué lo haces, pero no suele ser una buena práctica en cuanto a bases de datos se refiere.
Lo usual sería que tuvieses una tabla con los campos titular y textotitular, y que fueses creando o actualizando registros. El mantenimiento suele ser más sencillo y es fácilmente escalable.
Hola,
He hecho los códigos para actualizar mi Web remotamente, pero no me muestra los campos:
- Este código es el de mouestra:
$result = mysql_query("SELECT * FROM titulares");
{
echo "Hola que tal";
echo $row['titular'];
}
"Hola que tal" se muestra, pero el campo titular no se muestra. ¿Por qué puede ser?
Sé que el campo titular está dentro de la bbdd perfectamente.
Gracias y Saludos
Si te fijas en tu código, estás pidiendo que se muestre un componente de una matriz $row que no inicializas nunca.
Supongo que después de la línea de mysql_query te falta otra donde leas el resultado:
$row = mysql_fetch_assoc($result);
Y ahora sí tiene sentido pedirle a $row el valor.
Perfecto!
¿Y cómo puedo pedir al MySQL que me dé el último de los registros cada vez?
Ya que es una actualización remota de la WEB, quiero que siempre me inserte el último de los registros.
Gracias!
Pues deberás decidir primero 'cuál es el último'. Eso implica una ordenación. Quizás tengas un campo de fecha o un índice o algo que lo indique. Entonces simplemente realiza una consulta ordenada inversamente por ese índice y el primer registro será 'el último' y ya sabrás cual quieres corregir.
Perfecto.
Una cosita, al poner el campo DATE, intento pasar la fecha con PHP de la siguiente manera:
$today = date("Y-m-d");
$result = mysql_query("INSERT INTO titulares (fecha, titular, textoTitular) VALUES ($today, '$_POST[titular]', '$_POST[textoTitular]')");
Me inserta todo bien en MYSQL pero la fecha me aparece 000-00-00, es decir, no la recoge.
¿Por qué puede ser?
Gracias!
No importa ya, lo he conseguido reparar!
Ahora me encontré con un nuevo problema:
Tengo un formulario donde el usuario introduce el texto para que aparezca en la Web. Recojo el texto en mi bbdd de manera normal. Pero cuando muestro el texto, los saltos de linea no aparecen, sino que sale todo el texto sin saltos de linea.
¿Cómo resolver esto?
Mil gracias de nuevo!
Los 'saltos de línea' que ha introducido el usuario no lo son desde el punto de vista de HTML. Si quieres que HTML lo vea como un salto de línea deberías sustituirlos por la etiqueta <br>.
Otra opción es mostrar el texto entre etiquetas
<pre> </pre>
.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas