Llamada a formulario

Hola a inphyx!
Estoy creando una página en php+mysql para un restaurante. Y tengo la siguiente duda.
En una página llamada MostraPlatos.php muestro todos los registros de platos isertados. Al lado de cada registro pongo una vínculo al formulario PlatosIdioma. Php
Lo que quiero hacer es lo siguiente: Si el plato seleccionado en MostrarPlatos.php no existe en la tabla PlatosIdioma, que me habrá un formulario donde aparezcan unas cajas de texto que me permitan introducir los diferentes idiomas de el plato seleccionado:
Plato: Tortilla
Español:Tortilla
Inglés: Omelette
Francés: Omelette
Este formulario llevaría un botón dar de alta.
Pero si el plato seleccionado en MostrarPlatos.php existe en la tabla PlatosIdioma, que me habrá un formulario donde se muestren los registros de la tabla PlatosIdiomas pertenecientes a ese CodPlato. Dicho formulario me permitiría editar los registros y luego pondría un botón de Editar.
Lo que no se hacer es llamar desde un mismo botón a dos formularios diferentes dependiendo de si existe o no el CodPlato en la tabla PlatosIdioma.
Si me pudierais dar una pista.
Muchas gracias.

1 Respuesta

Respuesta
1
Crea una sola página para recibir los datos y allí consulta en la bdd si el plato en cuestión existe en PlatosIdioma o no:
if($_POST) {
$id_plato = $_POST['CodPlato'];
$sql = "SELECT * FROM PlatosIdioma where codigo = '$id_plato'";
$res = mysql_query($sql);
//obtenemos el número de coincidencias
$num = mysql_num_rows($res);
if($num) {
//sí está definido, poner aquí el formulario editar idioma
}
else {
//no está definido, poner aquí el formulario insertar idioma
}
}
Gracias por contestar tan rápido.
Lo he hecho de la manera que me dices, he hecho la prueba con platos dados de alta y con otros que no lo están, pero exista o no siempre me va a la página FormIdiomaPlatosNE.php.
¿Qué puedo hacer?
Gracias.
Fíjate que en la página ConsulExPlatos.php se comprueba si se han
Recibido datos de un formulario:
if($_POST) { ... }
Que no es el caso, ya que se accede a ella a través de un link y no de
Un botón submit.
De todas formas, tal vez es más práctico hacerlo sin formulario,
Entonces el link debería pasar el código de plato:
<a href="ConsulExPlatos.php?CodPlato=1"></a>
Obteniendo el código de la base de datos igual que el nombre:
<?echo "<a
href='ConsulExPlatos.php?CodPlato=".$row['idPlato']."'>".$row['nombrePl
ato']."</a>";?>
ConsulExPlatos.php tendrá este código:
<?php
if(isset($_GET['CodPlato'])) {
$id_plato = $_GET['CodPlato'];
$cont=mysql_connect("localhost","root","p8001626") or die ("no se ha
podido
conectar con el servidor");
$sql = "SELECT * FROM PlatosIdioma where CodPlato = '$id_plato'";
$res = mysql_query($sql);
//obtenemos el número de coincidencias
$num = mysql_num_rows($res);
if($num) {
//sí está definido, poner aquí el formulario editar idioma
require ("FormIdiomaPlatosE.php");
}
else {
//no está definido, poner aquí el formulario insertar idioma
require("FormIdiomaPlatosNE.php");
}
}
else echo "No se ha especificado ningún código de plato";
?>
En lugar de redireccionar, puedes añadir el código dentro del script usando la función require.
Ya me contarás que tal te ha ido.
Un saludo,
iNphYx
Añade un echo $id_plato y un echo $sql después de definir la consulta y comenta las líneas require para que no redireccione. Así verás si está recibiendo bien la variable y si la consulta a mysql es correcta.
Saludos,
iNphYx

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas