Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Cambiar hojas de estilo en php

*tengo una tabla creada:
id color
1 1 (por defecto)

*tengo 2 hojas de estilo llamados style1 (color rojo) style2( color azul)

*Paso al index.php:
<?php require_once('conexion.php');?>
<?php 
//CONSULTA BASE DATOS
    mysqli_select_db($conexion, $database_conexion);
    $query_DatosWeb = "SELECT * FROM h_datos";
    $DatosWeb = mysqli_query($conexion, $query_DatosWeb) or die(mysqli_error());
    $row_DatosWeb = mysqli_fetch_assoc($DatosWeb);
    $totalRows_DatosWeb = mysqli_num_rows($DatosWeb);
?>
<!doctype html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<title>Colores</title>	
<?php if ($row_DatosWeb['color']==1){?>
<link rel="stylesheet" href="estilo1.css">
<?php } else if ($row_DatosWeb['color']==2) {?>
<link rel="stylesheet" href="estilo2.css">
<?php }?>
</head>
<body>





</body>
<html

esto lo que hace es que si en nuestra base de datos en la columna color hay un 1 nos carga nuestra primer .css y si hay un 2 la otra css

*lo que quiero hacer ahora es un formulario que pueda cambiar el 1 o el 2 en mi base de datos, lo he intentado pero no lo he conseguido, si alguien me puede ayudar
Editado
0
Puntos
1789
Visitas
9
Resp
Por Dannus hace 90 meses
Avanzado
Respuesta #1
Que tal! crea una lista desplegable y que te valla a un update. Yo en este caso pondria 2 botones con un if y listo.
1
Puntos
Por zapikero hace 90 meses
Avanzado Sitio web
Respuesta #2
<?php require_once('conexion.php');?>

<?php 
if (isset($_POST['color'])){
		
	$updateSQL = "UPDATE z_datos SET color='$_POST[color]'";
     mysqli_select_db($conexion, $database_conexion);
     $Result1 = mysqli_query($conexion, $updateSQL) or die(mysqli_error());
	
}



//CONSULTA BASE DATOS
    mysqli_select_db($conexion, $database_conexion);
    $query_DatosWeb = "SELECT * FROM z_datos";
    $DatosWeb = mysqli_query($conexion, $query_DatosWeb) or die(mysqli_error());
    $row_DatosWeb = mysqli_fetch_assoc($DatosWeb);
    $totalRows_DatosWeb = mysqli_num_rows($DatosWeb);
?>
<!doctype html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<title>Heroagames | Juegos Flash Online</title>	
<?php if ($row_DatosWeb['color']==1){?>
<link rel="stylesheet" href="estilo1.css">
<?php } else if ($row_DatosWeb['color']==2) {?>
<link rel="stylesheet" href="estilo2.css">
<?php }?>
</head>
<body>
Colores:
<br>
<br>
<?php  if($row_DatosWeb['color']==1){?>
Rojo
<?php } else if($row_DatosWeb['color']==2){?>
Azul
<?php }?>
<br>
<br>
<form action="" method="post" id="formEdit">
Color:<br>
 <?php if ($row_DatosWeb['color']==1) { echo '
<input name="color" type="radio" value="1" checked="checked" /> Rojo
<input name="color" type="radio" value="2"  /> Azul ';
}
else if ($row_DatosWeb['color']==2) {
echo'<input name="color" type="radio" value="1" checked="checked" /> Rojo
<input name="color" type="radio" value="2" checked="checked"/> Azul';
} ?>
<br>
<input type="submit" value="Editar">
</form>




</body>
</html>
<?php mysqli_free_result($DatosWeb);?>
0
Puntos
Por Dannus hace 90 meses
Avanzado
Respuesta #3
lo que quiero hacer el udpte con strinng ??
0
Puntos
Por Dannus hace 90 meses
Avanzado
Respuesta #4
$updateSQL = sprintf("UPDATE z_datos SET color=%s",
                      GetSQLValueString($_POST['color'], "text"));
     mysqli_select_db($conexion, $database_conexion);
     $Result1 = mysqli_query($conexion, $updateSQL) or die(mysqli_error());
en el update meto el sprinft pero me da erro r
0
Puntos
Por Dannus hace 90 meses
Avanzado
Respuesta #5
hola, el update en teoría esta bien, si ye da error es por que 1: en la tabla z_datos el campo color no se llama así o 2: no estas enviando bien el valor $_POST['color']

haz una prueba, inserta con este update:
$updateSQL = sprintf("UPDATE z_datos SET color=%s",
                      GetSQLValueString('rojo', "text"));
     mysqli_select_db($conexion, $database_conexion);
     $Result1 = mysqli_query($conexion, $updateSQL) or die(mysqli_error());
si te inserta "rojo" en la tabla z_datos es por que no esta recibiendo el $_POST

salu2
0
Puntos
Por alber hace 90 meses
Administrador
Respuesta #6
<?php require_once('conexion.php');?>

<?php 
if (isset($_POST['color'])){
		
	$updateSQL = "UPDATE z_datos SET color='$_POST[color]'";
     mysqli_select_db($conexion, $database_conexion);
     $Result1 = mysqli_query($conexion, $updateSQL) or die(mysqli_error());
	
}



//CONSULTA BASE DATOS
    mysqli_select_db($conexion, $database_conexion);
    $query_DatosWeb = "SELECT * FROM z_datos";
    $DatosWeb = mysqli_query($conexion, $query_DatosWeb) or die(mysqli_error());
    $row_DatosWeb = mysqli_fetch_assoc($DatosWeb);
    $totalRows_DatosWeb = mysqli_num_rows($DatosWeb);
?>
<!doctype html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<title>Heroagames | Juegos Flash Online</title>	
<?php if ($row_DatosWeb['color']==1){?>
<link rel="stylesheet" href="estilo1.css">
<?php } else if ($row_DatosWeb['color']==2) {?>
<link rel="stylesheet" href="estilo2.css">
<?php }?>
</head>
<body>
Colores:
<br>
<br>
<?php  if($row_DatosWeb['color']==1){?>
Rojo
<?php } else if($row_DatosWeb['color']==2){?>
Azul
<?php }?>
<br>
<br>
<form action="" method="post" id="formEdit">
Color:<br>
 <?php if ($row_DatosWeb['color']==1) { echo '
<input name="color" type="radio" value="1" checked="checked" /> Rojo
<input name="color" type="radio" value="2"  /> Azul ';
}
else if ($row_DatosWeb['color']==2) {
echo'<input name="color" type="radio" value="1" checked="checked" /> Rojo
<input name="color" type="radio" value="2" checked="checked"/> Azul';
} ?>
<br>
<input type="submit" value="Editar">
</form>




</body>
</html>
<?php mysqli_free_result($DatosWeb);?>


este es el codiho completo tengo la update de otra forma dado que con sprinft lo pongo bien pero me da error
0
Puntos
Por Dannus hace 90 meses
Avanzado
Respuesta #7
tambien puede ser por tu servidor o por GetSQLValueString, comprueba todo, no es normal que un simple UPDATE te de error
0
Puntos
Por alber hace 90 meses
Administrador
Respuesta #8
ademas esto no lo puedes hacer:
$updateSQL = "UPDATE z_datos SET color='$_POST[color]'";
pero si algo así
$color=$_POST[color];
$updateSQL = "UPDATE z_datos SET color=$color";
aunque esto funciona con enteros no con cadenas, aun así prueba si quieres

salu2
0
Puntos
Por alber hace 90 meses
Administrador
Respuesta #9
lo estoy intentando de mil maneras pero me da error solo quiero tengo un mi base de dato una tabla creada z_datos
con 2 columna id primary auto_increment y otra columna con valor 1:
*valor 1 equivale a la hoja de estilo azul
*valor 2 equivale a la hoja de estilo roja

estoy intentando crear un formulario quecon un type radio para que me haga el cambio en la base de datos
1 o 2 segun el colo elegido pero estare intentado.. aver :)
0
Puntos
Por Dannus hace 90 meses
Avanzado
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate