Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] colocar una url

Estas en el tema de colocar una url en el foro de PHP en Foros del Web. hola, estoy generando un archivo y tengo una variable que es una url, la idea es que genere por un lado una url cuando existe ...
  #1 (permalink)  
Antiguo 13/06/2014, 14:21
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 2 meses
Puntos: 0
colocar una url

hola, estoy generando un archivo y tengo una variable que es una url, la idea es que genere por un lado una url cuando existe y cuando no existe genere otra. el valor recogido en la etiqueta cmt es "f", el mismo deberia ser sustituido por una url cuando existe y por otra cuando no .se me ocurrio el siguiente codigo pero no funciona, el archivo es generado pero la variable impresa es solo la primerano tiene en cuenta el if que marco en rojo :

Código PHP:
<?php
include ("conecta.php");

$file=fopen("1.kml","a") or die("Problemas");
        
fputs($file,"<?xml version='1.0' encoding='UTF-8'?><kml xmlns='http://www.opengis.net/kml/2.2'>\n");
      
fputs($file,"<Document>\n");
      
$query "SELECT * FROM datosgpx";
        
        
mysql_select_db ("datosgpx");
        
$result mysql_query($query);
    
        if (
$result
        {
            while(
$row mysql_fetch_array($result)) 
            {
        
                
$fecha $row["fecha"];
                
$lat   $row["lat"];
                
$lon   $row["lon"];
                
$ele   $row["ele"];
                
$name  $row["name"];
                
$cmt   $row["cmt"];


parte problematica!

[
SIZE="5"][COLOR="Red"][COLOR="DarkOrchid"]

                if(
$cmt == "f"){
                               
$cmt "http://maps.google.com/mapfiles/kml/paddle/ltblu-blank.png";
                               }
                                 else{
                                     
$cmt "http://maps.google.com/mapfiles/kml/paddle/ylw-blank.png";
                                     }
                    
[/
COLOR][/COLOR][/SIZE]


                
                
fputs($file,"<Placemark><name>$name</name> <description>$fecha</description> <Style id='randomColorIcon'><IconStyle><scale>1.1</scale><Icon><href>$cmt</href></Icon></IconStyle></Style><Point><coordinates>$lat, $lon,$ele</coordinates></Point></Placemark>");
            }
        }
        else
        {
            echo 
mysql_error();
        }
  
fputs($file,"</Document></kml>");
  
  
fclose($file);
   
mysql_close();
 
?>
agradezco cualquie ayuda. gracias.
  #2 (permalink)  
Antiguo 13/06/2014, 16:34
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: colocar una url

Prueba de esta forma:

Coloca esto justo debajo de la variable $result = mysql_query...
Código PHP:
Ver original
  1. $url = 'http://maps.google.com/mapfiles/kml/paddle/';

Elimina toda esa condicional if() y reemplaza la variable $row['cmt'] con una de estas dos, dependiendo de lo que necesites.

Código PHP:
Ver original
  1. // Si tu salida no acepta null
  2.  
  3. $cmt = (!empty $row['cmt'] and $row['cmt'] == 'f') ? $url .'ltblu-blank.png' : $url .'ylw-blank.png';
  4.  
  5. // Si acepta null
  6.  
  7. $cmt = !empty $row['cmt'] ? ($row['cmt'] == 'f' ? $url .'ltblu-blank.png' : $url .'ylw-blank.png') : null;
  #3 (permalink)  
Antiguo 13/06/2014, 17:58
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: colocar una url

muchas gracias por tu tiempo metacortex, te cuento que el campo cmt acepta null, probe las dos formas que me recomendaste y no me funciono, este es el error que me dio.

Parse error: syntax error, unexpected '$row' (T_VARIABLE), expecting '(' in C:\xampp\htdocs\patricia\creakml.php on line 23



por las dudas te pongo el codigo soy novato y...:

Código PHP:
Ver original
  1. <?php
  2. include ("conecta.php");
  3.  
  4. $file=fopen("1.kml","a") or die("Problemas");
  5.       fputs($file,"<?xml version='1.0' encoding='UTF-8'?><kml xmlns='http://www.opengis.net/kml/2.2'>\n");
  6.       fputs($file,"<Document>\n");
  7.      
  8. $query = "SELECT * FROM datosgpx";
  9.        
  10.         mysql_select_db ("datosgpx");
  11.         $result = mysql_query($query);
  12.         $url = 'http://maps.google.com/mapfiles/kml/paddle/';
  13.         if ($result)
  14.         {
  15.             while($row = mysql_fetch_array($result))
  16.             {
  17.        
  18.                 $fecha = $row["fecha"];
  19.                 $lat   = $row["lat"];
  20.                 $lon   = $row["lon"];
  21.                 $ele   = $row["ele"];
  22.                 $name  = $row["name"];
  23.                 $cmt = !empty $row['cmt'] ? ($row['cmt'] == 'f' ? $url .'ltblu-blank.png' : $url .'ylw-blank.png') : null;     
  24.                
  25.                 fputs($file,"<Placemark><name>L$name</name> <description> Nano 2 Led. $fecha Equipo: 1</description> <Style id='randomColorIcon'><IconStyle><scale>1.1</scale><Icon><href>$cmt</href></Icon></IconStyle></Style><Point><coordinates>$lat, $lon,$ele</coordinates></Point></Placemark>");
  26.             }
  27.         }
  28.         else
  29.         {
  30.             echo mysql_error();
  31.         }
  32.   fputs($file,"</Document></kml>");
  33.  
  34.   fclose($file);
  35.    mysql_close();
  36.  ?>
  #4 (permalink)  
Antiguo 13/06/2014, 18:02
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: colocar una url

empty() es una funcion no un "operador" asi que los parentesis son obligatorios

Código PHP:
Ver original
  1. cmt = !empty($row['cmt']) ? .. : ...
__________________
Salu2!
  #5 (permalink)  
Antiguo 13/06/2014, 18:22
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: colocar una url

gracias nuevamente por tu respuesta, pasa algo extraño:

Notice: Undefined index: name in C:\xampp\htdocs\patricia\creakml.php on line 22

esto en cada consulta. la linea la puse asi:

$cmt = !empty ($row['cmt']) ? ($row['cmt'] == 'f' ? $url .'ltblu-blank.png' : $url .'ylw-blank.png') : null;
  #6 (permalink)  
Antiguo 13/06/2014, 18:27
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: colocar una url

Cita:
Iniciado por Italico76 Ver Mensaje
empty() es una funcion no un "operador" asi que los parentesis son obligatorios

Código PHP:
Ver original
  1. cmt = !empty($row['cmt']) ? .. : ...
Hubieses dejado que lo descubriera él solito jejeje.
  #7 (permalink)  
Antiguo 13/06/2014, 18:38
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: colocar una url

gracias igual pero no me funciona,
solo introduce la url en los campos null, en todos los demas no.
  #8 (permalink)  
Antiguo 13/06/2014, 19:18
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: colocar una url

muchas gracias por todo, implemente una solucion practica al problema:

$cmtt = empty ($row['cmt']) ? ($row['cmt'] == 'f' ? $url .'ylw-blank.png' : $url .'ltblu-blank.png') : null;

$cmt = !empty ($row['cmt']) ? ($row['cmt'] == 'f' ? $url .'ltblu-blank.png' : $url .'ylw-blank.png') : null;
gracias nuevamente!

Etiquetas: fecha, mysql, select, url, variable
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 12:15.