Foros del Web » Programando para Internet » PHP »

como recorrer un array asociativo con foreach y comprar el array con variabl $post

Estas en el tema de como recorrer un array asociativo con foreach y comprar el array con variabl $post en el foro de PHP en Foros del Web. quiero poder modificar registros en una base de datos para eso quiero cargar los valores de una pelicula previamente seleccionada en un formulario...casi me funciona ...
  #1 (permalink)  
Antiguo 18/12/2010, 21:33
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
como recorrer un array asociativo con foreach y comprar el array con variabl $post

quiero poder modificar registros en una base de datos para eso quiero cargar los valores de una pelicula previamente seleccionada en un formulario...casi me funciona el script. uso un foreach y con etiquetas html dentro del codigo php quiero poner la con "selected" pero no me termina de funcionar algo me falla os dejo el codigo:

Código:
<li>Genero:<select size="1" name="genero" id="genero" >
<?php
	$genero= array( "accion" => "accion" ,"adolescente" => "adolescente" , "animacion" => "animacion" , "infantil" => "infantil" , 								"artesmarciales"=> "artesmarciales" , "aventura" => "aventura" , "belico" => "belico" , "biografia" => "biografia" ,"cienciaficcion" => "cienciaficcion" ,"cinenegro" => "cinenegro", "comedia" => "comedia" , "cortometrajes" => "cortometrajes" , "deporte" =>"deporte" , "drama" =>"drama" , "fantastico" => "fantastico" , "historico" => "historico" , "intriga" => "intriga" , "musical" => "musical" , "policiaca" => "policiaca" , "romance" => "romance" , "suspense" => "suspense" , "terror" => "terror" , "thriller" => "thriller" , " western" => "western");

	$campo4=$fila['genero']; 
 	foreach($genero as $campogenero)
	echo "<option value = \"{$campogenero}\"";
	if ($campo4 == $campogenero )
	{
	echo "selected" ;
	
	}
	echo ">{$campogenero}</option>";

?>
 </select>
  #2 (permalink)  
Antiguo 18/12/2010, 21:42
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: como recorrer un array asociativo con foreach y comprar el array con varia

pues no entendi muy bien lo que quieres, lo que si te digo es que para seleccionar una opcion del select debes de colocar
Código HTML:
Ver original
  1. <select name="select">
  2.     <option value="valor" selected="selected">lo que saldra en la lista</option>
verifica si no es eso por lo que no te esta haciendo la seleccion saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 20/12/2010, 16:10
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: como recorrer un array asociativo con foreach y comprar el array con varia

Ya creo que lo e solucionado. Aqui teneis el codigo de como lo tengo...

Código:
<li>Selecciona una pelicula:
<?php
//la sintaxis de sql varia de como estes conectándote a la base de datos

$SQL = "SELECT titulo FROM peliculas ORDER BY titulo ASC";
$RES = mysql_query($SQL,$conexion);

//abres el select
echo "<select name='titulo' id='proveedor'><option value=''>Seleccione una pelicula</option>";

while($row = mysql_fetch_row($RES)){
	//por cada proveedor que encuentre lo muestra en la lista desplegable
	echo "<option value='". $row[0] ."'>". $row[0] . "</option>";
	
}

//cierras el select
echo "</select>"; 
?>
</li>

<li><input type="submit" name="enviarmodificacion" value="Enviar" id="boton">

</li>
</ul>
</form>
<?php 

	
	if (isset($_POST["enviarmodificacion"])) 
	{
	$dato =$_POST['titulo'];
	$SQL = "select * from peliculas where titulo like '%".$dato."%'";
	$RES = mysql_query($SQL,$conexion);
	
	while ($fila= mysql_fetch_assoc($RES))
	
		{
		
		$camp1=$fila['titulo']; 
		$camp2=$fila['ano']; 
		$camp3=$fila['director']; 
		$camp4=$fila['genero']; 
		$camp5=$fila['calidad']; 
		$camp6=$fila['idioma']; 
		$camp7=$fila['comentario']; 
					
		
		}
}

?>

<div id="contenidoformulario">
<h2>Peliculas</h2>
<p>Editar pelicula pelicula</p>
<form action="#" method="post" enctype="multipart/form-data"> 

<ul>
<li>	Titulo: <input type="text" name="titulo" id="titulo" size="60" value="<?php echo @$camp1; ?>"/></li>

<li>	año: <input type="text" name="ano" id="ano" size="4" value="<?php echo @$camp2 ; ?>"/></li>
<li>	Director: <input type="text" name="director" id="director" size="26" value="<?php echo @$camp3 ; ?>"/></li>
<li>Genero:<select size="1" name="genero" id="genero" >
<?php
	$genero= array( "accion" => "accion" ,"adolescente" => "adolescente" , "animacion" => "animacion" , "infantil" => "infantil" , 								"artesmarciales"=> "artesmarciales" , "aventura" => "aventura" , "belico" => "belico" , "biografia" => "biografia" ,"cienciaficcion" => "cienciaficcion" ,"cinenegro" => "cinenegro", "comedia" => "comedia" , "cortometrajes" => "cortometrajes" , "deporte" =>"deporte" , "drama" =>"drama" , "fantastico" => "fantastico" , "historico" => "historico" , "intriga" => "intriga" , "musical" => "musical" , "policiaca" => "policiaca" , "romance" => "romance" , "suspense" => "suspense" , "terror" => "terror" , "thriller" => "thriller" , " western" => "western");
	


	
	//$campo4=$fila['genero']; 
 	foreach($genero as $campogenero =>$generos)
	{
		
		echo "<option value = \"{$generos}\"";
	if ($camp4 == $generos )
		{
		echo "selected" ;
	
		}
		echo ">{$generos}</option>";
	}
?>
 </select>

Etiquetas: foreach, post, recorrer
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 22:14.