Foros del Web » Programando para Internet » PHP »

base de datos

Estas en el tema de base de datos en el foro de PHP en Foros del Web. hola tengo un problema mostrando los registros de mi base de datos no me los muestra todos solo me muestra uno y nose por que ...
  #1 (permalink)  
Antiguo 01/11/2011, 14:27
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
base de datos

hola tengo un problema mostrando los registros de mi base de datos no me los muestra todos solo me muestra uno y nose por que este es el codigo:
Código PHP:
<?php
 
include("../header.php"); 

if (!isset(
$_SESSION['logueado_usuario'])) { 
    include (
"../login.php");  
echo 
"<a href='../registro.php'>Registrarse</a>" ;} 
    else {  
    
$nombre =$_SESSION['logueado_nombre']; 
    
$id_usuario=$_SESSION['logueado_id']; 
?> 

<?php
include("config.php");

$registros=mysql_query("select * from privados where para='$nombre' ORDER BY id desc ",$conexion) or
  die(
"Problemas en el select:".mysql_error());
 if(
$reg=mysql_fetch_array($registros))
{
  echo 
"<br> Mensajes:".$reg['mensaje']."<br>";
 
  }

else
{
  echo 
"No existe un alumno con ese mail.";
}
mysql_close($conexion);
?>
<?php 
?>
<a href="index.php?id=<?php print $reg["id"];?>">Comentarios [0]</a>
  #2 (permalink)  
Antiguo 01/11/2011, 14:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: base de datos

Tiene sentido porque no estás usando ningún bucle.

Necesitas cambiar tu if() por un while() para que se iteren todos los resultados:
Código PHP:
// MAL (un solo registro)
 
if($reg=mysql_fetch_array($registros)) 

// BIEN (todos los registros)
 
while ($reg=mysql_fetch_array($registros)) 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/11/2011, 14:33
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: base de datos

es verdad jope si esque vaya.... esque suelo tener errores tontos muchas gracias. solucionado.
  #4 (permalink)  
Antiguo 01/11/2011, 14:43
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
problemas con el if

hola estoy intentando hacer un sistema de comentarios y la verdad nose por que pasa esto por que ya entiendo el if pero nse que hago mal, al hacer una consulta en la base de datos y sacar el 1 o el 0 segun si ha sido leido o no me pasa que lo hace al reves de como lo quiero este codigo uso:

Código PHP:
<?php
include("config.php");

$registros=mysql_query("select * from privados where para='$nombre' ORDER BY id desc ",$conexion) or
  die(
"Problemas en el select:".mysql_error());
 while(
$reg=mysql_fetch_array($registros))
{
  echo 
"<br> Mensajes:".$reg['leido']."<br>";
 
$leido=$reg['leido'];
  }

if(
leido==0)
{
echo 
"tienes un mensajes sin leer";
}
else
{
echo 
"no hay na nuevo";
}



mysql_close($conexion);
?>

<?php ?>
el 1 es leido y el 0 no leido
  #5 (permalink)  
Antiguo 01/11/2011, 14:46
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: problemas con el if

y otra cosa que me gustaría poner y nose como se hace es que me diga los mensajes sin leer que hay como lo hago? gracias.
  #6 (permalink)  
Antiguo 01/11/2011, 14:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problemas con el if

En tu if, falta un $, para comparar tienes que usar toda la variable incluyendo el $.
  #7 (permalink)  
Antiguo 01/11/2011, 14:50
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: base de datos

cierto otro error tonto jeje gracias.
oye y para saber cuantos mensajes hay nuevos como lo haria? creo que con un count pero nose como se usa muy bien me pueden explicar?
gracias
  #8 (permalink)  
Antiguo 01/11/2011, 14:56
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 11 meses
Puntos: 20
Respuesta: base de datos

puede usar la funcion de mysql que es:

Código PHP:
$cant_reg mysql_num_rows($registros
  #9 (permalink)  
Antiguo 01/11/2011, 14:57
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: base de datos

como añado eso a mi codigo?? es que nose como va esto?
  #10 (permalink)  
Antiguo 01/11/2011, 15:01
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 11 meses
Puntos: 20
Respuesta: base de datos

Código PHP:
include("config.php"); 

$registros=mysql_query("select * from privados where para='$nombre' ORDER BY id desc ",$conexion) or 
  die(
"Problemas en el select:".mysql_error()); 

$cant_reg mysql_num_rows($registros
si a esa variable le colocas un echo vas a poder ver la cantidad de registro que trae
y DIsculpa para yo vi mal. puede poner un $cont
Código PHP:
if ($leido == 0)
$cont $cont +
y fuera del bucle lo puede mostrar
asi:

Código PHP:
echo $cont
  #11 (permalink)  
Antiguo 01/11/2011, 15:31
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: base de datos

No me funciona lo he puesto tal cual lo as dixo. me da el numero total de registros y yo solo quiero el numero de campos que en leido tienen cero. bueno no lo he puesto tal cual si lo pongo donde me indicas tu sale este error:
Parse error: syntax error, unexpected T_ELSE in /home/a9637698/public_html/privados/index.php on line 31

Última edición por edyuin; 01/11/2011 a las 15:38
  #12 (permalink)  
Antiguo 02/11/2011, 04:20
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: base de datos

ya lo he conseguido poniendo un select count con where si a alguien le pasa lo mismo y quiere mas detalles que me lo diga y yo se lo explico mejor.
  #13 (permalink)  
Antiguo 06/11/2011, 06:52
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: base de datos

como hacer un where de dos campos diferente?? por que necesito que un count me saque el numero segun el usuario y el numero de leido como hago esto?
  #14 (permalink)  
Antiguo 07/11/2011, 06:40
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 11 meses
Puntos: 20
Respuesta: base de datos

para hacer un where de dos campos es asi

Código PHP:

Select 
from where campo1 'text1' and campo2 'text2' 
De esta forma se hace, no se si es lo que tu quieres?
Abrazos
  #15 (permalink)  
Antiguo 11/11/2011, 08:33
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: base de datos

si graciaS

Etiquetas: mysql, registro, sql, usuarios
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 22:35.