Foros del Web » Programando para Internet » PHP »

Aprendiendo...me ayudan?

Estas en el tema de Aprendiendo...me ayudan? en el foro de PHP en Foros del Web. Verán he creado un código que lo que hace (esto es solo por aprender, ya que php para mi es nuevo), es insertar unos registros ...
  #1 (permalink)  
Antiguo 17/12/2009, 17:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 154
Antigüedad: 15 años, 5 meses
Puntos: 2
Aprendiendo...me ayudan?

Verán he creado un código que lo que hace (esto es solo por aprender, ya que php para mi es nuevo), es insertar unos registros en una base de datos de mysql mediante un formulario.

Con eso ningun problema...el problema viene cuando intento recuperar esos datos para enseñarlos en pantalla en una tabla....alguien me podría dar ideas de cómo hacerlo?

Tengan en cuenta que soy principiante total, llevo 5 dias aprendiendo mediante cursos youtube...xD


De antemano, muchas gracias.
  #2 (permalink)  
Antiguo 17/12/2009, 17:45
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Aprendiendo...me ayudan?

hola por empezar si realmente queres aprender te recomiendo el curso de septimo continente de php y mysql es completisimo son 61 videotutoriales de mas o menos 1 hs. de duracion empieza desde cero y termina con lo mas avanzado y lo entendes re bien yo empeze con ese curso y fue lo mejor para aprender php lo podes descargar gratis de www.videotutoriales.com buscar descargar cursos y buca el curso de php - mysql.

bueno yendo a lo que queres lograr en particular seria de la siguiente manera:

una manera sencilla no la mas segura.

creas un archivo llamado fns.php donde colocas el siguiente script:

Código PHP:
<?php
// definis el nombre de la funcion
function db_connect()
{
// le indicas que se comunique con la db que quieras
$result = @mysql_pconnect("servidor","usuario","password");
if(!
$result)
 return 
false;
if(!
mysql_select_db("database_name"))
return 
false;

return 
$result;

// le tenes que poner los datos de tu db para que funcione
}
?>
luego generas otro archivo con el nombre que quieras donde recuperaras los datos ya que en este archivo anterior solo nos comunicamos con la db:

Código PHP:
<?php
// incluimos el archivo anterior para poder usar la funcion
include ("fns.php");

// usamos la funcion del archivo anterior
$db_conn db_connect();
// realizamos la consulta a la db
$query "select campo1,campo2,campo3,etc from Table_name where campo1='condicion'";
// procesamos el resultado
$result mysql_query($query$db_conn) or die (mysql_error); 

//recuperamos los campos hilera por hilera
// con un loop lo que hacemos es repetir un codigo una cantidad de veces 
// determinadas, en este caso la cantidad es la cantidad de filas que tiene la db

// para esto comvertimos el resultado en un array
while ($array mysql_fetch_array($result))
{
$campo1 $array["campo_name"];
$campo2 $array["campo_name"];
$campo3 $array["campo_name"];
//repetimos esto una ves por campo
}
?>
bueno espero haberte sido de alluda y que todo el codigo este correcto ya que lo fui escribiendo aca mismo y puedo haber cometido algun error.
  #3 (permalink)  
Antiguo 17/12/2009, 17:46
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Aprendiendo...me ayudan?

Debes primero escribir tu consulta SQL y luego pasársela al motor de MySQL con la función mysql_query; esta función devolverá una variable de tipo resource; usas esa variable para obtener los datos con alguna de las funciones mysql_fecth (por ejemplo, mysql_fetch_array). mysql_fecth_array devolverá cada registro resultante de la búsqueda como un array asociativodonde las claves son los nombres de los campos o sus aliases en caso de que los hayas especificado en las consultas. Cuando ya no tenga más registros que devolver, devolverá el valor booleano false, de modo que esta función es muy útil para iterar sobre un ciclo while. El ejemplo:
Código PHP:
$sql="SELECT * FROM usuarios;";
$resultSet=mysql_query($sql);
while(
$registro=mysql_fecth_array($resultSet))
{
    echo 
"nombre: ".$registro['nombre'].", id: ".$registro['id']."<br />";

¡Suerte!
  #4 (permalink)  
Antiguo 17/12/2009, 17:48
Avatar de TheoriaX  
Fecha de Ingreso: agosto-2009
Ubicación: Hermosillo, Sonora
Mensajes: 217
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Aprendiendo...me ayudan?

para recuperar datos es muy facil..es kasi lo mismo que insertar..pero aqui la diferencia..

Código PHP:
//aqui para insertar
$sql_insert="insert into usuario(nombre,email,matricula) values(campo1,campo2,campo3)";

mysql_query($sql_insert);

//ahora para traer datos y pasarlos ala tabla..

$sql_buscar="select * from usuario";
$resultado=mysql_query($sql_buscar);
//codigo html 
Código HTML:
<table>
<tr>
    <td>Nombre</td><td>Email</td><td>Matricula</td>
</tr>
[PHP]
//ahora traemos los datos
while($row=mysql_fetch_array($resultado))
{
    [HTML]
     <tr>
         <td>[PHP]$row['nombre'];[/PHP]</td><td>[PHP]$row['email'];[/PHP]</td><td>[PHP]$row['matricula'];[/PHP]</td>
</tr> 
}
[/PHP]
</table>
[/HTML]


fijate bien porke hago el while adentro de la tabla..lo hago para que al momento de llenar la tabla no mas es ir agregando las columnas y por el contrario si pongo toda la tabla dentro del while se me hara una tabla por cada registro que tenga la BD....

a ver si se entiende..
__________________
Desarrollador .Net y Php
MCTS Framework 2.0:Windows Applications
Microsoft Certificated Profesional
  #5 (permalink)  
Antiguo 17/12/2009, 17:49
Avatar de TheoriaX  
Fecha de Ingreso: agosto-2009
Ubicación: Hermosillo, Sonora
Mensajes: 217
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Aprendiendo...me ayudan?

dios... me ganaron el tiron
__________________
Desarrollador .Net y Php
MCTS Framework 2.0:Windows Applications
Microsoft Certificated Profesional
  #6 (permalink)  
Antiguo 17/12/2009, 17:50
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Aprendiendo...me ayudan?

me olvidaba en la parte de la consulta a la db:

$query = "select campo1,campo2,campo3,etc from Table_name where campo1='condicion'";

hay muchas formas de hacer la consulta depende lo que quieras lograr, podes agrupar el resultado, ordenarlo numericamente o alfebeticamente limitar la cantidad de resultado etc.

pero me parece que eso tendrias que ver algun tutorial dedicado a eso exclusivamente porque es un tema larguito.

yo la consulta que puse lo que hace es recuperar los campos que le indiques (colocando el nombre del campo) y le agregue una condicion o sea que recupera esos campos donde pase algo por ejemplo.

tengo los campos username, tel, email, direccion

recupero los datos tel, email, direccion de la fila donde username sea igual a el nombre del usuario que quieras.
  #7 (permalink)  
Antiguo 17/12/2009, 18:24
 
Fecha de Ingreso: noviembre-2008
Mensajes: 154
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Aprendiendo...me ayudan?

no logro que nincguno de los codigos funcione =S
  #8 (permalink)  
Antiguo 17/12/2009, 18:39
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Aprendiendo...me ayudan?

Postea tu código, COMPLETO, o al menos el error que tira PHP, así podremos ayudarte a depurar tu script. Algunas cosas yo no las incluí porque supuse que ya las harías tú (como conectar al motor de MySQL y seleccionar la base de datos); además, los que pusimos son sólo ejemplos, debes cambiar los datos por los que tu tienes en tu BD (no podemos saber de antemano qué tablas tienes y qué estructura tienen éstas). ¡Suerte!
  #9 (permalink)  
Antiguo 17/12/2009, 18:46
 
Fecha de Ingreso: noviembre-2008
Mensajes: 154
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Aprendiendo...me ayudan?

Vale ahora si funciona:

Código PHP:
<?php

require('config.php');

$query "SELECT * FROM discos"

$result mysql_query($query) or die (mysql_error());  

while (
$array mysql_fetch_array($result)) 

$campo1 $array['id']; 
$campo2 $array['album']; 
$campo3 $array['interprete']; 
$campo4 $array['tipo'];
//repetimos esto una ves por campo 

echo 
'
<table border="1">
<tr>
<td>
ID
</td>
<td>
Album
</td>
<td>
Intterprete
</td>
<td>
Tipo
</td>
</tr>
<tr>
<td>
'
.$campo1.'
</td>
<td>
'
.$campo2.'
</td>
<td>
'
.$campo3.'
</td>
<td>
'
.$campo4.'
</td>
</tr>
</table>'

?>
(En el config.php esta la conexion y todo lo necesario)

Ahora mi siguente problema es: ¿Como pongo TODOS llos valores ke hay en mi tabla mysql en una tabla?
Porq ahora solo logro poner 1 valor de cada campo...
  #10 (permalink)  
Antiguo 17/12/2009, 19:20
 
Fecha de Ingreso: noviembre-2008
Mensajes: 154
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Aprendiendo...me ayudan?

bueno chicos/as tengo ke ir a dormir muchas gracias por la ayuda.
  #11 (permalink)  
Antiguo 17/12/2009, 19:46
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Aprendiendo...me ayudan?

Dentro del while es donde iteras y donde debes imprimir por pantalla tus datos; lo que estás haciendo actualmente sobreescribe las variables donde guardas cada campo por cada vuelta del while, y cuando imprimes las variables (fuera del while), éstas quedaron únicamente con el último valor (pensado desde otro ángulo: ¿cómo pretendes mostrar todos tus registros cuando sólo imprimes una vez?). ¡Suerte!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:06.