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