Ayuda impresion de datos por id php mysql

Iniciado por antonioska, 11 Marzo 2013, 11:19 AM

0 Miembros y 2 Visitantes están viendo este tema.

antonioska

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

CitarCREATE 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

moikano→@

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/

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.

basickdagger

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




<?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>';
}
?>



1mpuls0

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.
abc

antonioska

Cita de: moikano→@ en 11 Marzo 2013, 12:36 PM
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/

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");
?>

antonioska

Cita de: 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




<?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

antonioska

Cita de: Darhius 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.

Muchas gracias por tomarte el tiempo de contestar y ayudarme, checandolo

antonioska

Cita de: 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




<?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>

basickdagger

se me fue ese echo borrarlo quitalo quedaría asi



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

antonioska

Cita de: basickdagger en 12 Marzo 2013, 07:27 AM
se me fue ese echo borrarlo quitalo quedaría asi



<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