Foros del Web » Programando para Internet » PHP »

Ayuda con links de una consulta mysql_fetch_array()

Estas en el tema de Ayuda con links de una consulta mysql_fetch_array() en el foro de PHP en Foros del Web. Hola a todos, explico mi problema, lo que pasa es que cuando realizo mi consulta $sql_grupos = "SELECT * FROM grupos"; Me devuelve un valor ...
  #1 (permalink)  
Antiguo 26/02/2011, 16:15
Avatar de AsderPunk  
Fecha de Ingreso: agosto-2010
Mensajes: 39
Antigüedad: 13 años, 8 meses
Puntos: 3
Ayuda con links de una consulta mysql_fetch_array()

Hola a todos, explico mi problema, lo que pasa es que cuando realizo mi consulta
$sql_grupos = "SELECT * FROM grupos";

Me devuelve un valor para los links de esta pagina junto con otros los cuales recorro con un ciclo while pero si en la tabla tiene espacios no me pone todo el link sino hasta donde termina el primer nombre y sigue el espacio, he leido que con trim() se eliminan pero eso no me funciono aparte que tambien uso strtolower() para hacer todo en minusculas.

Por ejemplo, el resultado es ACCESORIOS el link debe quedar:
--->http://www.(miweb).com/index_accesorios.php

Hasta este momento todo va de maravilla pero si el resultado es AUDIO Y VIDEO
el link me lo deja incompleto:
--->http://www.(miweb).com/index_audio

Esto no se como cambiarselo para que me quede todo completo y sin espacios asi:
--->http://www.(miweb).com/index_audioyvideo.php

Debajo esta el codigo que uso:

Cita:
<?php
$conexion = mysql_connect("localhost","root","");
mysql_select_db("dinacom",$conexion);
$sql_grupos = "SELECT * FROM grupos";
if($grupos = mysql_query($sql_grupos,$conexion))
{
echo "<table border=0 align=center cellpadding=0 cellspacing=0>";
echo "<tr>";
while($nom_grupos = mysql_fetch_array($grupos))
{
..............
..codigo..
..............
echo "<div align=right class=lista_comp>";
echo "<a href=index_" . strtolower(trim($nom_grupos['Grupo'])) . ".php>";
echo "Ver Productos&nbsp;<img src=images/ir.png></a>&nbsp;&nbsp;";
echo "</div>";
}
echo "</table>";
}
Espero que me puedan ayudar y aprender de ustedes, cualquier comentario, duda o critica es aceptada.

Saludos..!!
  #2 (permalink)  
Antiguo 26/02/2011, 16:21
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con links de una consulta mysql_fetch_array()

trim() solo elimina espacios al principio y final de la cadena
Usa str_replace(" ", "", $variable)
http://www.php.net/manual/en/function.str-replace.php
  #3 (permalink)  
Antiguo 26/02/2011, 16:22
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Ayuda con links de una consulta mysql_fetch_array()

Te paso una función para hacerlo:

Código PHP:
Ver original
  1. function slug($string, $replacement = '-') {
  2.     $map = array(
  3.         '/à|á|å|â/' => 'a',
  4.         '/è|é|ê|ẽ|ë/' => 'e',
  5.         '/ì|í|î/' => 'i',
  6.         '/ò|ó|ô|ø/' => 'o',
  7.         '/ù|ú|ů|û/' => 'u',
  8.         '/ç/' => 'c',
  9.         '/ñ/' => 'n',
  10.         '/ä|æ/' => 'ae',
  11.         '/ö/' => 'oe',
  12.         '/ü/' => 'ue',
  13.         '/Ä/' => 'Ae',
  14.         '/Ü/' => 'Ue',
  15.         '/Ö/' => 'Oe',
  16.         '/ß/' => 'ss',
  17.         '/[^\w\s]/' => ' ',
  18.         '/\\s+/' => $replacement,
  19.         sprintf('/^[%s]+|[%s]+$/', preg_quote($replacement, '/'), preg_quote($replacement, '/')) => '',
  20.     );
  21.     $string = preg_replace(array_keys($map), array_values($map), $string);
  22.     return $string;
  23. }

luego la usás así:

Código PHP:
Ver original
  1. echo "<a href=index_" . strtolowers(slug($nom_grupos['Grupo'])) . ".php>";
  #4 (permalink)  
Antiguo 26/02/2011, 23:42
Avatar de AsderPunk  
Fecha de Ingreso: agosto-2010
Mensajes: 39
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ayuda con links de una consulta mysql_fetch_array()

GRACIAS ronruby y walterdevel por sus respuestas.

Aca dejo el codigo por si alguien tiene la misma duda:

Cita:
echo "<div align=right class=lista_comp style='font-size:12px;'>";
echo "<a href=index_" . str_replace(" ","",strtolower($nom_grupos['Grupo'])) . ".php>";
echo "Ver Productos&nbsp;<img src=images/ir.png></a>&nbsp;&nbsp;";
echo "</div>";

Etiquetas: consultasmysql, fetch_array, links
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 11:38.