Pregunta PHP

Galian

Muy buenas gente primero de nada , no se si pongo esto en el sitio correcto , pero bueno aquí va la pregunta.

Tengo que hacer un trabajo de clase , yo tengo una pagina con un formulario este (Lo pongo en imagen por que no se si se puede copiar directo)

El formulario tiene 2 botones , insertar y Listar

En insertar se supone que tengo que meter los datos en la base de datos (Esta es la parte que no doy echo bien por que soy medio retrasado)

Y el otro lista una base de datos con libros además de filtrar por nombre de autor si así lo quiero , esta seria la pagina de la tabla

y en esta otra como tengo la base de datos creada

La parte de listar me funciona bien , pero la parte de insertar no estoy seguro muy bien de como implementarla , soy un negado para esto
intente de diferentes formas pero no consigo hacerlo funcionar , si alguien me puede echar un cable agradecido por que estas cosas se me dan fatal

LR

#1 Buenas, la parte de codigo puedes ponerla directamente usando las etiquetas

[code]

Para insertar, simplemente tienes que cambiar la consulta, en vez de un select, haz un insert

INSERT INTO tabla.... VALUES (blablabla....)

Lo que si tendras que hacer es elegir que boton es el que pinchas para ver si tienes que insertar o listar, para eso, tira de isset (no se si se sigue usando hoy dia, hace mucho que no uso php xD)

Kaos
$insertar = "INSERT INTO libros (autor, descripcion, isbn, libro, puntuacion) VALUES ('$autor', ... )";
mysqli_query($conexion,$insertar);
  1. Pon siempre, en todas las tablas que crees, un ID con autoincrement y que sea índice. Ese debe ser siempre el primer campo de toda tabla.
  2. Pon siempre, en todas las tablas, una fecha (bigint 11) en la que luego metes un timestamp (time() de php).
  3. Las descripciones nunca son varchar. Mete un campo tipo TEXT.
  4. La puntuación es absurdo que ocupe tantos bytes. Con un smalint deberías tener de sobra.
1 1 respuesta
Galian

#3 el problema principal que tengo es que la darle a tanto listar como insertar me hace lo mismo

1 respuesta
babri

#4 ambos botones lanzan el formulario al action que has especificado blibros.php por eso hacen lo mismo. Lo que puedes hacer es en listar hacerle un form distinto y su action sea por ejemplo blistar.php, otra cosa sería por javascript, pero entiendo que te están forzando a que manejes las redirecciones por post.

1 respuesta
Galian

#5 si tiene que ser todo php sin java ni nada

1 respuesta
Kandelario

Te pongo un ejemplo de como insertar en tablas. Cualquier cosa me dices.

1 1 respuesta
LR

#6 selecciona en función del botón que has pinchado usando isset. Te haces un if mismamente y metes los 2 casos y ahí ya filtras como quieras.

Kaos

#1 Un form solo puede tener un submit. Deberías meter o dos forms o bien hacer el listado con un enlace y poner una url con GET.
No tiene sentido que el listado lo hagas con un submit. Submit es para enviar formularios con datos.

Galian

Estoy probando todo lo que me dijisteis y alguna cosilla mas si lo hago funcionar os lo comunico :D muchas gracias a todos los la ayuda

1 respuesta
tute07011988

#10 ¿Lo solucionaste con los dos form?

1 respuesta
Galian

#11 Si tio con los 2 form funciona :D sigo dandole vueltas a lo de hacerlo en una pero vamos que si no sale se lo entrego asi y fuera que funciona perfecto

1 respuesta
tute07011988

#12 Como te han dicho, puedes usar 'isset' para ver por qué botón te llega (insertar o listar) y tirar por una parte u otra de un if.

if (isset($_POST["insertar"])) {
   $insertar;
}
else if (isset($_POST["listar"])) {
   $listar;
}
Galian

#7 ? me salio solo del discord que paso ? xD

Me bloqueo o que ? xD no puedo hablarle por privado tampoco xD

vale si me bloqueo creo xD

Usuarios habituales

  • Galian
  • tute07011988
  • Kaos
  • LR
  • Kandelario
  • babri