Foros del Web » Creando para Internet » HTML »

Varios formularios misma pagina

Estas en el tema de Varios formularios misma pagina en el foro de HTML en Foros del Web. Buenas!! Mi duda es la siguiente. Tengo una estructura en la que voy mostrando divs "noticia" sacados de una base de datos. Cada noticia tiene ...
  #1 (permalink)  
Antiguo 27/09/2009, 15:29
 
Fecha de Ingreso: septiembre-2008
Ubicación: a medio camino, entre ninguna parte y el olvido
Mensajes: 68
Antigüedad: 9 años, 2 meses
Puntos: 1
Varios formularios misma pagina

Buenas!!
Mi duda es la siguiente. Tengo una estructura en la que voy mostrando divs "noticia" sacados de una base de datos. Cada noticia tiene en su interior un formulario para poder dejar un comentario a cerca de esa noticia...cada formulario para comentar abre otra pagina en la que se inserta en la BD el nuevo comentario, pero como se en que noticia añadir el comentario??

El codigo es el siguiente:
Código:
<?PHP
	// Obtener los valores del tipo noticias
	$instruccion = "SELECT * FROM noticias";
	$consulta = mysql_query ($instruccion, $conexion) 		   
		or die ("$no_disponible");
						
	// Establecer el número de filas por página y la fila inicial
	$cuantos=$_SESSION['cuantos'];
	if(isset($cuantos))
		$num=$cuantos;// número de filas por página
	else
                $num = 20; // número de filas por página
      	$comienzo = $_REQUEST['comienzo'];
      	if (!isset($comienzo)) $comienzo = 0;

   	// Calcular el número total de filas de la tabla
      	$nfilas = mysql_num_rows ($consulta);
	$_SESSION['nfilas'] = $nfilas;
				
	?>
	<div class="error_bd">
	<?PHP
	$instruccion = $instruccion . " order by fecha desc limit $comienzo, $num";
	$consulta = mysql_query ($instruccion, $conexion)		 		   
		or die ("$no_hay");
	?>
	</div><!--error bd-->
				
	<?PHP
	// Mostrar resultados de la consulta
      	nfilas_pag = mysql_num_rows ($consulta);
	if ($nfilas_pag > 0)
      	{
	   for ($i=0; $i<$nfilas_pag; $i++)
          {
                 $resultado = mysql_fetch_array ($consulta);
		?>
			
		     <!--articulo--> 
		    <div class="noticia">			
			  <div class="contenido_noticia">
			  //MUESTRO INFO DE LA NOTICIA
						
			<!--MUESTRA COMENTARIOS-->
			<div class="contenido_noticia">
									
				// Obtener los valores del tipo noticias-coment
				$noticia_act=$resultado['id_noticia'];
				$_SESSION['noticia_n'] = $noticia_act;//para saber en que noticia añadir comentario
				$instruccion2 = "SELECT * FROM noticias_coment WHERE id_noticia=$noticia_act";
				$consulta2 = mysql_query ($instruccion2, $conexion) 		   
					or die ("$no_disponible");
									
				// Mostrar resultados de la consulta
				$nfilas_pag2 = mysql_num_rows ($consulta2);
				$_SESSION['coment_n'] = $nfilas_pag2;//para saber cuantos comentarios van
				if ($nfilas_pag2 > 0){
				 for ($j=0; $j<$nfilas_pag2; $j++){
					
					//MUESTRO COMENTARIOS
				}
			      }
			      else{print "No comments.";}?>
			<div class="texto_sangria" style="margin-top:20px;margin-left:50px;">
			<form action="ComentaNoticia.php" method="post" name="ComentaNoticia">					
				<c><? print "$nom" ?></c>
				<input type="text" name="F_Autor" onfocus="select()" size="30"/>
				<br/><br/>
				<c><? print "$mesg" ?></c><br/>
			       <TEXTAREA COLS="50" ROWS="1" NAME="F_Mensaje"></TEXTAREA>
				<br/><br/>				
				<INPUT TYPE="submit" NAME="F_Comentar" VALUE="<? print "$comenta" ?>">
				<br/><br/>		
			</form>
			</div>
			</h5>
	</div><!--Fin contenido_noticia-->
						
	</div><!--FIN noticia-->
					<?PHP
        	 		}

     	 	}

Última edición por pier2384; 27/09/2009 a las 15:39
  #2 (permalink)  
Antiguo 27/09/2009, 18:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.728
Antigüedad: 8 años, 6 meses
Puntos: 1512
Respuesta: Varios formularios misma pagina

Necesitas en la base de datos tener dos tablas una de la noticia y otra de comentarios. En la de noticia debes tener algo así

ID, escritor, noticia

En la de comentario debes tener algo así

ID, ID_noticia, comentario

Lo que necesitas es indicarle cual es el ID de la noticia y vas a poder hacer un query indicando que comentarios van en que noticia. Ejemplo del query
Código PHP:
Ver original
  1. $row = mysql_query("SELECT * FROM comentario WHERE ID_noticia = "'$id_noticia'") or die(mysql_error());
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 27/09/2009, 18:38
 
Fecha de Ingreso: septiembre-2008
Ubicación: a medio camino, entre ninguna parte y el olvido
Mensajes: 68
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Varios formularios misma pagina

Ya tengo las dos tablas en la BD. Una de noticias con su id_noticia, nombre, noticia...y otra de noticia_comentario con su id_noticia, id_comentario, comentario...

pero al mostrar varias noticias con su correspondientes comentarios y formularios para insertar otro comentario no se como decirle, a la pagina que abren los formularios, a que noticia me refiero...para que inserte el comentario en la noticia de la cual se uso el formulario. Esto es, necesito el id_noticia, desde la cual se uso el formulario para insertar un nuevo comentario a esa noticia.

Última edición por pier2384; 27/09/2009 a las 19:18
  #4 (permalink)  
Antiguo 27/09/2009, 23:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.728
Antigüedad: 8 años, 6 meses
Puntos: 1512
Respuesta: Varios formularios misma pagina

En ese caso debes usar un campo de hidden que tenga el id de esa noticia. Cuando inserten el comentario al tenerlo en el hidden el id de la noticia vas a poder llamarla por el metodo de POST o GET el nombre del campo que esta oculto.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 28/09/2009, 05:48
 
Fecha de Ingreso: septiembre-2008
Ubicación: a medio camino, entre ninguna parte y el olvido
Mensajes: 68
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Varios formularios misma pagina

mil gracias!!
todo resuelto!
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 17:05.