Foros del Web » Programando para Internet » PHP »

Dos paginas en una según estado del campo

Estas en el tema de Dos paginas en una según estado del campo en el foro de PHP en Foros del Web. Estoy intentando hacer que cualquier visitante de mi pagina pueda ver un determinado codigo html si en mi base de datos esta la palabra "abierta" ...
  #1 (permalink)  
Antiguo 03/05/2007, 10:57
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Dos paginas en una según estado del campo

Estoy intentando hacer que cualquier visitante de mi pagina pueda ver un determinado codigo html si en mi base de datos esta la palabra "abierta" en el campo "estado" (el cual esta dentro de la tabla estados por si sirve de algo) y si la palabra "abierta" no aparece o hay otra como puede ser "cerrada" que salga otro determinado codigo html, digamos que seria }else{. No se lo que falta aqui, pero si falta algo creo que debe ser algo parecido a $result=mysql_query($sSQL) or die( mysql_error() ); pero no se como ni donde ponerlo


Código:
<?php
mysql_connect("localhost","root","password");

mysql_select_db("mi_base_de_datos");

if($estado == abierta) {
?>
<!--CODIGO HTML A MOSTRAR EN EL IF-->
(...)
<?php
}else{
?>
<!--CODIGO HTML A MOSTRAR EN EL else-->
(...)
<?php
}
?>
Saludos y gracias de antemano ;)
  #2 (permalink)  
Antiguo 03/05/2007, 11:00
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: Dos paginas en una según estado del campo

Código PHP:
<?php
mysql_connect
("localhost","root","password");

mysql_select_db("mi_base_de_datos");

$sql mysql_query("SELECT * FROM tabla");
$estado mysql_fetch_asso($sql);

if(
$estado == "abierta") {
?>
<!--CODIGO HTML A MOSTRAR EN EL IF-->
(...)
<?php
}else{
?>
<!--CODIGO HTML A MOSTRAR EN EL else-->
(...)
<?php
}
?>
Saludos
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #3 (permalink)  
Antiguo 03/05/2007, 11:15
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Re: Dos paginas en una según estado del campo

Cita:
Iniciado por el cirujano Ver Mensaje
Código PHP:
<?php
mysql_connect
("localhost","root","password");

mysql_select_db("mi_base_de_datos");

$sql mysql_query("SELECT * FROM tabla");
$estado mysql_fetch_asso($sql);

if(
$estado == "abierta") {
?>
<!--CODIGO HTML A MOSTRAR EN EL IF-->
(...)
<?php
}else{
?>
<!--CODIGO HTML A MOSTRAR EN EL else-->
(...)
<?php
}
?>
Saludos
$sql = mysql_query("SELECT * FROM tabla");
$estado = mysql_fetch_asso($sql);


Supuse que mysql_fetch_asso era mysql_fetch_assoc, ya que me daba error, aún asi, sigue saltando al else y no se ve el echo, por supuesto, esta el campo en "abierta" :S
  #4 (permalink)  
Antiguo 03/05/2007, 11:24
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: Dos paginas en una según estado del campo

si, disculpa era mysql_fetch_assoc, pero cuantas lineas/rows tienes en la BD?

limitemos la consulta a un ID

Código PHP:
$sql mysql_query("SELECT * FROM tabla WHERE id='1' "); 

o

$sql 
mysql_query("SELECT * FROM tabla LIMIT 1"); 
PORQUE PUEDE SER QUE NOS ESTE LEYENDO OTRO REGISTRO
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #5 (permalink)  
Antiguo 03/05/2007, 11:32
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Re: Dos paginas en una según estado del campo

Va a ser ese el problema entoces...

Mi tabla solo tiene un campo con un solo registro y el registro se edita o actualiza (abierto o cerrado) desde otra pagina, el único campo que tiene es el de estado.
Campo: estado. Tipo: char(100). Cotejamiento: latin1_swedish_ci...

Deberia agregar un nuevo campo como id para que funcione?
  #6 (permalink)  
Antiguo 03/05/2007, 11:35
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: Dos paginas en una según estado del campo

nop, el ID que le coloque era por ejemplo.... osea tenemos 1 solo registro?

Código PHP:
<?php
mysql_connect
("localhost","root","password");

mysql_select_db("mi_base_de_datos");

$sql mysql_query("SELECT * FROM tabla");
$estado mysql_fetch_asso($sql);

if(
$estado[estado] == "abierta") { //faltaba esto, disculpa
?>
<!--CODIGO HTML A MOSTRAR EN EL IF-->
(...)
<?php
}else{
?>
<!--CODIGO HTML A MOSTRAR EN EL else-->
(...)
<?php
}
?>
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #7 (permalink)  
Antiguo 03/05/2007, 11:47
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Re: Dos paginas en una según estado del campo

Ahora si funciona!!!

Mil gracias crack! y perdona lo pesado que he sido, pero soy un nobatin, aunque con muchas ganas de aprender ^^, gracias por hacer que no se quiten esas ganas


Saludos
  #8 (permalink)  
Antiguo 03/05/2007, 11:50
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: Dos paginas en una según estado del campo

tranquilo padre, que estamos es para ayudarnos jeje :-p
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #9 (permalink)  
Antiguo 03/05/2007, 13:29
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Dos paginas en una según estado del campo

Cita:
if($estado[estado] == "abierta") {
Estas llamando a una posición en $estado por una constante llamada estado que no existe!, eso no es correcto, para eso se usan las comillas:

Código PHP:
if($estado["estado"] == "abierta") { 
O, mejor aún para el caso:
Código PHP:
 if($estado['estado'] == 'abierta') { 
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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 16:21.