Foros del Web » Programando para Internet » PHP »

Error al insertar codigo html y mostrarlo

Estas en el tema de Error al insertar codigo html y mostrarlo en el foro de PHP en Foros del Web. Hola, en una seccion donde muestro fotos con sus respectivas categorias, me gustaria que esas categorias que se muestrar fueran hipervinculos, asi pues lo que ...
  #1 (permalink)  
Antiguo 23/03/2014, 19:02
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Error al insertar codigo html y mostrarlo

Hola, en una seccion donde muestro fotos con sus respectivas categorias, me gustaria que esas categorias que se muestrar fueran hipervinculos, asi pues lo que he intentado ha sido guardarlas en la BD, en cada foto como este ejemplo:
FOTO 1:
Código HTML:
Ver original
  1. <a href="categorias.php?categorias=arboles">arboles</a>,<a href="categorias.php?categorias=playa">playa</a>,<a href="categorias.php?categorias=fresco">fresco</a>
Cada foto tiene varias categorias como ahi hemos visto, pero a la hora de mostrar estas poniendolas de tal forma con los hipervinculos <a></a> me salta un error de syntaxis de las categorias, (cuando no ponia el <a> lo mostraba perfecto, pero sin ser vinculo obviamente). Porque puede ser esto, o como lo podria hacer de otra forma?
un saludo.
  #2 (permalink)  
Antiguo 23/03/2014, 19:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Error al insertar codigo html y mostrarlo

Es un tema ajeno a la base de datos.
La base de datos sólo almacena la direccion que luego será hiperlink. Es el lenguaje de programación la que genera lo necesario para representarlo en la pantalla como tal.

Movido a PHP
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/03/2014, 22:17
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, 6 meses
Puntos: 175
Respuesta: Error al insertar codigo html y mostrarlo

no me es del todo claro tu problema...
__________________
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...
  #4 (permalink)  
Antiguo 24/03/2014, 02:52
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 17
Respuesta: Error al insertar codigo html y mostrarlo

La verdad es que no se entiende muy bien y aparte has puesto poco codigo cosa que es mas dificil ayudarte; en el caso de que el codigo lo imprima un echo has pensado en las comillas "?

Saludos
__________________
Twitter: @ed33x
  #5 (permalink)  
Antiguo 24/03/2014, 07:41
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error al insertar codigo html y mostrarlo

Ok, si no se entiende lo pongo aqui, aunque sigo sin entender el porque no funciona, dado que si que me muestra y mostraba cualquier codigo html que tenia guardado en la bd siempre, y si que me mostraba tambien las categorias,pero es poner los <a></a> y..., aqui va como esta ahora:

Código PHP:
Ver original
  1. $id = $_GET['id'];
  2. $query_Urlfo = "SELECT * FROM fotos WHERE id=$id";
  3. $Urlfo = mysql_query($query_Urlfo, $local) or die(mysql_error());
  4. $row_Urlfo = mysql_fetch_assoc($Urlfo);
  5. $totalRows_Urlfo = mysql_num_rows($Urlfo);

Código HTML:
Ver original
  1.             <tr>
  2.               <td class="infoVi1">Categorias:</td>
  3.               <td class="infoVi2"><?php echo $row_Urlfo['categoria']; ?></td>
  4.             </tr>
  5.           </table>
Retomo el problema: Quiero hacer que esaas categorias que se muestran en cada foto sean hiperlinks es decir que en la BD se guarden como <a href="linkasupropiapag.php">playa</a>
pero me muestra este error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pcategorias.php?categorias=playa">playa, montañas, arboles, ri' at line 1

Y en la BD se supone que los estoy almacenando asi, FOTO1 categorias:
Código HTML:
Ver original
  1. <a href="categorias.php?categorias=arboles">arboles</a>,<a href="categorias.php?categorias=playa">playa</a>,<a href="categorias.php?categorias=fresco">fresco</a>

Última edición por warywin; 24/03/2014 a las 07:53
  #6 (permalink)  
Antiguo 24/03/2014, 08:00
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error al insertar codigo html y mostrarlo

Estoy probandolo ponerlo asi:
Código PHP:
Ver original
  1. <table>
  2.             <tr>
  3.               <td class="infoVi1">Categorias:</td>
  4.               <td class="infoVi2"><a href="pcategorias.php?categorias='.<?php echo $row_Urlembed['categoria']; ?>.'"><?php echo $row_Urlembed['categoria']; ?></a></td>
  5.             </tr>
  6.           </table>
pero envuelvo a todas las categorias como un unico hiperlink dado que es una cadena almacenada en la bd y no va una por una.. :(

Tambine he probado a poner en la BD con SOLO UNA categoria el hiperlink y si que funciona, de tal modo:
Código HTML:
Ver original
  1. <a href="pcategorias.php?categorias=playa">playa</a>
Asique deduzco que sera el problema de las categorias concatenadas con comas y al tomarlo en si como cadena.. playa, bosque, arboles...

Última edición por warywin; 24/03/2014 a las 08:08
  #7 (permalink)  
Antiguo 24/03/2014, 08:38
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, 6 meses
Puntos: 175
Respuesta: Error al insertar codigo html y mostrarlo

No es buena idea guardar HTML separado por comas (,) en la base de datos dando por hecho que al traerlos el PHP o lo que sea lo va a interpretar como cosas separadas... pero ya hiciste lo correcto... saludos
__________________
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...
  #8 (permalink)  
Antiguo 24/03/2014, 09:45
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error al insertar codigo html y mostrarlo

Cita:
Iniciado por loncho_rojas Ver Mensaje
pero ya hiciste lo correcto... saludos
Nono, aun no me va, me sigue dando error no he resuelto el problema, sigo a la espera de que alguien me aclare un poco la vista.
  #9 (permalink)  
Antiguo 24/03/2014, 10:12
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 17
Respuesta: Error al insertar codigo html y mostrarlo

warywin te estas liando que da gusto... jajajaj

Por este camino vas bien:

Código PHP:
Ver original
  1. <table>
  2.             <tr>
  3.               <td class="infoVi1">Categorias:</td>
  4.               <td class="infoVi2"><a href="pcategorias.php?categorias='.<?php echo $row_Urlembed['categoria']; ?>.'"><?php echo $row_Urlembed['categoria']; ?></a></td>
  5.             </tr>
  6.           </table>

Luego otro punto no guardes elementos HTML en la db por que es innecesario. Te recomiendo que guardes SOLO el nombre de la categoria en un campo de la DB y luego realices un foreach o while para recorrer ese valor y justo como el codigo que te acabo de poner anterior mente vas bien.

Saludos
__________________
Twitter: @ed33x
  #10 (permalink)  
Antiguo 24/03/2014, 10:55
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error al insertar codigo html y mostrarlo

pero si los nombres de las categorias ya estan en el campo 'categoria' , solo que cada foto tiene varias categorias concatenadas. Segun estas diciendo el orden en mi BD tendria que ser: la categoria TAL tendria que tener Nosecuantasfotos. y no como lo tengo ahora que es al reves, Foto tiene Tantas categorias. No existe ninguna manera de que la BD no confunda las comas con los hiperlinks o algo¿
  #11 (permalink)  
Antiguo 24/03/2014, 11:32
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 17
Respuesta: Error al insertar codigo html y mostrarlo

Cita:
No existe ninguna manera de que la BD no confunda las comas con los hiperlinks o algo¿
Busca sobre explode de PHP.
__________________
Twitter: @ed33x
  #12 (permalink)  
Antiguo 24/03/2014, 11:53
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, 6 meses
Puntos: 175
Respuesta: Error al insertar codigo html y mostrarlo

Podrías exportar tu BD y mostrar la esturctura que tiene y luego por lo menos 2 o 3 filas de su contenido... tipo

ESTRUCTURA:
Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `solucionarios` (
  2.   `id_material` INT(10) NOT NULL AUTO_INCREMENT,
  3.   `id_ciclo` INT(10) NOT NULL,
  4.   `id_materia` INT(10) NOT NULL,
  5.   `curso` INT(15) NOT NULL,
  6.   `material` VARCHAR(250) COLLATE latin1_spanish_ci NOT NULL,
  7.   `documento` VARCHAR(250) COLLATE latin1_spanish_ci NOT NULL,
  8.   `rar` VARCHAR(250) COLLATE latin1_spanish_ci NOT NULL,
  9.   PRIMARY KEY (`id_material`)
  10. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=13 ;

ALGUNAS FILAS:
Código SQL:
Ver original
  1. INSERT INTO `solucionarios` (`id_material`, `id_ciclo`, `id_materia`, `curso`, `material`, `documento`, `rar`) VALUES
  2. (1, 1, 4, 1, 'Matem&aacute;tica 1', 'SOL-matematica-1-PC.pdf', 'SOL-matematica-1-PC.rar'),
  3. (2, 1, 4, 2, 'Matem&aacute;tica 2', 'SOL-matematica-2-PC.pdf', 'SOL-matematica-2-PC.rar'),
  4. (3, 1, 4, 3, 'Matem&aacute;tica 3', 'SOL-matematica-3-PC.pdf', 'SOL-matematica-3-PC.rar'),
__________________
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...
  #13 (permalink)  
Antiguo 24/03/2014, 12:58
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error al insertar codigo html y mostrarlo

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `fotos` (
  2.   `id` INT(10) NOT NULL AUTO_INCREMENT,
  3.   `categoria` VARCHAR(100) latin1_swedish_ci NOT NULL,
  4.   `titulo` VARCHAR(50) latin1_swedish_ci NOT NULL,
  5.   `foto` VARCHAR(150) latin1_swedish_ci NOT NULL,
  6.   PRIMARY KEY (`id`)
  7. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci  ;
Código SQL:
Ver original
  1. INSERT INTO `fotos` (`categoria`, `titulo`, `foto`) VALUES
  2. ( 'playa,bosques,rios', 'Mi lugar favorito', 'linkdefoto1'),
  3. ('montañas,mar,aire', 'Lugar 2 ', 'linkfoto2'),
  4. ('rio,aire,bosque', 'Lugar 3', 'linkfoto3'),

Para meter las categorias lo tengo puesto con un explode, asi las concatena con comas, voy a ver para mostrarlas....
  #14 (permalink)  
Antiguo 24/03/2014, 13:49
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, 6 meses
Puntos: 175
Respuesta: Error al insertar codigo html y mostrarlo

y Urlembed de donde saldría... no está en el código que pasas... de todas formas... creo que le problema está en que metes muchas categorías en un campo VARCHAR y despues quieres obtener todas por separado... pero no muestas como llegas a separarlas, puede que ahi esté tambien el problema, ten en cuenta que no estamos en tu computadora y tú nos muestras solo lo que tú crees que es el problema y no podemos deducirlo de manera global... si no es mucha molestia, podrías postear el código completo?
__________________
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...
  #15 (permalink)  
Antiguo 24/03/2014, 14:13
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error al insertar codigo html y mostrarlo

Cita:
Iniciado por loncho_rojas Ver Mensaje
pero no muestas como llegas a separarlas
ahi esta la cosa, que no los separo he intentado hacer

Código PHP:
Ver original
  1. $categ = explode(",",$row_Urlembed['categoria']);

Código HTML:
Ver original
  1. <td class="infoVi2"><a href="pcategorias.php?categorias=<?php $categ ?>"><?php echo $row_Urlembed['categoria']; ?></a></td
pero nada de nada
  #16 (permalink)  
Antiguo 25/03/2014, 16:34
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error al insertar codigo html y mostrarlo

Alguien me puede ayudar por favor? sigo mirando como poder separar la cadena como un array para que el hiperlink coja cada categoria pero no me sale, con un split o explode y foreach...
Hago algo asi pero nada..

Código PHP:
Ver original
  1. $categ = explode(",",$row_Urlembed['categoria']);

Código PHP:
Ver original
  1. <td class="infoVi2"><a href="pcategorias.php?categorias=<?php foreach($categ as $key) {echo '"'.$key;} ?>"><?php echo $row_Urlembed['categoria'] ?></a></td>

Última edición por warywin; 25/03/2014 a las 17:01
  #17 (permalink)  
Antiguo 25/03/2014, 20:20
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, 6 meses
Puntos: 175
Respuesta: Error al insertar codigo html y mostrarlo

Pues deberías leer un poquito del manual no? http://www.php.net/manual/es/function.explode.php Pudieras hacer el explode e imprimirlo con print_r() o un list().. como lo colocas en los enlaces ya es cosa de que veas que resultados obtienes.
__________________
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...
  #18 (permalink)  
Antiguo 27/03/2014, 19:16
 
Fecha de Ingreso: marzo-2014
Ubicación: Santa Ana
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Respuesta: Error al insertar codigo html y mostrarlo

Yo lo haria de la siguiente manera:
Código PHP:
Ver original
  1. $consulta= mysql_query("SELECT * FROM tabla_categorias ORDER BY nombre_categoria");
  2. while ($row = mysql_fetch_row($consulta)){
  3. echo '<a href="categorias.php?id='.$row["id"].'"'></a>'.$row["foto"].'<br />'.$row["nombre_categoria"]';
  4. }

Espero no equivocarme en el codigo, lo escribi algo rapido. Como dicen es mejor tarde que nunca, espero ayudarte.

--------------------------------------------
Recuerda siempre: "Haz bien, sin mirar a quien."
www.sebla-sv.com

Última edición por victsand88; 27/03/2014 a las 20:09 Razón: el codigo estaba mal escrito

Etiquetas: bases-de-datos-general, html
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 21:15.