Foros del Web » Programando para Internet » PHP »

Problemas al igualar 2 variables

Estas en el tema de Problemas al igualar 2 variables en el foro de PHP en Foros del Web. Hola, que tal? Con PHP estoy construyendo un select option: Código PHP: $fecha  =  "1995-11-15" ; $var  =  explode ( '-' , $fecha ); echo  ...
  #1 (permalink)  
Antiguo 06/09/2011, 14:26
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Problemas al igualar 2 variables

Hola, que tal?

Con PHP estoy construyendo un select option:
Código PHP:
$fecha "1995-11-15";
$var explode('-',$fecha);
echo 
"<select name='dias' id='dias'>";
echo 
"<option value='0'></option>"
for (
$i 1$i <= 31$i++){
if (
$i == $var[2]){
echo 
"<option value='".$i."' selected>".$i."</option>"
}else{
echo 
"<option value='".$i."'>".$i."</option>"
}}
echo 
"</select>";

Porque a la hora que el FOR llega a 15, no entra al IF para imprimir el option selected?

Gracias por su ayuda!
  #2 (permalink)  
Antiguo 06/09/2011, 14:29
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Problemas al igualar 2 variables

Te sobra la llave del final y ese código selecciona correctamente el día 15, cual es el problema o que quieres que haga el código?

Código PHP:
Ver original
  1. <?php
  2. $fecha = "1995-11-15";
  3. $var = explode('-', $fecha);
  4. echo "<select name='dias' id='dias'>";
  5. echo "<option value='0'></option>";
  6. for ($i = 1; $i <= 31; $i++) {
  7.     if ($i == $var[2]) {
  8.         echo "<option value='" . $i . "' selected>" . $i . "</option>";
  9.     } else {
  10.         echo "<option value='" . $i . "'>" . $i . "</option>";
  11.     }
  12. }
  13. echo "</select>";
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 06/09/2011, 14:34
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 3 meses
Puntos: 51
Respuesta: Problemas al igualar 2 variables

También podés probar con pasar la variable de string a integer:

cambiás:

Código PHP:
Ver original
  1. if ($i == $var[2]){

por esto:


Código PHP:
Ver original
  1. if ($i == intval($var[2])){
  #4 (permalink)  
Antiguo 06/09/2011, 14:40
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: Problemas al igualar 2 variables

Tienes razon, ese codigo funciona, quise hacer un ejemplo pero mi ejemplo funciono bien jaja, el problema esta aca:

Código PHP:
include 'conexion.php'
    
conectar(); 
    
$fecha=mysql_query("SELECT fecha FROM amigos where amigo_id = '6'");
    
$variable=mysql_fetch_row($fecha);
    
$var explode('-',$variable[0]);
    
desconectar();
function 
generarDias()
{
echo 
"<select name='dias' id='dias'>";
echo 
"<option value='0'></option>"
for (
$i 1$i <= 31$i++){
if (
$i == $var[2]){
echo 
"<option value='".$i."' selected>".$i."</option>"
}else{
echo 
"<option value='".$i."'>".$i."</option>"
}}
echo 
"</select>";
}
echo 
generarDias(); 
La fecha que recoge es: 1995-11-15
  #5 (permalink)  
Antiguo 06/09/2011, 14:43
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Problemas al igualar 2 variables

se supone que ese tipo de conversiones las hace automácticamente PHP. Ya me tenías pensando jajaja.

quitale las comillas amigo_id = '6'"

Lee esto: Ámbito de las variables

pásale como parámetro la fecha a la función. Saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 06/09/2011, 14:55
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: Problemas al igualar 2 variables

Ahora si funciona perfecto, pero porque es que funciona cuando pongo la variable como parametro y de la otra forma no?
  #7 (permalink)  
Antiguo 06/09/2011, 14:56
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Problemas al igualar 2 variables

Cita:
Iniciado por morfasto Ver Mensaje
Ahora si funciona perfecto, pero porque es que funciona cuando pongo la variable como parametro y de la otra forma no?
Este ejemplo ilustra tu problema:

Código PHP:
Ver original
  1. <?php
  2. $a = 1; /* ámbito global */
  3.  
  4. function test()
  5. {
  6.     echo $a; /* referencia a una variable del ámbito local */
  7. }
  8.  
  9. test();
  10. ?>

Lee esto para que aprendas más:

http://php.net/manual/es/language.variables.scope.php
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: igualar, variables
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:56.