Título: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 11 Marzo 2013, 11:19 am Primero muchas gracias por leer mi post.
Les comento soy nuevo en esto, tal vez y tal vez para ustedes es algo bastante fácil, por eso estoy solicitándoles su ayuda. Les comento estoy intentando crear un apartado para mi pagina web de música, en la cual los grupos musicales se puedan registrar, y se cree una pagina en php personal con su logotipo e información, cada registro lleva un id. El problema es que no logro hacer que se impriman los datos como pueden ver a continuación: http://mundobajo.net/prueba/bandas/ish.php Les muestro mi código para ver si ven algún fallo Citar <?php include('conexion.php'); $sql = "SELECT * FROM grupos WHERE id='".$id."' LIMIT 1"; $query = mysql_query($sql,$link); $row = mysql_fetch_assoc($query); ?> <p align="center"><? echo $row[imagen]; ?></p> <table width="641" border="1" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="179" bgcolor="#0066CC">Nombre del grupo</td> <td width="456"><? echo $row[grupo]; ?> </td> </tr> <tr> <td bgcolor="#0066CC">Genero</td> <td><? echo $row[genero]; ?></td> </tr> <tr> <td bgcolor="#0066CC">Influencias</td> <td><? echo $row[influencia]; ?></td> </tr> <tr> <td valign="top" bgcolor="#0066CC"><div align="left">Historia</div> <div align="center"></div></td> <td height="200" valign="top"><? echo $row[historia]; ?></td> </tr> <tr> <td bgcolor="#0066CC">Integrantes</td> <td><? echo $row[integrantes]; ?></td> </tr> <tr> <td bgcolor="#0066CC">Facebook</td> <td><? echo $row[facebook]; ?></td> </tr> <tr> <td bgcolor="#0066CC">Twitter</td> <td><? echo $row[twitter]; ?></td> </tr> <tr> <td bgcolor="#0066CC">URL</td> <td><? echo $row[url]; ?></td> </tr> <tr> <td bgcolor="#0066CC">Contacto</td> <td><? echo $row[representante]; ?> (<? echo $row[email]; ?>)</td> </tr> <tr> <td bgcolor="#0066CC">Video</td> <td height="300"><? echo $row[video1]; ?></td> </tr> <tr> <td bgcolor="#0066CC">Sound Cloud</td> <td height="300"><? echo $row[soundcloud1]; ?></td> </tr> <tr> <td bgcolor="#0066CC">Descarga disco</td> <td><? echo $row[disco]; ?></td> </tr> </table> <p align="center">Visto <? echo $row[hits]; ?> veces</p> y esta es mi base de datos Citar CREATE TABLE `grupos` ( `id` bigint(7) NOT NULL auto_increment, `grupo` varchar(100) NOT NULL default '', `genero` varchar(100) NOT NULL default '', `representante` varchar(100) NOT NULL default '', `email` varchar(100) NOT NULL default '', `url` varchar(100) NOT NULL default '', `facebook` varchar(100) NOT NULL default '', `twitter` varchar(100) NOT NULL default '', `influencia` varchar(100) NOT NULL default '', `historia` longtext NOT NULL, `integrantes` longtext NOT NULL, `video1` longtext NOT NULL, `video2` longtext NOT NULL, `soundcloud1` longtext NOT NULL, `soundcloud2` longtext NOT NULL, `imagen` LONGBLOB NOT NULL, `mostrar` varchar(100) NOT NULL default '', `hits` tinyint(3) NOT NULL default '0', KEY `id` (`id`) ) TYPE=MyISAM Espero alguien me pueda ayudar, gracias :P Título: Re: Ayuda impresion de datos por id php mysql Publicado por: moikano→@ en 11 Marzo 2013, 12:36 pm Hola
Citar $sql = "SELECT * FROM grupos WHERE id='".$id."' LIMIT 1"; $query = mysql_query($sql,$link); $row = mysql_fetch_assoc($query); Primero te diría que usarás mysqli, ya que mysql está desfasado, si usas el modo funciones es muy parecido al uso de mysql. Está página te ayudará bastante: http://php.net/manual/es/ (http://php.net/manual/es/) Si aún así quieres hacer servir ese código tendrás que añadir para que veamos también el archivo conexion.php, si no quieres que veamos los datos de conexión a tu mysql no lo pongas o pon unos falsos, pero puede que esté ahí el fallo ya que la variable $link no sabemos ni de donde sale. Y también podrías especificar, si es que da error, el error que te da al ejecutar el script. Título: Re: Ayuda impresion de datos por id php mysql Publicado por: basickdagger en 11 Marzo 2013, 19:01 pm inténtalo así, no lo probe, pero te explico lo q hice, suponiendo q tu archivo de configuracion este bien.... coloque un while a tu codigo y un fecth array q recorra las posiciones de tu BD y las imprimo en un echo completo concatenando, ami me gusta mas xD aunq de la otra forma tambn funciona, pruebalo y me cuentas si te funciono
Código: <?php Título: Re: Ayuda impresion de datos por id php mysql Publicado por: 1mpuls0 en 11 Marzo 2013, 19:07 pm Hola.
Debe ser $row["campo1"] //el nombre del campo entre comillas dobles o bien puede ser $row[0] //el indice del campo EN EL SELECT no en la tabla. Saludos. Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 12 Marzo 2013, 03:00 am Hola Primero te diría que usarás mysqli, ya que mysql está desfasado, si usas el modo funciones es muy parecido al uso de mysql. Está página te ayudará bastante: http://php.net/manual/es/ (http://php.net/manual/es/) Si aún así quieres hacer servir ese código tendrás que añadir para que veamos también el archivo conexion.php, si no quieres que veamos los datos de conexión a tu mysql no lo pongas o pon unos falsos, pero puede que esté ahí el fallo ya que la variable $link no sabemos ni de donde sale. Y también podrías especificar, si es que da error, el error que te da al ejecutar el script. Hola muchas gracias por responder, te pongo el archivo conexion.php para ver si me puedes ayudar a verificar si hay una falla dentro del mismo Citar <?php $link=mysql_connect("localhost", "USUARIO_DELADB", "MICONTRASEÑA"); mysql_select_db("MI:BASEDEDATOS",$link) OR DIE ("Error: Imposible Conectar"); ?> Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 12 Marzo 2013, 03:02 am inténtalo así, no lo probe, pero te explico lo q hice, suponiendo q tu archivo de configuracion este bien.... coloque un while a tu codigo y un fecth array q recorra las posiciones de tu BD y las imprimo en un echo completo concatenando, ami me gusta mas xD aunq de la otra forma tambn funciona, pruebalo y me cuentas si te funciono Código: <?php Muchas gracias por contestar ;D lo pruebo y te digo si funciono Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 12 Marzo 2013, 03:02 am Hola. Debe ser $row["campo1"] //el nombre del campo entre comillas dobles o bien puede ser $row[0] //el indice del campo EN EL SELECT no en la tabla. Saludos. Muchas gracias por tomarte el tiempo de contestar y ayudarme, checandolo Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 12 Marzo 2013, 03:09 am inténtalo así, no lo probe, pero te explico lo q hice, suponiendo q tu archivo de configuracion este bien.... coloque un while a tu codigo y un fecth array q recorra las posiciones de tu BD y las imprimo en un echo completo concatenando, ami me gusta mas xD aunq de la otra forma tambn funciona, pruebalo y me cuentas si te funciono Código: <?php Hola me mando error Parse error: syntax error, unexpected T_ECHO in /home/mundobaj/public_html/prueba/bandas/prueba1.php on line 53 en la linea 53 esta lo siguiente: Citar <td height="300">'. echo $row["soundcloud1"].'</td> Título: Re: Ayuda impresion de datos por id php mysql Publicado por: basickdagger en 12 Marzo 2013, 07:27 am se me fue ese echo borrarlo quitalo quedaría asi
Código:
Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 12 Marzo 2013, 13:57 pm se me fue ese echo borrarlo quitalo quedaría asi Hola nuevamente, de echo hice eso ayer de quitar el echo, y si ya no arroja error pero me manda a la pagina en blanco Código:
Título: Re: Ayuda impresion de datos por id php mysql Publicado por: s7evin en 12 Marzo 2013, 15:58 pm Buenas tardes
Código: <?php Debes escapar o validar los datos de entrada a tu aplicación SIEMPRE, comprobar que se trata del tipo de datos que estas esperando que vas a recibir, sino podrías encontrarte con "problemas". Por otro lado como ya te han comentado, te recomiendo utilizar MySQLi, es igual o más sencillo de utilizar y muchísimo más intuitivo. También es recomendable que en las consultas a la base de datos, selecciones aquellos campos que necesitas y no selecciones toda la tabla (*), así aligeras la consulta. Además si le asignas 'alias' a cada columna, podrías minimizar el código a 'picar' con un foreach, pero eso ya son elecciones de cada cual. En cuanto al estilo, estaría bien que usaras 'clases' de CSS, así si debes modificar el estilo, tan solo tendrás que modificar la clase y no ir linea por linea modificando el estilo 'inline'. Imagino que es algo que ya tienes en cuenta y harás cuando el código este funcional. No he probado el código ya que no dispongo de tu base de datos jeje espero que te sirva. Cualquier otra duda ya sabes, aquí estamos. Un saludo! Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 13 Marzo 2013, 14:37 pm Buenas tardes Código: <?php Debes escapar o validar los datos de entrada a tu aplicación SIEMPRE, comprobar que se trata del tipo de datos que estas esperando que vas a recibir, sino podrías encontrarte con "problemas". Por otro lado como ya te han comentado, te recomiendo utilizar MySQLi, es igual o más sencillo de utilizar y muchísimo más intuitivo. También es recomendable que en las consultas a la base de datos, selecciones aquellos campos que necesitas y no selecciones toda la tabla (*), así aligeras la consulta. Además si le asignas 'alias' a cada columna, podrías minimizar el código a 'picar' con un foreach, pero eso ya son elecciones de cada cual. En cuanto al estilo, estaría bien que usaras 'clases' de CSS, así si debes modificar el estilo, tan solo tendrás que modificar la clase y no ir linea por linea modificando el estilo 'inline'. Imagino que es algo que ya tienes en cuenta y harás cuando el código este funcional. No he probado el código ya que no dispongo de tu base de datos jeje espero que te sirva. Cualquier otra duda ya sabes, aquí estamos. Un saludo! Buen dia, Primero que nada excelente tu forma de explicar ;-) Y sobre mysql, soy sincero soy nuevo en esto de las bases de datos, la verdad no lo se utilizar muy bien Por otra parte, exactamente al lograr que funcione, ya cambiare el diseño y añadire su respectivo style css para que sea mas rapida su edicion. y por ultimo con respecto al codigo que me dejaste me arroja lo siguiente: No se encontraron resultados Pero en la base de datos ya tengo generados 2 id, que seria 1 y 2 te pongo la url: www.mundobajo.net/prueba/bandas/prueba1.php?id=1 mi base de datos es la siguiente no se si sea ahi el problema Citar CREATE TABLE `grupos` ( `id` bigint(7) NOT NULL auto_increment, `grupo` varchar(100) NOT NULL default '', `genero` varchar(100) NOT NULL default '', `representante` varchar(100) NOT NULL default '', `email` varchar(100) NOT NULL default '', `url` varchar(100) NOT NULL default '', `facebook` varchar(100) NOT NULL default '', `twitter` varchar(100) NOT NULL default '', `influencia` varchar(100) NOT NULL default '', `historia` longtext NOT NULL, `integrantes` longtext NOT NULL, `video1` longtext NOT NULL, `video2` longtext NOT NULL, `soundcloud1` longtext NOT NULL, `soundcloud2` longtext NOT NULL, `imagen` LONGBLOB NOT NULL, `mostrar` varchar(100) NOT NULL default '', `hits` tinyint(3) NOT NULL default '0', KEY `id` (`id`) ) TYPE=MyISAM Y mi archivo conexion.php es el siguiente Citar <?php $link=mysql_connect("localhost", "mi_usuario", "micontraseña"); mysql_select_db("mi_basededatos",$link) OR DIE ("Error: Imposible Conectar"); ?> Muchas gracias por tu gran ayuda Título: Re: Ayuda impresion de datos por id php mysql Publicado por: 1mpuls0 en 13 Marzo 2013, 16:45 pm xD
Algo que te recomiendo muchisisisimo es que imprimas tu consulta y la ejecutes en tu SMBD directamente así podrás ver en donde está el error en tu consulta. Intenta con get Código
Saludos Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 14 Marzo 2013, 08:42 am xD Algo que te recomiendo muchisisisimo es que imprimas tu consulta y la ejecutes en tu SMBD directamente así podrás ver en donde está el error en tu consulta. Este consejo lo he dado a muchos y muchos no lo siguen pero cuando ven que funciona les digo TE LO DIJE!. Intenta con get Código
Saludos Hola, muchas gracias por contestar. Ya lo hice y me arroja el mismo error, NO SE ENCONTRARON DATOS :( Título: Re: Ayuda impresion de datos por id php mysql Publicado por: 1mpuls0 en 14 Marzo 2013, 17:39 pm Hola, muchas gracias por contestar. Ya lo hice y me arroja el mismo error, NO SE ENCONTRARON DATOS :( Es por lo que te menciono por eso es importante que imprimas tu consulta xD echo $sql; Te debe mostrar un resultado como SELECT * FROM grupos WHERE id=0 LIMIT 1 y por eso el resultado es 0, entonces es porque no está recibiendo una variable. En tu base de datos cambia el id 1 por el 0 y verás que te arroja ese resultado (antes de ejecutar prueba1.php verifica que si se haya modificado el id. Saludos. Título: Re: Ayuda impresion de datos por id php mysql Publicado por: 1mpuls0 en 14 Marzo 2013, 17:49 pm Coloca la siguiente validación antes de $sql, a ver que resultados te arroja.
Código
Título: Re: Ayuda impresion de datos por id php mysql Publicado por: s7evin en 15 Marzo 2013, 13:34 pm Si lo que estas haciendo es copiar el código que te estamos proporcionando y pergarlo en un script para su posterior 'ejecución', lo que te falta recoger el valor de 'id' de la url (GET):
Código: <?php pensé que lo estabas recogiendo con anterioridad en alguna otra parte del script que no nos estabas mostrando... prueba a ver si es eso :) Saludos! PD: si tampoco devuelve resultados ni tampoco errores de SQL, debe ser que esa tabla (`grupos`) está vacía... Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 16 Marzo 2013, 02:55 am Coloca la siguiente validación antes de $sql, a ver que resultados te arroja. Código
Hola, nuevamenet gracias por contestar, ya hice lo que me dijiste y me arroja lo siguiente: La variable no existe, tambien ya cambie en mi base de datos el id 1 por 0 http://mundobajo.net/prueba/bandas/prueba3.php (http://mundobajo.net/prueba/bandas/db.JPG) Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 16 Marzo 2013, 02:59 am Si lo que estas haciendo es copiar el código que te estamos proporcionando y pergarlo en un script para su posterior 'ejecución', lo que te falta recoger el valor de 'id' de la url (GET): Código: <?php pensé que lo estabas recogiendo con anterioridad en alguna otra parte del script que no nos estabas mostrando... prueba a ver si es eso :) Saludos! PD: si tampoco devuelve resultados ni tampoco errores de SQL, debe ser que esa tabla (`grupos`) está vacía... muchas gracias por contestar como me lo has dicho a funcionado correctamente y ya me arroja resultados http://mundobajo.net/prueba/bandas/prueba1.php?id=1 Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 16 Marzo 2013, 03:04 am ya quedo lista la impresion de datos ahora el problema es que no logro que pueda subir la imagen a la base de datos, alguien sabra a que se deba el error?
Título: Re: Ayuda impresion de datos por id php mysql Publicado por: s7evin en 18 Marzo 2013, 09:06 am ya quedo lista la impresion de datos ahora el problema es que no logro que pueda subir la imagen a la base de datos, alguien sabra a que se deba el error? Mmm... depende de lo que entiendas con "subir la imagen a la base de datos" y depende de como lo estés haciendo, hay varias formas de subir una imagen a un servidor, si nos muestras parte del código te podemos ayudar a encontrar el error. Espero que no estés guardando "la imagen" en la base de datos, sino su relativa/absoluta ruta en el servidor jeje Un saludo! Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 19 Marzo 2013, 08:22 am Mmm... depende de lo que entiendas con "subir la imagen a la base de datos" y depende de como lo estés haciendo, hay varias formas de subir una imagen a un servidor, si nos muestras parte del código te podemos ayudar a encontrar el error. Espero que no estés guardando "la imagen" en la base de datos, sino su relativa/absoluta ruta en el servidor jeje Un saludo! Hola muchas gracias por contestar nuevamente, te comento lo de la imagen ya lo puse solucionar, ahora tengo otro problema con el formulario de envió, ya lo tengo echo y funciona correctamente envía todo a la base de datos, lo que ahora busco es que se puedan validar los datos del formulario e impedir inyecciones sql Te muestro mis codigos. Formulario Citar <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> <style type="text/css"> <!-- body,td,th { color: #FFFFFF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; } body { background-color: #000000; } --> </style></head> <body> <form id="form1" name="form1" method="post" action="envia.php"> <p>Nombre de tu grupo</p> <p> <label> <input type="text" name="grupo" id="grupo" /> </label> </p> <p>genero </p> <p> <label> <input type="text" name="genero" id="genero" /> </label> </p> <p>representante</p> <p> <label> <input type="text" name="representante" id="representante" /> </label> </p> <p>correo</p> <p> <label> <input type="text" name="email" id="email" /> </label> </p> <p>url</p> <p> <label> <input type="text" name="url" id="url" /> </label> </p> <p>facebook</p> <p> <label> <input type="text" name="facebook" id="facebook" /> </label> </p> <p>twitter </p> <p> <label> <input type="text" name="twitter" id="twitter" /> </label> </p> <p>influencia</p> <p> <label> <input type="text" name="influencia" id="influencia" /> </label> </p> <p>historia</p> <p> <label> <textarea name="historia" id="historia" cols="45" rows="5"></textarea> </label> </p> <p>integrantes</p> <p> <label> <input type="text" name="integrantes" id="integrantes" /> </label> </p> <p>video</p> <p> <label> <textarea name="video1" id="video1" cols="45" rows="5"></textarea> </label> </p> <p>video 2</p> <p> <label> <textarea name="video2" id="video2" cols="45" rows="5"></textarea> </label> </p> <p>soundcloud</p> <p> <label> <textarea name="soundcloud1" id="soundcloud1" cols="45" rows="5"></textarea> </label> </p> <p>soundcloud</p> <p> <label> <textarea name="soundcloud2" id="soundcloud2" cols="45" rows="5"></textarea> </label> </p> <p>imagenes</p> <p> <label> <input type="text" name="imagen" id="imagen" /> </label> </p> <p> <label> <input type="submit" name="button" id="button" value="Enviar" /> </label> </p> </form> <p> </p> </body> </html> Función de envió Citar <?php $grupo = $_REQUEST['grupo'] ; $genero = $_REQUEST['genero'] ; $representante = $_REQUEST['representante'] ; $email = $_REQUEST['email'] ; $url = $_REQUEST['url'] ; $facebook = $_REQUEST['facebook'] ; $twitter = $_REQUEST['twitter'] ; $incluencia = $_REQUEST['influencia'] ; $historia = $_REQUEST['historia'] ; $integrantes = $_REQUEST['integrantes'] ; $video1 = $_REQUEST['video1'] ; $video2 = $_REQUEST['video2'] ; $soundcloud1 = $_REQUEST['soundcloud1'] ; $soundcloud2 = $_REQUEST['soundcloud2'] ; $confirmacion = "Estos son los datos que has introducido. Muchas gracias por tu participación:<br /><br />Nombre: $grupo <br />Genero: $genero"; mysql_connect ('localhost', 'miusuario', 'contraseña') or die ('Error: ' . mysql_error()); mysql_select_db ('basededatos'); $query="INSERT INTO tabladelabasededatos (grupo, genero, representante, email, url, facebook, twitter, influencia, historia, integrantes, video1, video2, soundcloud1, soundcloud2) VALUES ('$grupo', '$genero', '$representante', '$email', '$url', '$facebook', '$twitter', '$influencias', '$historia', '$integrantes', '$video1', '$video2', '$soundcloud1', '$soundcloud2')"; mysql_query($query) or die ('Error en la carga de datos'); mail($email, "Asunto del mensaje", $confirmacion, "From: antonio@mundobajo.net"); header("location:http://mundobajo.net/okay.php") ?> espero me puedas ayudar, y muchas gracias por todo el apoyo. saludos Título: Re: Ayuda impresion de datos por id php mysql Publicado por: 1mpuls0 en 20 Marzo 2013, 16:45 pm muchas gracias por contestar como me lo has dicho a funcionado correctamente y ya me arroja resultados http://mundobajo.net/prueba/bandas/prueba1.php?id=1 :¬¬ en un comentario anterior te comenté que utilizaras get para recibir la variable, pero que bueno que ya está. Saludos. Título: Re: Ayuda impresion de datos por id php mysql Publicado por: antonioska en 21 Marzo 2013, 08:59 am :¬¬ en un comentario anterior te comenté que utilizaras get para recibir la variable, pero que bueno que ya está. :-( Saludos. muchísimas gracias por todo su apoyo de verdad, creo que es de los pocos foros donde si apoyan sin atacar nuevamente gracias saludos Título: Re: Ayuda impresion de datos por id php mysql Publicado por: 1mpuls0 en 22 Marzo 2013, 16:43 pm :-( muchísimas gracias por todo su apoyo de verdad, creo que es de los pocos foros donde si apoyan sin atacar nuevamente gracias saludos No te creas tanto eso, más bien depende de lo que pidas y como lo hagas. A veces hasta los moderadores y colaboradores se ponen en plan troll jajaja, pero en lo general si es buen foro. Saludos Título: Re: Ayuda impresion de datos por id php mysql Publicado por: z3nth10n en 30 Marzo 2013, 13:15 pm Una pregunta me pueden dejar el codigo términado, es que lo necesito para mi web...
Es que soy nuevo, y no tengo mucha idea de MySQL, es paa tener alguna base. Gracias. :) --- Da igual, ya hice yo una version. |