Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/10/2004, 20:58
Avatar de Reynier
Reynier
 
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Pues ahora son otros los problemas

Ya he resuelto lo del ID. Ahora el código es este:
Código PHP:
if($_GET['do'] == 0){
 echo 
"<form name='admin' method='POST' action='encuestas.php?mod=".$mod."&accion=publicar&do=1&jcgrmsid=".session_id()."'>";
 echo 
"<table width='50%' cellpadding='0' cellspacing='1' class='table' border='0' align='center'>";
 echo 
"<tr>";
 echo 
"<td colspan='2' class='padding font topics tr bold'>Publicación de encuestas</td>";
 echo 
"</tr>";
 echo 
"<tr>";
 echo 
"<td class='paddingimg font' width='30%' align='right'>Título de la Encuesta:</td>";
 echo 
"<td class='paddingimg font' width='70%'><input type='text' name='titulo' size='60' class='edit font'></td>";
 echo 
"</tr>";
 echo 
"<tr>";
 echo 
"<td class='paddingimg font' align='right'>Cantidad de Respuestas:</td>";
 echo 
"<td class='paddingimg font'><input type='text' name='cantidad' size='5' class='edit font'></td>";
 echo 
"</tr>";
 echo 
"<tr>";
 echo 
"<td class='paddingimg font' align='right'>Activar encuesta:</td>";
 echo 
"<td class='paddingimg font'>";
 echo 
"<select name='activo' size='1' class='edit font td'>";
 echo 
"<option value='0' selected>No</option>";
 echo 
"<option value='1'>Sí</option>";
 echo 
"</select>";
 echo 
"</td>";
 echo 
"</tr>";
 echo 
"<tr>";
 echo 
"<td class='paddingimg font' colspan='2' align='center'><input type='submit' name='enter' value='Continuar >>' class='edit font'></td>";
 echo 
"</tr>";
 echo 
"</table>";
 echo 
"</form>";
}elseif(
$_GET['do'] == 1){
 
$query "INSERT INTO jcgrm_encuestas(titulo,activo) VALUES('".$_POST['titulo']."','".$_POST['activo']."')";
 
$result mysql_query($query) or die(mysql_error());
 
// aquí es donde obtengo el ID de la última encuesta insertada en la BDatos
 
$queryreverse "SELECT idencuesta FROM jcgrm_encuestas";
 
$resultreverse mysql_query($queryreverse) or die(mysql_error());
 for(
$i=mysql_num_rows($resultreverse)-1;$i>=0;$i--){
  if(!
mysql_data_seek($resultreverse,$i)){
   echo 
mysql_error();
   continue;
  }
  
$row mysql_fetch_array($resultreverse);
  
$lastpoll $row['idencuesta'];
 }
 echo 
"<form name='admin' method='POST' action='encuestas.php?mod=".$mod."&accion=publicar&do=2&jcgrmsid=".session_id()."'>";
 echo 
"<table width='50%' cellpadding='0' cellspacing='1' class='table' border='0' align='center'>";
 echo 
"<tr>";
 echo 
"<td colspan='2' class='padding font topics tr bold'>Publicación de encuestas</td>";
 echo 
"</tr>";
 
// aquí imprimo tantos edit como posibles respuestas haya puesto el usuario
 // en el formulario anterior
 
for($j=0;$j<$_POST['cantidad'];$j++){
   echo 
"<tr>";
   echo 
"<td class='paddingimg font' width='30%' align='right'>Respuesta #".$j."</td>";
   echo 
"<td class='paddingimg font' width='70%'><input type='text' name='respuesta".$j."' size='60' class='edit font'></td>";
   echo 
"</tr>";
 }
 
// este ciclo FOR provoca que los input salgan con los siguientes nombres
 // respuesta0,respuesta1,respuesta2 así hasta la cantidad dada por el 
 // usuario
 
echo "<tr>";
 echo 
"<td class='paddingimg font' colspan='2' align='center'><input type='hidden' name='cantidad' value='".$_POST['cantidad']."'><input type='hidden' name='encuesta' value='".$lastpoll."'><input type='submit' name='enter' value='Continuar >>' class='edit font'></td>";
 echo 
"</tr>";
 echo 
"</table>";
 echo 
"</form>";
}if(
$_GET['do'] == 2){
 
// aquí voy a ejecutar tantas consultas como cantidad de respuestas haya 
 // entrado el usuario antes
 
for($i=0;$i<$_POST['cantidad'];$i++){
  
$respuesta $_POST['respuesta'].$i// primer problema cuando concateno 
                                        // $_POST['respuesta'] con $i me 
                                        // subsituye $respuesta por 0 que es 
                                        // el valor inicial de $i cuando lo que 
                                        // quiero lograr es que $respuesta sea
                                        // respuesta0, respuesta1
  
$query "INSERT INTO jcgrm_encuestas_respuestas(idencuesta,respuesta,votos) VALUES('".$_POST['encuesta']."','".$respuesta."',0)";
  
$result mysql_query($query) or die(mysql_error());
 }

entonces en el código PHP está explicado lo que me pasa. Es que hay que convertir $i a una cadena porque cuando lo debugeo me dice que $i es de tipo long.
Salu2
__________________
Ing. Reynier Pérez Mira

Última edición por Reynier; 14/10/2004 a las 21:02