Hola.
Estoy intentando crear una pequeña aplicación y me encuentro con un problema que no se como solucionar. He estado buscando en Google y o no lo interpreto o no encuentro la forma de solucionarlo. Igualmente he probado con distintas opciones que se me han ocurrido y el resultado ha sido el mismo.
Os cuento...
Estoy llamando a un .php que ejecuta una consulta selecionando un solo registro de forma aleatoria, y posteriormente si el usuario quiere continuar con otro registro llamaría al mismo .php y asi sucesivamente hasta que el usuario decida finalizar el proceso. El problema lo tengo porque este .php realiza la consulta en base a una variable que la primera vez es conocida puesto que viaja del formulario anterior, pero que para las sucesivas veces que el .php es llamado de forma recursiva desde el mismo, me presenta una ventana de error porque no ha encontrado ningun registro, cosa no cierta porque la consulta en el caso de realizarla conociendo el valor de la misma variable siempre debería de encontrar algun registro, lo que significa que a partir de la llamada recursiva ha dejado de verla.
Pego el código obviando la conexión a la BBDD mysql y demás detalles que entiendo no son importantes:
$consulta = "SELECT
FROM tema_pregunta
WHERE tema_pregunta.idtema = $idtema
order by rand()limit 1";
$resultado = mysql_query($consulta);
$num_resultados = mysql_num_rows($resultado);
if ($num_resultados < 1)
{
echo "No existen \"Preguntas y Respuestas\" con esta selección.";
exit;
}
$row = mysql_fetch_array($resultado);
$pregunta = stripslashes($row["idpregunta"]);
$consulta1 = "SELECT preguntas.descpregunta, respuestas.descrespuesta,
respuestas.valida
FROM preguntas, respuestas
WHERE preguntas.idpregunta = $pregunta and
preguntas.idpregunta = respuestas.idpregunta";
$resultado1 = mysql_query($consulta1);
$num_resultados1 = mysql_num_rows($resultado1);
if ($num_resultados1 < 1)
{
echo "No existen \"Preguntas y Respuestas\" con esta selección.";
exit;
}
$pre=0;
while ($row1 = mysql_fetch_array($resultado1)){
if($pre==0){
echo "<div id=\"preg\"><p>".stripslashes($row1["descpregunta"])."</p></div>";
echo "<br />";
echo "<br />";
$pre=1;
}
echo "<br />";
echo "<div id=\"paginacion\">";
echo "<span class=\"izq\">";
echo "<p class=\"corto\">".stripslashes($row1["descrespuesta"])."</p>";
echo "</span>";
echo "<span class=\"der\">";
echo "<input type=radio name=\"respuestas\" value=".stripslashes($row1["idrespuesta"])." />";
echo "</span>";
echo "<div class=\"clear\"></div>";
echo "</div>";
}
echo "<br />";
echo "<br />";
$i=false;
echo "<table>";
do {
echo "<tr>";
echo "<td>";
echo "<div id=\"ok\">";
echo "<form action=\"repaso.php\" method=\"post\">";
echo $row = mysql_fetch_array($resultado);
echo $idtema = stripslashes($row["idtema"]);
echo "<input type=submit id=\"botonok\" value=\"OK\" />";
echo "</form>";
echo "</div>";
echo "</td>";
echo "<td>";
echo "<div id=\"salir\">";
echo "<input type=\"button\" id=\"botonsalir\" name=\"salir\" value=\"Salir\" onclick=\"history.go(- history.length)\" />";
echo "</div>";
echo "</td>";
echo "</tr>";
}
while($i=false);
echo "</table>";
Soy bastante nuevo en esto con lo que es posible que existan innumerables mejoras, pero bueno lo que me tiene enganchado es el problema que os comento.
Muchas gracias.
Estoy intentando crear una pequeña aplicación y me encuentro con un problema que no se como solucionar. He estado buscando en Google y o no lo interpreto o no encuentro la forma de solucionarlo. Igualmente he probado con distintas opciones que se me han ocurrido y el resultado ha sido el mismo.
Os cuento...
Estoy llamando a un .php que ejecuta una consulta selecionando un solo registro de forma aleatoria, y posteriormente si el usuario quiere continuar con otro registro llamaría al mismo .php y asi sucesivamente hasta que el usuario decida finalizar el proceso. El problema lo tengo porque este .php realiza la consulta en base a una variable que la primera vez es conocida puesto que viaja del formulario anterior, pero que para las sucesivas veces que el .php es llamado de forma recursiva desde el mismo, me presenta una ventana de error porque no ha encontrado ningun registro, cosa no cierta porque la consulta en el caso de realizarla conociendo el valor de la misma variable siempre debería de encontrar algun registro, lo que significa que a partir de la llamada recursiva ha dejado de verla.
Pego el código obviando la conexión a la BBDD mysql y demás detalles que entiendo no son importantes:
$consulta = "SELECT
FROM tema_pregunta
WHERE tema_pregunta.idtema = $idtema
order by rand()limit 1";
$resultado = mysql_query($consulta);
$num_resultados = mysql_num_rows($resultado);
if ($num_resultados < 1)
{
echo "No existen \"Preguntas y Respuestas\" con esta selección.";
exit;
}
$row = mysql_fetch_array($resultado);
$pregunta = stripslashes($row["idpregunta"]);
$consulta1 = "SELECT preguntas.descpregunta, respuestas.descrespuesta,
respuestas.valida
FROM preguntas, respuestas
WHERE preguntas.idpregunta = $pregunta and
preguntas.idpregunta = respuestas.idpregunta";
$resultado1 = mysql_query($consulta1);
$num_resultados1 = mysql_num_rows($resultado1);
if ($num_resultados1 < 1)
{
echo "No existen \"Preguntas y Respuestas\" con esta selección.";
exit;
}
$pre=0;
while ($row1 = mysql_fetch_array($resultado1)){
if($pre==0){
echo "<div id=\"preg\"><p>".stripslashes($row1["descpregunta"])."</p></div>";
echo "<br />";
echo "<br />";
$pre=1;
}
echo "<br />";
echo "<div id=\"paginacion\">";
echo "<span class=\"izq\">";
echo "<p class=\"corto\">".stripslashes($row1["descrespuesta"])."</p>";
echo "</span>";
echo "<span class=\"der\">";
echo "<input type=radio name=\"respuestas\" value=".stripslashes($row1["idrespuesta"])." />";
echo "</span>";
echo "<div class=\"clear\"></div>";
echo "</div>";
}
echo "<br />";
echo "<br />";
$i=false;
echo "<table>";
do {
echo "<tr>";
echo "<td>";
echo "<div id=\"ok\">";
echo "<form action=\"repaso.php\" method=\"post\">";
echo $row = mysql_fetch_array($resultado);
echo $idtema = stripslashes($row["idtema"]);
echo "<input type=submit id=\"botonok\" value=\"OK\" />";
echo "</form>";
echo "</div>";
echo "</td>";
echo "<td>";
echo "<div id=\"salir\">";
echo "<input type=\"button\" id=\"botonsalir\" name=\"salir\" value=\"Salir\" onclick=\"history.go(- history.length)\" />";
echo "</div>";
echo "</td>";
echo "</tr>";
}
while($i=false);
echo "</table>";
Soy bastante nuevo en esto con lo que es posible que existan innumerables mejoras, pero bueno lo que me tiene enganchado es el problema que os comento.
Muchas gracias.