Foros del Web » Programando para Internet » PHP »

str_replace ???

Estas en el tema de str_replace ??? en el foro de PHP en Foros del Web. Hola, estoy modificando un formulario dinamico de busqueda y tengo problemas con la funcion php. Muchos campos de la base de datos estan escritos en ...
  #1 (permalink)  
Antiguo 12/02/2007, 13:53
Avatar de p4lm1  
Fecha de Ingreso: febrero-2007
Ubicación: Muelheim en Alemania
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
str_replace ???

Hola, estoy modificando un formulario dinamico de busqueda y tengo problemas con la funcion php. Muchos campos de la base de datos estan escritos en aleman, asi q cuando los llamo, debo hacer q aparezcan en ingles. este es un ejemplo de lo q he hecho y no me da ningun resultado:

$query= "SELECT DISTINCT(Bildart) FROM BilderExtraInfos WHERE Bildart <> '' ORDER BY Bildart ASC";

if ($debug) {
echo $query."<br><br><br>";
}

if (($erg = mysql_query ($query)) == FALSE)
{
echo "Fehler bei der SQL-Abfrage: Fehlercode " . mysql_errno () . " - " . mysql_error ();
}
else {

$selTemp="";

$selTemp="<select name='Bildart[]' id='Bildart' size='5' multiple><option value=''>- No Preferences -</option>";
$arr = mysql_fetch_array($erg);
$arr = str_replace("farbe","colour",$arr);
$arr = str_replace("grau","black/white",$arr);


while ($arr)
{

$selTemp= $selTemp."<option value=' ".$arr['Bildart']." '>".$arr['Bildart']."</option>";
}
$selTemp= $selTemp."</select>";
$template->setVariable('Bildart',"".$selTemp);
}

He puesto en rojo el cambio del str_replace, ojala alguno pueda ayudarme!!
  #2 (permalink)  
Antiguo 12/02/2007, 16:06
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
Re: str_replace ???

Que datos regresa la consulta ?
  #3 (permalink)  
Antiguo 12/02/2007, 16:12
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: str_replace ???

Falta que asignes a una variable los valores de tu consulta, te pido de favor que cheques esta liga http://mx2.php.net/manual/en/functio...etch-array.php

Saludillos.
  #4 (permalink)  
Antiguo 12/02/2007, 16:22
Avatar de p4lm1  
Fecha de Ingreso: febrero-2007
Ubicación: Muelheim en Alemania
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: str_replace ???

erlingfiallos: me da esto:

Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/gallery2_testing/modules/anzeige/searchform.php on line 196
  #5 (permalink)  
Antiguo 12/02/2007, 16:30
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 18 años, 9 meses
Puntos: 1
Re: str_replace ???

podriamos saber que hay en la linea 196 esta haciendo que el script demore mucho en ejecutarse , podria ser un ciclo grande o infinito o recorrer un vector de impresionantes dimensiones
  #6 (permalink)  
Antiguo 12/02/2007, 16:34
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
Re: str_replace ???

Tu tienes esta linea asi
Código PHP:
if (($erg mysql_query ($query)) == FALSE
cambiemosla a para simplificarla

Código PHP:
if (!$query mysql_query ($query)) 
y $arr = mysql_fetch_array($erg); deberias de escribirla como $arr = mysql_fetch_array($erg, MYSQL_ASSOC);

Ahora.. en $arr = str_replace("farbe","colour",$arr); a la variable $arr le hace falta una asignacion.. recuerda que es una matriz.. y que debes de seleccionar el campo que regresa la BD.. me refiero a que deberia de ser algo como $arr = str_replace("farbe","colour",$arr['campoBD']);
  #7 (permalink)  
Antiguo 12/02/2007, 16:37
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: str_replace ???

Hola

Bueno, no entiendo algunas funciones de tu codigo, pero yo lo haria asi

<?
$link = mysql_connect("localhost","root","");
mysql_select_db("FabianChacon-Centrodebelleza");

$query= "SELECT DISTINCT(Bildart) FROM BilderExtraInfos WHERE Bildart <> '' ORDER BY Bildart ASC";

if ($debug) {
echo $query."<br><br><br>";
}

if (($erg = mysql_query ($query)) == FALSE)
{
echo "Fehler bei der SQL-Abfrage: Fehlercode " . mysql_errno () . " - " . mysql_error ();
}
else {
?>
<select name='Bildart' id='Bildart' size='5' multiple>
<option value=''>- No Preferences -</option>
<?
while ($arr = mysql_fetch_array($erg))
{
$arr[0] = str_replace("farbe", "colour",$arr[0]);
$arr[0] = str_replace("grau", "black/white",$arr[0]);
?>

<option value="<?=$arr[0]?>"><?=$arr[0]?></option>";
<?
}
?>
</select>
<?
}
?>

Suerte
  #8 (permalink)  
Antiguo 12/02/2007, 16:39
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: str_replace ???

Hola

El error es porque al ser un fetch_array, tiene que asignarse valores como si fuera un array, en el codigo no esta eso, y por eso es que el excede el tiempo, trata de hacerlo pero no puede resolverlo

Suerte
  #9 (permalink)  
Antiguo 14/02/2007, 15:43
Avatar de p4lm1  
Fecha de Ingreso: febrero-2007
Ubicación: Muelheim en Alemania
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: str_replace ???

El cambio de los strings funciono bien, pero ahora no recibo ningun resultado.
el nuevo codigo es el siguiente:
while ($arr = mysql_fetch_array ($erg))

{

$arr['Bildart']=str_replace("farbe","Colour",$arr['Bildart']);
$arr['Bildart']=str_replace("grau","Black/White",$arr['Bildart']);



$selTemp= $selTemp."<option value='".$arr['Bildart']."'>".$arr['Bildart']."</option>";
}
$selTemp= $selTemp."</select>";

Última edición por p4lm1; 14/02/2007 a las 17:19
  #10 (permalink)  
Antiguo 14/02/2007, 17:37
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: str_replace ???

Hola

Bueno, pues el codigo del while no es pues funciona bien, me parece que es algo de la variable en la que concatenas el select

prueba esto

<select name='Bildart' id='Bildart' size='5' multiple>
<option value=''>- No Preferences -</option>
<?
while ($arr = mysql_fetch_array($erg))
{
$arr['Bildart'] = str_replace("farbe", "Colour",$arr['Bildart']);
$arr['Bildart'] = str_replace("grau", "Black/White",$arr['Bildart']);
?>

<option value="<?=$arr['Bildart']?>"><?=$arr['Bildart']?></option>";
<?
}
?>
</select>

suerte
  #11 (permalink)  
Antiguo 14/02/2007, 17:51
Avatar de p4lm1  
Fecha de Ingreso: febrero-2007
Ubicación: Muelheim en Alemania
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: str_replace ???

gracias patron, pero no funciona :(
  #12 (permalink)  
Antiguo 16/02/2007, 10:08
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: str_replace ???

Hola


Bueno, pues a mi me funciona bien!!

prueba creando otro archivo llamado prueba.php y pegale este codigo:

<?
// en mysql_connect cambia los parametros a los tuyos
$link = mysql_connect("localhost","root","root");
// y en mysql_select_db pon el nombre de tu base de datos
mysql_select_db("FabianChacon-Centrodebelleza");

$query= "SELECT DISTINCT(Bildart) FROM BilderExtraInfos WHERE Bildart <> '' ORDER BY Bildart ASC";

if ($debug) {
echo $query."<br><br><br>";
}

if (($erg = mysql_query ($query)) == FALSE)
{
echo "Fehler bei der SQL-Abfrage: Fehlercode " . mysql_errno () . " - " . mysql_error ();
}
else {
?>
<select name='Bildart' id='Bildart' size='5' multiple>
<option value=''>- No Preferences -</option>
<?
while ($arr = mysql_fetch_array($erg))
{
$arr['Bildart'] = str_replace("farbe", "Colour",$arr['Bildart']);
$arr['Bildart'] = str_replace("grau", "Black/White",$arr['Bildart']);
?>

<option value="<?=$arr['Bildart']?>"><?=$arr['Bildart']?></option>";
<?
}
?>
</select>
<?
}
?>

Oye, y una pregunta, que navegador usas??? prueba en firefox, suerte.
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 19:41.