Foros del Web » Programando para Internet » PHP »

Ayuda con str_replace

Estas en el tema de Ayuda con str_replace en el foro de PHP en Foros del Web. Saludos tengo un pequeño problema que espero me ayuden a solucionar. Tengo una cadena de esta forma: $qry = "SELECT * FROM token WHERE token ...
  #1 (permalink)  
Antiguo 02/02/2010, 14:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Ayuda con str_replace

Saludos tengo un pequeño problema que espero me ayuden a solucionar.

Tengo una cadena de esta forma:

$qry = "SELECT * FROM token WHERE token = token"

y necesito reemplazar todas las apariciones de token por los valores en un array como este:

$reemplazos = (0=>'usuarios', 1=>'nombre', 2=>'pedro');

y que quede algo así: "SELECT * FROM usuarios WHERE nombre = pedro";

Intenté con el str_replace asi: $qry = str_replace('token', $reemplazos, $qry), pero me reemplaza token por la palabra 'Array', entonces no sé si es necesario que el parámetro de búsqueda también sea un array.
Gracias de antemano por la ayuda.

Última edición por rdos; 02/02/2010 a las 14:08
  #2 (permalink)  
Antiguo 02/02/2010, 14:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con str_replace

Cita:
Iniciado por rdos Ver Mensaje
[...] entonces no sé si es necesario que el parámetros de búsqueda también sea un array. [...]
que te parece si consultas el manual??
http://php.net/str_replace
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/02/2010, 14:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayuda con str_replace

Eso fue lo primero que hice desde luego, pero ahí no se especifica qué ocurre en este caso, solamente que cualquiera de los dos parámetros puede ser Array.
  #4 (permalink)  
Antiguo 02/02/2010, 14:17
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Ayuda con str_replace

Eh.. si que lo dice...

Cita:
Iniciado por php.net
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

If search is an array and replace is a string, then this replacement string is used for every value of search . The converse would not make sense, though.
  #5 (permalink)  
Antiguo 02/02/2010, 14:23
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayuda con str_replace

Bueno pues entonces creo que entendí mal, pero a mi modo de ver ahí mencionan el caso donde se tiene un array de búsquedas y una cadena para reemplazar y mi caso es el opuesto.
  #6 (permalink)  
Antiguo 02/02/2010, 14:26
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Ayuda con str_replace

Se supone que va a cambiar X cantidad de elementos Array, por X cantidad de elementos array..

sin embargo le dices que cambie solo la palabra TOKEN, por $reemplazos, a lo cual, no sabe que rayos poner porque no tiene parametros indicados en cierta cadena, que en este caso es tu consulta

En ese manual hay un ejemplo muy claro que te puede servir

Código PHP:
Ver original
  1. // Provides: You should eat pizza, beer, and ice cream every day
  2. $phrase  = "You should eat fruits, vegetables, and fiber every day.";
  3. $healthy = array("fruits", "vegetables", "fiber");
  4. $yummy   = array("pizza", "beer", "ice cream");
  5.  
  6. $newphrase = str_replace($healthy, $yummy, $phrase);

es cuestion de que crees TOKENSE, TOKENLE, TONKENME y hagas algo muuuuuuuy, similar a COPY PASTE
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 02/02/2010, 14:35
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayuda con str_replace

Esa alternativa ya la habia contemplado y en ese caso no tendría problema, lo que pasa es que tengo consultas con mas de 100 campos, entonces crear un token con algo al lado para reemplazar después me resultaría bastante tedioso.
  #8 (permalink)  
Antiguo 02/02/2010, 14:40
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Ayuda con str_replace

y crea variables, en vez de TOKEN, que si el usuario introduce cierta variable pues solo se cambian segun lo que el usuario eleigio o tu elegiste, es mas practico que un str_replace

o sea

$tabla = $_POST['campoForm'];
$campo = $_POST['campoForm2'];
$parametro = $_POST['campoForm3'];

$qry = "SELECT * FROM $tabla WHERE $campo = $parametro"

o algo asi, donde lo controles por medio de select o campos dinamicos.. creo yo que es mas practico, y mas adecuado
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: str_replace
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:10.