Foros del Web » Programando para Internet » PHP »

Una ayudita con base de datos!!

Estas en el tema de Una ayudita con base de datos!! en el foro de PHP en Foros del Web. Bueno cada vez aprendo un poco mas gracias a todos ustedes los foreros que participan aqui especifimanete y obviamente a san google. Bueno el problema ...
  #1 (permalink)  
Antiguo 11/04/2009, 12:38
Avatar de teoman15  
Fecha de Ingreso: enero-2009
Ubicación: cartago- colombia
Mensajes: 150
Antigüedad: 15 años, 3 meses
Puntos: 6
Pregunta Una ayudita con base de datos!!

Bueno cada vez aprendo un poco mas gracias a todos ustedes los foreros que participan aqui especifimanete y obviamente a san google.

Bueno el problema es este, quiero hacer esto:

Hacer que en el index aparezca lo que ya tengo guardado en la base de datos, por ejemplo ponerlo asi:

Código PHP:
echo $fraseuno;
echo 
$frasedos
Y que aparezca todo lo referente a esta variable, que esta guardado en la bd.

Soy muy novato en esto, hice la parte del SELECT, pero pues al darle el valor al WHERE pues me toca ponerlo idfrase = '1' asi

Código PHP:
$query mysql_query("SELECT idfrase,cuerpo FROM frases WHERE idfrase = '1'") or die(mysql_error());
$data mysql_fetch_array($query);
$fraseuno $data['cuerpo'];
$query mysql_query("SELECT idfrase,cuerpo FROM frases WHERE idfrase = '2'") or die(mysql_error());
$data mysql_fetch_array($query);
$frasedos $data['cuerpo']; 
Como podria acortar todo este proceso, me tiene cabezon esto

Gracias por leerme y colaborar salu2
  #2 (permalink)  
Antiguo 11/04/2009, 12:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Una ayudita con base de datos!!

Si quieres que aparezcan todas las frases (registros de la base de datos) debes dejarlo sin filtrar (sin el WHERE [condición]) y hacer un bucle para recorrer todos los datos obtenidos:
Código php:
Ver original
  1. while ($fila = mysql_fetch_assoc($query)) {
  2.    // Procesar datos $fila
  3. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 11/04/2009, 12:52
Avatar de teoman15  
Fecha de Ingreso: enero-2009
Ubicación: cartago- colombia
Mensajes: 150
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Una ayudita con base de datos!!

ok gracias, pero si quiero mostrar el id numero 1, disculpa la ignorancia o el 2?
  #4 (permalink)  
Antiguo 11/04/2009, 13:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Una ayudita con base de datos!!

No entendí muy bien lo que quieres hacer. ¿Quieres mostrar todos los datos o sólo algunos? Ya que, como te dije, si quieres mostrar todos los datos basta con dejar la consulta sin filtrar y recorrer el resultado con un bucle while.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 11/04/2009, 13:07
Avatar de teoman15  
Fecha de Ingreso: enero-2009
Ubicación: cartago- colombia
Mensajes: 150
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Una ayudita con base de datos!!

no quiero mostrar solo unos datos no todos.
  #6 (permalink)  
Antiguo 11/04/2009, 13:07
 
Fecha de Ingreso: marzo-2008
Mensajes: 51
Antigüedad: 16 años
Puntos: 1
Respuesta: Una ayudita con base de datos!!

No te enrrolles que esto es sencillo... Para consultas especificas colocas el where, si quieres la totalidad de filas en la tabla lo quitas..
Si quieres que salgan algunos registro pones un Like en la consulta...

luego haces:

Código PHP:
   $String="select bla bla bla";
   
$mysql=mysql_query($string$link); 
si quieres acceder a los datos puedes colocarlos en una fila
Código PHP:
$fila=mysql_fetch_array($mysql); 
No tienes que hacer esa consulta cada ves que quieras acceder a la variable almacenada en la columna cuerpo.. con una sola consulta sin el where te salen todos, ademas si solo quieres donde la idfrase sea 1 y 2, creo que con un "or" prodria funcionarte ya que la bd te arrojara los dos resultados.. "where idfrase=1 or idfrase=2"

Para acceder a las columnas de la fila solo le das el indice a la variable $fila, ya sea $fila[0]; o $fila['nombre'];

y si son varias filas las que te va a devolver la consulta, haces un while:
Código PHP:
while($fila=mysql_fetch_array($mysql)) 

Última edición por rafaelovalles; 11/04/2009 a las 13:14
  #7 (permalink)  
Antiguo 11/04/2009, 13:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Una ayudita con base de datos!!

Puedes usar, por ejemplo, WHERE...IN:
Código MySQL:
Ver original
  1. SELECT * FROM tabla WHERE campo IN ('1', '2', '3', '4');
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 11/04/2009, 15:47
Avatar de teoman15  
Fecha de Ingreso: enero-2009
Ubicación: cartago- colombia
Mensajes: 150
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Una ayudita con base de datos!!

creo q por aqui va la cosa, lo malo es que digamos como podria lograr poniendo por ejemplo una variable muestre los datos asociados al numero 1, luego poniendo otra variable asocie los datos al numero 2, etc.

Espero me entiendas ahora si
  #9 (permalink)  
Antiguo 11/04/2009, 18:00
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Una ayudita con base de datos!!

?

No entendí, tal vez:
Código php:
Ver original
  1. $var = 1;
  2. $query = "SELECT * FROM tabla WHERE id='$var'";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 11/04/2009, 18:12
Avatar de teoman15  
Fecha de Ingreso: enero-2009
Ubicación: cartago- colombia
Mensajes: 150
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Una ayudita con base de datos!!

pues si

Código PHP:
<?php
include('./con.php');
$query mysql_query("SELECT *  FROM frases WHERE idfrase='1'") or die(mysql_error());
while (
$data mysql_fetch_array($query)) {
$f1=$data['cuerpo']; 
}
$query mysql_query("SELECT *  FROM frases WHERE idfrase='2'") or die(mysql_error());
while (
$data mysql_fetch_array($query)) {
$f2=$data['cuerpo']; 
}
$query mysql_query("SELECT *  FROM frases WHERE idfrase='3'") or die(mysql_error());
while (
$data mysql_fetch_array($query)) {
$f3=$data['cuerpo']; 
}
$query mysql_query("SELECT *  FROM frases WHERE idfrase='4'") or die(mysql_error());
while (
$data mysql_fetch_array($query)) {
$f4=$data['cuerpo']; 
}
$query mysql_query("SELECT *  FROM frases WHERE idfrase='5'") or die(mysql_error());
while (
$data mysql_fetch_array($query)) {
$f5=$data['cuerpo']; 
}
$query mysql_query("SELECT *  FROM frases WHERE idfrase='6'") or die(mysql_error());
while (
$data mysql_fetch_array($query)) {
$f6=$data['cuerpo']; 
}
$query mysql_query("SELECT *  FROM frases WHERE idfrase='7'") or die(mysql_error());
while (
$data mysql_fetch_array($query)) {
$f7=$data['cuerpo']; 
}

mysql_free_result($query);
mysql_close();
?>
asi lo tengo en este momento y funciona bien, solo digo si se puede automatizar todo, o debo agregar a esta pagina este codigo para poder tomar los datos?
A eso me refiero.
Gracias por la atencion
  #11 (permalink)  
Antiguo 11/04/2009, 18:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Una ayudita con base de datos!!

¿Ya probaste con el WHERE...IN y el bucle while? Porque con eso debería funcionar. Así, en una única consulta SQL podrías obtener los datos y en cada paso asignar a la variable que corresponda. Prueba y nos cuentas como te va.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 11/04/2009, 18:20
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Una ayudita con base de datos!!

Código PHP:
<?php
include('./con.php');
$query mysql_query("SELECT *  FROM frases ORDER BY idfrase DESC") or die(mysql_error());
while (
$data mysql_fetch_array($query)) {
$f1=$data['cuerpo']; 
}
mysql_free_result($query);
mysql_close();
?>
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #13 (permalink)  
Antiguo 11/04/2009, 18:32
Avatar de teoman15  
Fecha de Ingreso: enero-2009
Ubicación: cartago- colombia
Mensajes: 150
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Una ayudita con base de datos!!

pues si probe pero no se como hacerlo uno por uno, por eso te pedia se me podias ayudar a crear ese bucle while para que lo haga de esa manera.
  #14 (permalink)  
Antiguo 11/04/2009, 23:02
 
Fecha de Ingreso: abril-2008
Ubicación: Montevideo - Uruguay
Mensajes: 156
Antigüedad: 16 años
Puntos: 5
Respuesta: Una ayudita con base de datos!!

Hi !

Creo que la solución dada por Argi es la más correcta, si lo que quieres es levantar todos los registros y meterlos en un array.
Pero sino puedes probar esto, que no seria lo más depurado :S pero bueno:


Código php:
Ver original
  1. include('./con.php');
  2.  
  3. for ($i=1; $i <= 7; $i++) {
  4. $query = mysql_query("SELECT *  FROM frases WHERE idfrase=".$i) or die(mysql_error());
  5.  while ($data = mysql_fetch_array($query)) {
  6.   $resultado[] = $data['cuerpo'];
  7.  }
  8. }

Siendo "resultado" un array que guarda todas las respuestas.

Espero te sea de utilidad =D
__________________
--
Mi Portfolio Online! Visitalo!
--
  #15 (permalink)  
Antiguo 12/04/2009, 08:11
Avatar de teoman15  
Fecha de Ingreso: enero-2009
Ubicación: cartago- colombia
Mensajes: 150
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Una ayudita con base de datos!!

gracias ya he podido solucionar todo
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 20:54.