desesperacion con php

NACHO
20 de Febrero del 2003
wenas yo qiero hacer con php lo siguiente:

tengo 2 paginas una formulario central.php en la que tengo listas desplegables unidas a una b.d(color de fondo,color de fuente,tipo de fuente,tamño de fuente...) despues una caja de texto, cuando envio un nombre junto a la opcion elegida es decir "pepito" color fuente azul, color de fondo rojo... lo unico que consigo es que me aparezca el nombre que he metido y el color de fondo, aqui os dejo el codigo que he puesto en ambas paginas a ver si podeis ayudarme:

formulario_central.php

<html>
<head>
<?php
$conex=mysql_connect("localhost","","")
or die("!No se ha podido establecer la conexion con el servidor!");
mysql_select_db("proyectoforo",$conex)
or die("!No se ha podido seleccionar la base de datos!");
$resultado=mysql_query("Select * from formato",$conex)
or die("no se han podido seleccionar los datos");
$resultado1=mysql_query("Select * from
formato where color_fondo!=' ' ", $conex)
or die("no se han podido seleccionar los datos");
$resultado2=mysql_query("Select * from
formato where color_fuente!=' ' ", $conex)
or die("no se han podido seleccionar los datos");
$resultado3=mysql_query("Select * from
formato where tipo_fuente!=' '", $conex)
or die("no se han podido seleccionar los datos");
$resultado4=mysql_query( "Select * from
formato where tamano_fuente!=' '", $conex)
or die("no se han podido seleccionar los datos");

?>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#0000CC">
<p align="center"> <em><font size="+3">Formulario de Modificaci&oacute;n de la
P&aacute;gina</font></em></p>
<p align="center">&nbsp;</p>
<form method=GET action="central.php">
<p> Nombre Sesi&oacute;n:
<input type="text" name="Nombre">
</p>
<p>Color Fondo:
<select name="color_fondo">
<? while ($color_fondo=mysql_fetch_array($resultado1))
printf("<option>%s</option>",$color_fondo["color_fondo"]);
?>
</select>
Color Fuente :
<select name="color_fuente">
<? while ($color_fuente=mysql_fetch_array($resultado2))
printf("<option>%s</option>",$color_fuente["color_fuente"]);
?>
</select>
Tipo Fuente :
<select name="tipo_fuente">
<? while ($tipo_fuente=mysql_fetch_array($resultado3))
printf("<option>%s</option>",$tipo_fuente["tipo_fuente"]);
?>
</select>
Tama&ntilde;o Fuente:
<select name="tamano_fuente">
<? while ($tamano_fuente=mysql_fetch_array($resultado4))
printf("<option>%s</option>",$tamano_fuente["tamano_fuente"]);
?>
</select></p>
<p align="left">&nbsp;</p>
<p align="center">&nbsp; </p>
<p align="center">
<input type="submit" value="Enviar" name="enviar">
</p>
</form>
</body>
</html>

central.php

<html><head>
</head>

<form method="post" name="formulario_central" action="formulario_central.php">
<input type="hidden" name="oculto" value="<?php echo "$Nombre"?>">
<?
echo "$Nombre";
?>
<?php
if ($color_fondo=="Azul")
{ ?>
<body bgcolor="#000099">
/*aqi intente poner:
if($tamano_fuente="+2")
{
?>
<font size= "<?php echo "$tamano_fuente"?>">
</font>
<? PERO TAMPOCO CONSIGO NADA*/
<?

}
}
elseif ($color_fondo=="Blanco")
{ ?>
<body bgcolor="#FFFFFF">
</body>
<?
}
elseif ($color_fondo=="Gris")
{ ?>
<body bgcolor="#CCCCCC">
</body>
<?
}
elseif ($color_fondo=="Marrón")
{ ?>
<body bgcolor="#996600">
</body>
<?
}
elseif ($color_fondo=="Negro")
{ ?>
<body bgcolor="#000000">
</body>
<?
}
elseif ($color_fondo=="Rojo")
{ ?>
<body bgcolor="#FF0000">
</body>
<?
}
elseif ($color_fondo=="Verde")
{ ?>
<body bgcolor="#00FF00">
</body>
<?
}
if ($color_fuente=="Azul")
{ ?>
<font color="#0000FF">
</font>
<?
}
elseif ($color_fuente=="Blanco")
{ ?>
<font color="#FFFFFF">

</font>
<?
}
elseif ($color_fuente=="Gris")
{ ?>
<font color="#CCCCCC">
</font>
<?
}
elseif ($color_fuente=="Marrón")
{ ?>
<font color="#996600">
</font>
<?
}
elseif ($color_fuente=="Negro")
{ ?>
<font color="#000000">
</font>
<?
}
elseif ($color_fuente=="Rojo")
{ ?>
<font color="#FF0000">
</font>
<?
}
elseif ($color_fuente=="Verde")
{ ?>
<font color="#00FF00">
</font>
<?
}

if ($tipo_fuente="Arial")
{
?>
<font face="Arial, Helvetica, sans-serif">
</font>
<?
}
elseif ($tipo_fuente="Comic Sans")
{
?>
<font face="Comic Sans MS">
</font>
<?
}
elseif ($tipo_fuente="Lucida")
{
?>
<font face="Lucida Console">
</font>
<?
}
elseif ($tipo_fuente="Times New Roman")
{
?>
<font face="Times New Roman, Times, serif">
</font>
<?
}
if($tamano_fuente="+1")
{
?>
<font size="<?php echo "$Nombre"?>">
</font>

<?

elseif($tamano_fuente="+2")
{
?>
<font size="<?php echo "$tamano_fuente"?>">
</font>
<?
}
elseif ($tamano_fuente="-1")
{
?>
<font size="<?php echo "$tamano_fuente"?>">
</font>
<?
}
elseif ($tamano_fuente="-2")
{
?>
<font size="<?php echo "$tamano_fuente"?>">
</font>
<?
}
elseif ($tamano_fuente="1")
{
?>
<font size="<?php echo"$tamano_fuente"?>">
</font>
<?
}
elseif ($tamano_fuente="2")
{
?>
<font size="<?php echo"$tamano_fuente"?>">
</font>
<?
}

?>
<input type="submit" value="Modificar">

</form>
</font>
</body>
</html>

OS ROGARIA QUE ME CONTESTASEIS YA QUE LLEVO MAS DE UNA SEMANA DANDOLE VUELTAS A LA CABZA SIN CONSEGUIR NADA.

lutian
20 de Febrero del 2003
Hola Nacho!
Primero que nada, creo que estás haciendo demasiadas querys a la base de datos para obtener los mismos resultados de la misma tabla, esto no tienen nada que ver con tu problema, pero puede llegar a ser un problema si tenes muchos usuarios recurrentes.
Te conviene utilizar solo el array $resultado (que contiene todos los datos importantes de la tabla formato) y asignarle otro array de acuerdo al campo que necesitas:
Ej:
while ($tipo_fuente=mysql_fetch_array($resultado))
printf("<option>%s</option>",$tipo_fuente["tipo_fuente"]);

esto también funciona y te ahorras unas cuantas querys!

Por otro lado el problema que veo es que cuando usas el if para igualar 2 variables tenés que usar "doble igual" (==).
Para el color de fondo lo usas, pero para el resto no! creo que es ese tu problema
Suerte
lutian
http://www.econocontrol.com.ar