Foros del Web » Programando para Internet » PHP »

Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQL

Estas en el tema de Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQL en el foro de PHP en Foros del Web. Hola .. bueno disculpen de nuevo jeje.. eh mi problema ahora es con un SIMPLE STR_REPLACE nu entiendo el PORKE EL ERROR.. si probe primero ...
  #1 (permalink)  
Antiguo 25/04/2009, 18:43
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQL

Hola .. bueno disculpen de nuevo jeje.. eh mi problema ahora es con un SIMPLE STR_REPLACE nu entiendo el PORKE EL ERROR.. si probe primero en un ejercicio simple y me salio perfecto .. miren el code :

Código PHP:
<?php
 $url
='Baladas/Floricienta/Floricienta%20-%20Porque.html';
 
$url2 'Floricienta';
 
$url3 str_replace('/'.$var2.'/','/',$var1);
 echo 
$url3;

//Resultado : 'Baladas/Floricienta%20-%20Porque.html' 
?>
Ahora lo probe en con una consulta MYSQL EN PHP Y NO ME SALE NADA.. LO RECONOCE COMO IGUAL .. CON LA url originaria POR FAVOR PODRIAN VER EN DONDE FALLO GRACIAS DE ANTEMANO ESTE ES EL CODE:

Código PHP:
<?php

include(conexion.php);
$sqlGeneroNot mysql_query("select artista, cancion, url from canciones $clausula ORDER BY RAND() LIMIT 1,100")
                            or die(
mysql_error);

// otra vez usanod un bucle while
while($rowNot mysql_fetch_array($sqlGeneroNot)){
  
$var1$rowNot["url"];
 
$url2 $rowNot["artista"];
 
$url3 str_replace('/'.$url2.'/','/',$var1);


    echo 
"\n<song path='http://d149.dinaserver.com/hosting/elpricipal.org/DATA-DFGDF5FG6/$url3' title='$rowNot[artista] - $rowNot[cancion]'/>\n";

}
?>
  #2 (permalink)  
Antiguo 25/04/2009, 18:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

Imprime el valor de $var1, $url2 y $url3 para saber si realmente tienen el valor que esperas que tengan.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 25/04/2009, 19:01
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

Si imprimen los valores si los reconoce.. Pero nu reemplaza no se si te das cuenta en el primero...! Ese de ahi si funciona.. Pero nu se que pasa.. Con esto..!

ESTE FUNCIONA .. PERO CUANDO LO PASO A BASE DE DATOS.. NU SE QUE PASA .. :( AYUDA URGENTE..!
Código PHP:
<?php 
 $url
='Baladas/Floricienta/Floricienta%20-%20Porque.html'
 
$url2 'Floricienta'
 
$url3 str_replace('/'.$var2.'/','/',$var1); 
 echo 
$url3

//Resultado : 'Baladas/Floricienta%20-%20Porque.html'  
?>
  #4 (permalink)  
Antiguo 25/04/2009, 19:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

Haz un echo de los valores y muéstranos qué tiene cada uno.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 25/04/2009, 19:17
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

MIRA AL IMPRIMIR.... ME SALE ESTO :

Baladas/Floricienta/Floricienta%20-%20Porque.html
Floricienta
Baladas/Floricienta/Floricienta%20-%20Porque.html

y que esta de mas decir.. que me sale esos resultados.. por laz 3 variables .. declaras en el STR_REPLACE.. nu se en donde fallo nu ENTIENDO ME ESTA VOLVIENDO LOKO .. :(
  #6 (permalink)  
Antiguo 25/04/2009, 19:20
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

Prueba pasando $url2 por trim(), tal vez tengas espacios u otros caracteres que impidan el correcto reemplazo.

  #7 (permalink)  
Antiguo 25/04/2009, 19:36
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

Pues no es eso.. porque en este CODE:
Código PHP:
<?php  
 $url
='Baladas/Floricienta/Floricienta%20-%20Porque.html';  
 
$url2 'Floricienta';  
 
$url3 str_replace('/'.$url2.'/','/',$url);  
 echo 
$url3;  

//Resultado : 'Baladas/Floricienta%20-%20Porque.html'   
?>
Y EN SI EL RESULTADO ME SALE CON ESPACIOS.. EN ESTE CASO %20
me sale perfectamente.. si reemplaza.. pero la cosa es que cuando .. las variables.. los reemplazo por un.. una variable row me sale que nu reemplaza nada y eso que hise lo que dijiste que haga un ECHO.. pero igual :8
  #8 (permalink)  
Antiguo 25/04/2009, 19:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

Haz lo que te dijo okram, prueba a pasar un trim() a $url2, ya que es posible que haya un espacio por allí en la base de datos.

Además, ¿de dónde sale $var2 y $var1?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 25/04/2009, 19:39
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

No me refier a espacios incrustados en la cadena! Leiste para qué sirve trim()?. Aplícalo sobre $url2 que es el texto a reemplazar, ya que no es lo mismo buscar "/Floricienta/" que "/ Floricienta/".

Por otro lado, prueba a usar str_ireplace() (¿debo decir qué es lo que hace?)


Última edición por okram; 25/04/2009 a las 19:41 Razón: Otro choque! Saludos David! - Corrigiendo función str_ireplace()
  #10 (permalink)  
Antiguo 25/04/2009, 19:40
upm
 
Fecha de Ingreso: abril-2009
Mensajes: 10
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

Si no reemplaza es porque el patrón no coincide ... quizás el caracter "/" que viene de la base de datos viene codificado en utf-8 u otro tipo de codificación.

Última edición por upm; 25/04/2009 a las 19:45
  #11 (permalink)  
Antiguo 25/04/2009, 19:40
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

YA HISE EL TRIM EN URL2 ..PERO NI ASI ME SIGUE SALIENDO EL ERROR..! EN VERDAD .. NU SE QUE TIENE.. OJO EN LA BASE DE DATOS.. ESTAN INGRESADOS.. ASI.. :
Alternativo/Afi%20-%20Another%20Earthquake.Skm


Y NU SE.. !
  #12 (permalink)  
Antiguo 25/04/2009, 19:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

Si lo copiaste el dato tal cual, no tiene barra inicial, así que no se realizaría el reemplazo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 27/04/2009, 17:01
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

Si viene la Barra en la base de datos.. "/" ASI KE NU DEBERIA HABER PROBLEMA EN EL REEMPLAZO.. NU ENTIENDO EL PORKE EL PROBLEMA EN VERDAD.. JODER.. :( Y YA FUNCIONE CON STR_IREPLACE y me sigue saliendo el BENDITO PROBLEMA .. NO ENTIENDO PORKE CAIGO EN COSAS TAN SIMPLES .. AYUDA .. IDEAS POR FAVOR :(
  #14 (permalink)  
Antiguo 27/04/2009, 21:52
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda!!: Error con un "str_replace" Recibiendo DATOS desde una CONSULTA SQ

JODER, POR QUÉ $%&$%& USAS MAYÚSCULAS EN TUS MENSAJES? APARTE DE SER MUY MOLESTO PARA LEER ES SEÑAL DE EXIGENCIA, LO CUÀL NO ES BIENVENIDO AQUÍ!

Diciendo "prueba así" y tu respondiendo "no funciona" no vamos a llegar a ningún lago. Puedes poner el código tal y como lo tienes ahora (con el trim() que sugerimos, el str_ireplace() y los echos de prueba que haces con sus respectivas salidas)? Así será más fácil ver el error.

Y DEJA DE USAR MAYÚSCULAS!

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 10:29.