Foros del Web » Programando para Internet » PHP »

Ayuda con funcion de php.

Estas en el tema de Ayuda con funcion de php. en el foro de PHP en Foros del Web. Bueno chikos.. es mi primer post aca preguntando, los demas habian sido solamente de informacion ( leer la informacion ) que ademas es muy buena ...
  #1 (permalink)  
Antiguo 18/08/2009, 17:29
 
Fecha de Ingreso: agosto-2009
Ubicación: Santiago, Chile
Mensajes: 18
Antigüedad: 14 años, 8 meses
Puntos: 0
Bueno chikos.. es mi primer post aca preguntando, los demas habian sido solamente de informacion ( leer la informacion ) que ademas es muy buena :).

Mi duda es la siguiente, a ver si me pueden ayudar con algo.

Lo que pasa que estoy desarrollando un sistemas de encuestas.. y mi dificultad :S o limite de conocimientos va en que no puedo hacer funcionar la funcion de php. la funcion que tengo tiene que sumar uno al id de la pregunta cada vez que se presione siguiente. pero! no funka y no se porque ¬¬

este es el codigo
Código PHP:
<? 
include("sql.php");
$link conecta_sql();
?>

<!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>Documento sin título</title>

</head>
<body>
<? 

//inicializo pregunta_id para mostrar la primera pregunta de mi BD
$pregunta_id=1;

//El if de si apreta siguiente o no..
if($_POST["btnSiguiente"]){

    
$pregunta_id ++;
    echo 
$pregunta_id;
    
}else{
?>

<form method="post" action="index.php">
<table width="208" border="1">

<? 
$consulta 
"select * from encuesta_pregunta_opciones where op_pre_id=$pregunta_id";
$ejecuta mysql_query($consulta,$link) or die(mysql_error());
$fila mysql_fetch_array($ejecuta);
?>
  <? do{ ?>
  <tr>
    <td width="36"><label>
      <input type="radio" name="radio" id="radio" value="radio" />
    </label></td>
    <td width="124"><? echo $fila['op_des']?></td>
  </tr>
  <? }while( $fila mysql_fetch_array($ejecuta))?>
  <tr>
    <td><label>
      <input type="submit" name="btnAnterior" id="btnAnterior" value="Anterior" />
    </label></td>
    <td>&nbsp;</td>
    <td><input name="btnSiguiente" type="button" value="Siguiente"  /></td>
  </tr>
</table>


</form>
<? ?>
</body>
</html>
el echo $pregunta_id que esta en la funcion es solo para ver si me estaba mostrando algo o funcionando.

Última edición por GatorV; 18/08/2009 a las 19:28
  #2 (permalink)  
Antiguo 18/08/2009, 17:44
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Ayuda con funcion de php.

no comprendo mucho que deseas hacer pero le modifique algunas cositas espero y sea lo que buscas de lo contrario postea aqui ;)
Código PHP:
Ver original
  1. <?
  2. include("sql.php");
  3. $link = conecta_sql();
  4. ?>
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  10. <title>Documento sin título</title>
  11.  
  12. </head>
  13. <body>
  14. <?
  15.  
  16. //inicializo pregunta_id para mostrar la primera pregunta de mi BD
  17. $pregunta_id=1;
  18.  
  19. //El if de si apreta siguiente o no..
  20. if(isset($_POST["btnSiguiente"])){
  21.  
  22.     $pregunta_id++;
  23.     echo $pregunta_id;
  24.    
  25. }else{
  26. ?>
  27.  
  28. <form method="post" action="index.php">
  29. <table width="208" border="1">
  30.  
  31. <?
  32. $consulta = "select * from encuesta_pregunta_opciones where op_pre_id=$pregunta_id";
  33. $ejecuta = mysql_query($consulta,$link) or die(mysql_error());
  34. $fila = mysql_fetch_array($ejecuta);
  35. ?>
  36.   <? do{ ?>
  37.   <tr>
  38.     <td width="36"><label>
  39.       <input type="radio" name="radio" id="radio" value="radio" />
  40.     </label></td>
  41.     <td width="124"><? echo $fila['op_des']?></td>
  42.   </tr>
  43.   <? }while( $fila = mysql_fetch_array($ejecuta))?>
  44.   <tr>
  45.     <td><label>
  46.       <input type="submit" name="btnAnterior" id="btnAnterior" value="Anterior" />
  47.     </label></td>
  48.     <td>&nbsp;</td>
  49.     <td><input name="btnSiguiente" type="button" value="Siguiente"  /></td>
  50.   </tr>
  51. </table>
  52.  
  53.  
  54. </form>
  55. <? } ?>
  56. </body>
  57. </html>
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 18/08/2009, 17:48
 
Fecha de Ingreso: agosto-2009
Ubicación: Santiago, Chile
Mensajes: 18
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda con funcion de php.

Bueno lo que pasa es lo mismo, no logro avansar a la siguiente pregunta, esa es la idea del codigo o de la funcion mas que nada, la idea es que al apretar siguiente ( boton ) se sume uno al id de pregunta y asi poder mostrar la siguiente... ya que mi base de datos es asi. funciona por id de pregunta. ahora si ?
el error del programa es que no avansa... ahi algun error en codigo o en logica? muchas gracias!
  #4 (permalink)  
Antiguo 18/08/2009, 17:50
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Ayuda con funcion de php.

ahm haber cambia:
<input name="btnSiguiente" type="button" value="Siguiente" />

por:
<input name="btnSiguiente" type="submit" value="Siguiente" />


Saludos
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 18/08/2009, 17:54
 
Fecha de Ingreso: agosto-2009
Ubicación: Santiago, Chile
Mensajes: 18
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda con funcion de php.

Ahora me pasa lo mismo que antes, funciona pero no me muestra la siguiente pregunta...
el resultado al presionar "siguiente" es 2 ( lo que muestra en pantalla... la idea es que muestre la pregunta ). sugieres otra cosa?, muchas gracias!...
  #6 (permalink)  
Antiguo 18/08/2009, 17:57
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Ayuda con funcion de php.

solo tienes que mostrar una pregunta por cada ID ó son varias?
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 18/08/2009, 17:58
 
Fecha de Ingreso: agosto-2009
Ubicación: Santiago, Chile
Mensajes: 18
Antigüedad: 14 años, 8 meses
Puntos: 0
Logre hacer que me la muestre, sacando el form del else..
pero ahora no avanso a la tercera eso puede ser por que necesito actualizar la informacion en la misma pagina, pero como ? en action (del form) poner algo asi action="index.php"

son varias, 42 preguntas

osea ahora entendi tu pregunta sorry, claro es una pregunta por ahi.
ej. Pregunta 1 = ID 1;
pregunta 2 = id 2;
y asi por eso busco sumar uno a la variable $pregunta_id.

Última edición por GatorV; 18/08/2009 a las 19:29
  #8 (permalink)  
Antiguo 18/08/2009, 18:07
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Ayuda con funcion de php.

Código PHP:
Ver original
  1. <?
  2. include("sql.php");
  3. $link = conecta_sql();
  4. ?>
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  10. <title>Documento sin título</title>
  11.  
  12. </head>
  13. <body>
  14. <?
  15.  
  16. //inicializo pregunta_id para mostrar la primera pregunta de mi BD
  17. if($_REQUEST['pregunta_id']!=""){
  18.  $pregunta_id=$_REQUEST['pregunta_id']+1;
  19. }else{
  20.  $pregunta_id=1;
  21. }
  22.  
  23. ?>
  24.  
  25. <form method="post" action="index.php">
  26. <table width="208" border="1">
  27. <input type="text" value="<? echo $pregunta_id; ?>" name="pregunta_id" style="display:none" />
  28. <?
  29. $consulta = "select * from encuesta_pregunta_opciones where op_pre_id='".$pregunta_id."'";
  30. $ejecuta = mysql_query($consulta,$link) or die(mysql_error());
  31. $fila = mysql_fetch_array($ejecuta);
  32. ?>
  33.   <tr>
  34.     <td width="36"><label>
  35.       <input type="radio" name="radio" id="radio" value="radio" />
  36.     </label></td>
  37.      <td width="124"><? echo $fila['op_des']; ?></td>
  38.   </tr>
  39.    <tr>
  40.     <td><label>
  41.       <input type="submit" name="btnAnterior" id="btnAnterior" value="Anterior" />
  42.     </label></td>
  43.     <td>&nbsp;</td>
  44.     <td><input name="btnSiguiente" type="submit" value="Siguiente"  /></td>
  45.   </tr>
  46. </table>
  47. </form>
  48.  
  49. </body>
  50. </html>
__________________
Hospedaje Web al mejor costo!
  #9 (permalink)  
Antiguo 18/08/2009, 18:13
 
Fecha de Ingreso: agosto-2009
Ubicación: Santiago, Chile
Mensajes: 18
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda con funcion de php.

exelente compradre!! te pasaste muchas gracias! ahora si puede avansar.
ahora mm me puedes explicar como isiste el if plis si fueras tan amable. de ante mano muchisimas gracias
  #10 (permalink)  
Antiguo 18/08/2009, 18:18
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Ayuda con funcion de php.

my sencillo, primero verifico si no se ha enviado un $_POST llamado pregunta_id, si no s eha enviado quiere decir que es la primera vez que el form se carga asi que pongo el valor 1, de ahí puse un campo llamado pregunta_id si te das cuenta en el form ese es en realidad el contador y será incrementado cada vez que el botón siguiente sea pulsado.

Espero te haya servidor. Saludos
__________________
Hospedaje Web al mejor costo!
  #11 (permalink)  
Antiguo 18/08/2009, 18:30
 
Fecha de Ingreso: agosto-2009
Ubicación: Santiago, Chile
Mensajes: 18
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda con funcion de php.

si gracias ya entendi! ahora voy a hacer para retroceder ue seria como lo mismo creo...
lo intentare y si tengo problemas postiare! muchas gracias!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:21.