Foros del Web » Programando para Internet » PHP »

Problema con if

Estas en el tema de Problema con if en el foro de PHP en Foros del Web. Hola a todos, tengo un problemita con un if El if Código PHP: $page_mode  =  base64_decode ( $_GET [ mode ]); if ( $page_mode  ==  "" ...
  #1 (permalink)  
Antiguo 26/12/2007, 07:23
Avatar de seinkraft  
Fecha de Ingreso: diciembre-2007
Mensajes: 119
Antigüedad: 16 años, 4 meses
Puntos: 1
Problema con if

Hola a todos, tengo un problemita con un if

El if
Código PHP:
$page_mode base64_decode($_GET[mode]);

if (
$page_mode == "")
{
$page_mode "id";
}else{
$page_mode "base64_decode($_GET[mode])";

Código completo
Código PHP:
<html>
<head>
<title></title>
<link href="styles/crystal.css" rel="stylesheet" type="text/css">
</head>
<body class="body">
<div class="div_container">
<div class="div_title">Base de Datos</div>
<div class="div_text">
<?
$dbhost
='localhost';
$dbusername='root';
$dbuserpass='xxxx';
$dbname='xxxx';

$con=mysql_connect($dbhost,$dbusername,$dbuserpass);
mysql_select_db($dbname,$con);

if (!isset(
$pg))
$pg 0// $pg es la pagina actual
$cantidad 12// cantidad de resultados por página
$inicial $pg $cantidad;

$page_mode base64_decode($_GET[mode]);

if (
$page_mode == "")
{
$page_mode "id";
}else{
$page_mode "base64_decode($_GET[mode])";
}

$pegar "SELECT * FROM users ORDER BY "$page_mode"";
$cad mysql_db_query($dbname,$pegar) or die (mysql_error());

$contar "SELECT * FROM users ORDER BY "$page_mode"";
$contarokmysql_db_query($dbname,$contar);
$total_records mysql_num_rows($contarok);
$pages intval($total_records $cantidad);

$color"#D4D4D4";
$style="font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;";
// Imprimiendo los resultados
        
echo "<table class='table'>
        <tr class='tr'>"
;
        
$mode "id";
echo 
"    <td bgcolor='".$color."' style='".$style."'><a href='view.php?mode=".base64_encode($mode)."'>ID</a></td>";
        
$mode "username";
echo 
"    <td bgcolor='".$color."' style='".$style."'><a href='view.php?mode=".base64_encode($mode)."'>Nombre</a></td>";
        
$mode "age";
echo 
"    <td bgcolor='".$color."' style='".$style."'><a href='view.php?mode=".base64_encode($mode)."'>Edad</a></td>";
        
$mode "sex";
echo 
"    <td bgcolor='".$color."' style='".$style."'><a href='view.php?mode=".base64_encode($mode)."'>Genero</a></td>";
        
$mode "marital";
echo 
"    <td bgcolor='".$color."' style='".$style."'><a href='view.php?mode=".base64_encode($mode)."'>E. Civil</a></td>";
        
$mode "preference";
echo 
"    <td bgcolor='".$color."' style='".$style."'><a href='view.php?mode=".base64_encode($mode)."'>Pref. Sexual</a></td>";
        
$mode "location";
echo 
"    <td bgcolor='".$color."' style='".$style."'><a href='view.php?mode=".base64_encode($mode)."'>Ubicación</a></td>";
        
$mode "email";
echo 
"    <td bgcolor='".$color."' style='".$style."'><a href='view.php?mode=".base64_encode($mode)."'>E-mail</a></td>";
        
$mode "website";
echo 
"    <td bgcolor='".$color."' style='".$style."'><a href='view.php?mode=".base64_encode($mode)."'>Sitio Web</a></td>
        </tr>"
;

while(
$array mysql_fetch_array ($cad)) {

   if (
$colorfila==0){
       
$color"#EAEAEA";
       
$style="font-family:Arial, Helvetica, sans-serif; font-size:12px;";
       
$colorfila=1;
    }else{
       
$color="#F1F1F1";
       
$style="font-family:Arial, Helvetica, sans-serif; font-size:12px;";
       
$colorfila=0;
    }

    echo 
"<tr bgcolor='".$color."' style='".$style."' onmouseover=\"this.style.background='#FFFFFF'\" onmouseout=\"this.style.background='".$color."'\"> 
    <td>"
.$array['id']."</td>
    <td>"
.$array['username']."</td>
    <td>"
.$array['age']."</td>
    <td>"
.$array['sex']."</td>
    <td>"
.$array['marital']."</td>
    <td>"
.$array['preference']."</td>
    <td>"
.$array['location']."</td>
    <td><a style='text-decoration:none' href='mailto:"
.$array['email']."'>".$array['email']."</td>
    <td><a style='text-decoration:none' target='_blank' href='"
.$array['website']."'>".$array['website']."</td>
    </tr>"
;
}
echo 
"</table>";


// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
//echo "<p>";
//if ($pg <> 0)
//{
//$url = $pg - 1;
//echo "<a href='alternarcolores.php?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
//}
//else {
//echo " ";
//}

//for ($i = 0; $i<($pages + 1); $i++) {
//if ($i == $pg) {
//echo "<font face=Arial size=2 color=ff0000><b>&nbsp;$i&nbsp;</b></font>";
//}
//else {
//echo "<a href='alternarcolores.php?pg=".$i."'>".$i."</a>&nbsp;";
//}
//}

//if ($pg < $pages) {
//$url = $pg + 1;
//echo "<a href='alternarcolores.php?pg=".$url."'>Siguiente &raquo;</a>";
//}
//else {
//echo " ";
//}
//echo "</p>";
?>
</div>
</div>
</body>
</html>
Me pueden ayudar?

Gracias.
  #2 (permalink)  
Antiguo 26/12/2007, 07:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Problema con if

Y.................... ¿Cuál es el problema?

Yo lo que no entiendo es por qué haces en el else le asignas a una variable como cadena de texto una instrucción (que habías realizado previamente)

Pero por lo demás, ayudaría una descripción del problema. Supongo que el error será lo que he puesto antes, pero por norma general es mejor describir el problema para ahorrarnos tiempo.
  #3 (permalink)  
Antiguo 26/12/2007, 07:59
Avatar de seinkraft  
Fecha de Ingreso: diciembre-2007
Mensajes: 119
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Problema con if

^^u, bueno el problema es que me tira el error

Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\beast\view.php on line 33

esta asignado asi porque despues en el querry de sql toma la variable $mode_page

para ordenar la tabla dependiendo del genero o de lo que sea.

El problema es que si se ve el archivo view.php (donde esta el codigo) tira error porque no tiene un valor asignado previamente por eso quiero que por medio del if si no tenga un valor previo este por default id pero en el caso de que page_mode sea distinto a la nada en los dos querys se use por default base64_decode($_GET[mode]) asi se puede cambiar el orden de la tabla.

Saludos.
  #4 (permalink)  
Antiguo 26/12/2007, 08:11
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Problema con if

Pero a ti lo que te interesa es el resultado de la instrucción, es decir, el contenido de la variable. De la forma en la que tú lo estás haciendo la consulta SQL sería:

SELECT * FROM users ORDER BY base64_decode($_GET[mode])

Literalmente, eso es lo que tendria que interpretar la Base de Datos, y no creo que lo entienda.....


El error que te da puede ser éste:

Código PHP:
$pegar "SELECT * FROM users ORDER BY "$page_mode""
Falta la concatenación, es decir, un punto entre el cierre de las comillas y la variable. Y sobran unas comillas al final.
  #5 (permalink)  
Antiguo 26/12/2007, 08:20
Avatar de seinkraft  
Fecha de Ingreso: diciembre-2007
Mensajes: 119
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Problema con if

si es cierto, pero si los agrego despues me tira otro error pero se resuelve cambiando una parte del if

Código PHP:
$page_mode base64_decode($_GET[mode]); 
Muchisimas gracias Keysher, siempre salvandome ^^u
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 23:04.