Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: antonioska en 11 Marzo 2013, 11:19 am



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]; ?>&nbsp;</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  
include('conexion.php');
$sql = "SELECT * FROM grupos WHERE id='".$id."' LIMIT 1";
$query = mysql_query($sql,$link);
while($row = mysql_fetch_array($query))
  {'
echo
<p align="center">'. $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">'. $row["grupo"].'&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Genero</td>
    <td>'.$row["genero"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Influencias</td>
    <td>'. $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">'. $row["historia"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Integrantes</td>
    <td>'.$row["integrantes"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Facebook</td>
    <td>'. $row["facebook"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Twitter</td>
    <td>'.$row["twitter"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">URL</td>
    <td>'. $row["url"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Contacto</td>
    <td>'. $row["representante"] .' ('. $row["email"].')</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Video</td>
    <td height="300">'. $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>'. $row["disco"].'</td>
  </tr>
</table>
<p align="center">Visto '. $row["hits"].' veces</p>';
}
?>


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  
include('conexion.php');
$sql = "SELECT * FROM grupos WHERE id='".$id."' LIMIT 1";
$query = mysql_query($sql,$link);
while($row = mysql_fetch_array($query))
  {'
echo
<p align="center">'. $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">'. $row["grupo"].'&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Genero</td>
    <td>'.$row["genero"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Influencias</td>
    <td>'. $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">'. $row["historia"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Integrantes</td>
    <td>'.$row["integrantes"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Facebook</td>
    <td>'. $row["facebook"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Twitter</td>
    <td>'.$row["twitter"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">URL</td>
    <td>'. $row["url"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Contacto</td>
    <td>'. $row["representante"] .' ('. $row["email"].')</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Video</td>
    <td height="300">'. $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>'. $row["disco"].'</td>
  </tr>
</table>
<p align="center">Visto '. $row["hits"].' veces</p>';
}
?>


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  
include('conexion.php');
$sql = "SELECT * FROM grupos WHERE id='".$id."' LIMIT 1";
$query = mysql_query($sql,$link);
while($row = mysql_fetch_array($query))
  {'
echo
<p align="center">'. $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">'. $row["grupo"].'&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Genero</td>
    <td>'.$row["genero"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Influencias</td>
    <td>'. $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">'. $row["historia"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Integrantes</td>
    <td>'.$row["integrantes"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Facebook</td>
    <td>'. $row["facebook"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Twitter</td>
    <td>'.$row["twitter"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">URL</td>
    <td>'. $row["url"].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Contacto</td>
    <td>'. $row["representante"] .' ('. $row["email"].')</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Video</td>
    <td height="300">'. $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>'. $row["disco"].'</td>
  </tr>
</table>
<p align="center">Visto '. $row["hits"].' veces</p>';
}
?>


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:

 <td height="300">'. $row["soundcloud1"].'</td>


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

Código:

 <td height="300">'. $row["soundcloud1"].'</td>
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


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  
include('conexion.php'); //suponiendo que la conexión este correctamente
$sql = "SELECT * FROM grupos WHERE id=".((int)$id)." LIMIT 1"; //suponiendo que $id es un valor entero
$query = mysql_query($sql, $link) or exit(mysql_error()); //el exit(mysql_error()) lo pongo para ver si es un error de la consulta, pero una vez estés seguro de que funciona correctamente, borralo, no es una buena práctica poner este tipo de código

if( !$query || mysql_num_rows($query) <= 0 )
  exit('No se encontraron resultados');//también puedes redireccionar o lo que sea

$row = mysql_fetch_assoc($query);

echo
'<p align="center">'. $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">'. $row['grupo'].'&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Genero</td>
    <td>'.$row['genero'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Influencias</td>
    <td>'. $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">'. $row['historia'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Integrantes</td>
    <td>'.$row['integrantes'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Facebook</td>
    <td>'. $row['facebook'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Twitter</td>
    <td>'.$row['twitter'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">URL</td>
    <td>'. $row['url'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Contacto</td>
    <td>'. $row['representante'] .' ('. $row["email"].')</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Video</td>
    <td height="300">'. $row['video1'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Sound Cloud</td>
    <td height="300">'. $row['soundcloud1'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Descarga disco</td>
    <td>'. $row['disco'].'</td>
  </tr>
</table>
<p align="center">Visto '. $row['hits'].' veces</p>';

exit; // o no, si deseas incluir más información

?>

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  
include('conexion.php'); //suponiendo que la conexión este correctamente
$sql = "SELECT * FROM grupos WHERE id=".((int)$id)." LIMIT 1"; //suponiendo que $id es un valor entero
$query = mysql_query($sql, $link) or exit(mysql_error()); //el exit(mysql_error()) lo pongo para ver si es un error de la consulta, pero una vez estés seguro de que funciona correctamente, borralo, no es una buena práctica poner este tipo de código

if( !$query || mysql_num_rows($query) <= 0 )
  exit('No se encontraron resultados');//también puedes redireccionar o lo que sea

$row = mysql_fetch_assoc($query);

echo
'<p align="center">'. $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">'. $row['grupo'].'&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Genero</td>
    <td>'.$row['genero'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Influencias</td>
    <td>'. $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">'. $row['historia'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Integrantes</td>
    <td>'.$row['integrantes'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Facebook</td>
    <td>'. $row['facebook'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Twitter</td>
    <td>'.$row['twitter'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">URL</td>
    <td>'. $row['url'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Contacto</td>
    <td>'. $row['representante'] .' ('. $row["email"].')</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Video</td>
    <td height="300">'. $row['video1'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Sound Cloud</td>
    <td height="300">'. $row['soundcloud1'].'</td>
  </tr>
  <tr>
    <td bgcolor="#0066CC">Descarga disco</td>
    <td>'. $row['disco'].'</td>
  </tr>
</table>
<p align="center">Visto '. $row['hits'].' veces</p>';

exit; // o no, si deseas incluir más información

?>

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
  1. $id=$_GET["id"];
  2. $sql = "SELECT * FROM grupos WHERE id=".((int)$id)." LIMIT 1";
  3.  

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
  1. $id=$_GET["id"];
  2. $sql = "SELECT * FROM grupos WHERE id=".((int)$id)." LIMIT 1";
  3.  

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
  1. //... codigo
  2.  
  3. if(isset($id)){
  4. if(empty($id)) { //con la función empty 0 se considera como vacio
  5. echo "La variable $ id existe pero esta vacia<br>";
  6. }else {
  7. echo "La variable $ id existe y tiene un valor<br>";
  8. }
  9. }
  10. else {
  11. echo "La variable no existe<br>";
  12. }
  13.  
  14. $sql = "SELECT ... etc
  15. //mas codigo
  16.  
  17.  


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  
include('conexion.php');

$id = (int)$_GET['id'];

$sql = "SELECT * FROM grupos WHERE id=".$id." LIMIT 1";
$query = mysql_query($sql, $link) or exit(mysql_error());

if( !$query || mysql_num_rows($query) <= 0 )
  exit('No se encontraron resultados');

$row = mysql_fetch_assoc($query);

//... demás código ...

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
  1. //... codigo
  2.  
  3. if(isset($id)){
  4. if(empty($id)) { //con la función empty 0 se considera como vacio
  5. echo "La variable $ id existe pero esta vacia<br>";
  6. }else {
  7. echo "La variable $ id existe y tiene un valor<br>";
  8. }
  9. }
  10. else {
  11. echo "La variable no existe<br>";
  12. }
  13.  
  14. $sql = "SELECT ... etc
  15. //mas codigo
  16.  
  17.  

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  
include('conexion.php');

$id = (int)$_GET['id'];

$sql = "SELECT * FROM grupos WHERE id=".$id." LIMIT 1";
$query = mysql_query($sql, $link) or exit(mysql_error());

if( !$query || mysql_num_rows($query) <= 0 )
  exit('No se encontraron resultados');

$row = mysql_fetch_assoc($query);

//... demás código ...

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&iacute;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>&nbsp;</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.