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
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
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.
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"].' </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.
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.
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/ (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");
?>
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"].' </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
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
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"].' </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>
se me fue ese echo borrarlo quitalo quedaría asi
<td height="300">'. $row["soundcloud1"].'</td>
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
Buenas tardes
<?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'].' </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!
Cita de: s7evin en 12 Marzo 2013, 15:58 PM
Buenas tardes
<?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'].' </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 resultadosPero 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
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
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
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
$id=$_GET["id"];
$sql = "SELECT * FROM grupos WHERE id=".((int)$id)." LIMIT 1";
Saludos
Cita de: Darhius 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. 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
$id=$_GET["id"];
$sql = "SELECT * FROM grupos WHERE id=".((int)$id)." LIMIT 1";
Saludos
Hola, muchas gracias por contestar.
Ya lo hice y me arroja el mismo error, NO SE ENCONTRARON DATOS :(
Cita de: antonioska en 14 Marzo 2013, 08:42 AM
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.
Coloca la siguiente validación antes de $sql, a ver que resultados te arroja.
//... codigo
if(isset($id)){
if(empty($id)) { //con la función empty 0 se considera como vacio
echo "La variable $ id existe pero esta vacia<br>";
}else {
echo "La variable $ id existe y tiene un valor<br>";
}
}
else {
echo "La variable no existe<br>";
}
$sql = "SELECT ... etc
//mas codigo
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):
<?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...
Cita de: Darhius en 14 Marzo 2013, 17:49 PM
Coloca la siguiente validación antes de $sql, a ver que resultados te arroja.
//... codigo
if(isset($id)){
if(empty($id)) { //con la función empty 0 se considera como vacio
echo "La variable $ id existe pero esta vacia<br>";
}else {
echo "La variable $ id existe y tiene un valor<br>";
}
}
else {
echo "La variable no existe<br>";
}
$sql = "SELECT ... etc
//mas codigo
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)
Cita de: 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):
<?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
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?
Cita de: 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?
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!
Cita de: s7evin en 18 Marzo 2013, 09:06 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
Cita de: antonioska en 16 Marzo 2013, 02:59 AM
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.
Cita de: Darhius en 20 Marzo 2013, 16:45 PM
:¬¬ 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
Cita de: antonioska en 21 Marzo 2013, 08:59 AM
:-(
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
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.