Ayuda en aplicación (diccionario)

Estoy haciendo un diccionario Español - Polaco con php y mysql
Y estoy contento de resultado, pero el resultado no me gusta de todo.
He hecho un formulario html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<div id="Layer1" style="position:absolute; width:510px; height:306px; z-index:1; left: 235px; top: 242px;">
<form action="codigo.php" method="post">
<strong><font color="#009900" size="-1" face="Century Gothic">Elige idioma:</font></strong>
<br>
<select name="tipobusqueda">
<option value="palabra_es">es-pl
<option value="palabra_pl">pl-es
</select>
<br>
<font color="#009900" size="-1" face="Century Gothic"><strong>escribe la palabra :</strong></font><br>
<input name="terminobusqueda" type=text>
<br>
<input type=submit value="Buscar">
</form>
</div>
</body>
</html>
en codigo php puesto
codigo.php
<html>
<head>
<title>Resultados de la Búsqueda en la Librería Online</title>
</head>
<body>
<h1>La traduccion español - polaco</h1>
<?php
$terminobusqueda = trim ($_POST['terminobusqueda']);
$tipobusqueda = trim($_POST['tipobusqueda']);
if (!$tipobusqueda || !$terminobusqueda)
{
echo "No has introducido los detalles de la busqueda. Por favor vuelve e inténtalo de nuevo.";
exit;
}
$tipobusqueda = addslashes($tipobusqueda);
$terminobusqueda = addslashes($terminobusqueda);
@ $db = mysql_pconnect("rdbms.strato.de", "U413433", "190202");
if (!$db)
{
echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde.";
exit;
}
mysql_select_db("DB413433");
$consulta = "select * from esp_pol where ".$tipobusqueda." like '%".$terminobusqueda."%'";
$resultado = mysql_query($consulta);
$num_resultados = mysql_num_rows($resultado);
Echo "
<p>nr de palabras encontradas: ".$num_resultados."</p>
";
for ($i=0; $i <$num_resultados; $i++)
{
$row = mysql_fetch_array($resultado);
echo "
<p><strong>".($i+1).". Palabra Española: ";
echo stripslashes($row["Palabra_es"]);
echo "</strong><br>Palbra Polaca: ";
echo stripslashes($row["palabra_pl"]);
echo "<br>ejemplo: ";
echo stripslashes($row["ejemplo"]);
echo "</p>
";
}
?>
</body>
</html>
En este formulario en menu desplegabe se puede elegir entre traducción española - polaca o polaca - española
Y el resultado es :
La traducción español - polaco
Nr de palabras encontradas: 1
1. Palabra Española:
Palbra Polaca: Robic
Ejemplo: hacer algo - Cos zrobic
Pero lo que pasa es así en dos casos
En caso de traducción polaca- española y española - polaca
Lo que yo quiero consueguir es que cuando el usuario elige la opción de menu desplegable polaco - española
El resultado voy a tener lo siguiente:
Tlumaczenie jest
Ilosc slow znalezionych: 1
1. Slowo polskie to: Robic
Tlumaczenie na hiszpeñski: Hacer
Przyklad: Co robic - Que hacer
Esto lo que quiero consuegir
Me explico:
Cuando el usuario elige polaco - español
El resultado tiene que salir en polaco :::
Tlumaczenie jest
Ilosc slow znalezionych: 1
1. Slowo polskie to: Robic
Tlumaczenie na hiszpeñski: Hacer
Przyklad: Co robic - Que hacer
Y cuando el usuario elige español - polaco
El resultado tiene que salir en español:::
Nr de palabras encontradas: 1
1. Palabra Española:
Palbra Polaca: Robic
Ejemplo: hacer algo - Cos zrobic

1 respuesta

Respuesta
1
Creo que entiendo el problema y su solución es sencilla. Hacia el final de código.php, deberías cambiar lo ahora existente por lo siguiente:
for ($i=0; $i <$num_resultados; $i++)
{
$row = mysql_fetch_array($resultado);
echo "
if ($tipobusqueda == "palabra_es") {
<p><strong>".($i+1).". Palabra Española: ";
echo stripslashes($row["Palabra_es"]);
echo "</strong><br>Palbra Polaca: ";
echo stripslashes($row["palabra_pl"]);
echo "<br>ejemplo: ";
echo stripslashes($row["ejemplo"]);
} else {
<p><strong>".($i+1).". Slowo polskie to: ";
echo stripslashes($row["Palabra_es"]);
echo "</strong><br>Tlumaczenie na hiszpeñski: ";
echo stripslashes($row["palabra_pl"]);
echo "<br>przyklad: ";
echo stripslashes($row["ejemplo"]);
}
echo "</p>
";
}
Es decir, con una condición basada en el resultado de la combo, devuelves un resultado en un idioma o en otro.
Muchísimas gracias .
Exccto esto es lo que buscaba.
Quieria usar funccion if en cambio de loop for .
Estoy empezando con php y mysql y por esto todavía no entiendo muy bien como funciona.
Gracias por responderme tan rapido.
Excelente respuesta .

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas