Foros del Web » Programando para Internet » PHP »

Problema con MySql

Estas en el tema de Problema con MySql en el foro de PHP en Foros del Web. Hola que tal, tengo el siguiente codigo pero no logro mostrar un dato que quiero aca les pongo el codigo no es largo. <?php $obje=new ...
  #1 (permalink)  
Antiguo 19/08/2005, 07:41
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años
Puntos: 0
Problema con MySql

Hola que tal, tengo el siguiente codigo pero no logro mostrar un dato que quiero aca les pongo el codigo no es largo.

<?php
$obje=new Db();
$sql="Select * from noticia where id='".$_GET['i']."'";
$resu=mysql_fetch_row($obje->consulta_db($sql));
echo $resu['id'];
?>

$resu['id']; no me tira nada, esta en blanco.
La clase me anda perfecto de hecho puedo ver otros elementos, lo que yo quiero es evitar hacer un loop osea un while recorriendo todos los elementos hasta que coincida el id del GET con el de algun elemento de la tabla, existe alguna forma? o tengo que hacerlo si o si con mysql_fetch_array o mysql_fetch_assoc y hacer el while hasta encotrar el elemento?

Alguna sugerencia?
Gracias de antemano.- Salu2.
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #2 (permalink)  
Antiguo 19/08/2005, 08:00
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Que devuelve este metodo? $obje->consulta_db($sql)
  #3 (permalink)  
Antiguo 19/08/2005, 08:03
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años
Puntos: 0
function consulta_db($sql)
{
$this->Db();
$this->result=@mysql_query($sql, $this->db_conn) or die("Error de Consulta".mysql_error());
return ($this->result);
}

Este es el método de la clase que me realiza la consulta.
Pero este no es el problema, en otras consultas en la que utilizo la misma clase, hago un while y veo todo lo que quiero de la base de datos, el tema es que yo quiero ver solo el elemento que le paso en el sql pero no se como, no quiero hacer el while con un array, o un assoc.
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #4 (permalink)  
Antiguo 19/08/2005, 08:22
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Cita:
Iniciado por Znet
Pero este no es el problema, en otras consultas en la que utilizo la misma clase, hago un while y veo todo lo que quiero de la base de datos, el tema es que yo quiero ver solo el elemento que le paso en el sql pero no se como, no quiero hacer el while con un array, o un assoc.
Querras decir que quieres ver sólo un registro. mysql_fetch_row() devuelve un array, igual que los otros, pero no un array asociativo, por tanto debes recorrerlo o mostrar un registro asi: echo $resu[0];

Si quieres tener un array asociativo usa mysql_fetch_assoc().

Código PHP:
<?php
  $obje
=new Db();
  
$sql="Select * from noticia where id='".$_GET['i']."'";
  
$resu=mysql_fetch_assoc($obje->consulta_db($sql));
  echo 
$resu['id'];
?>
  #5 (permalink)  
Antiguo 19/08/2005, 08:35
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años
Puntos: 0
Gracias claudio vega, si me confundi con los conceptos, y pense que el fetch_assoc te devolvia tambien un array, porque lo vi por ahi en un while buscando en posts, pero ya se para que hacia el while, era para comparar otro array con ese elemento. Me solucionaste un problemon, jejeje gracias de nuevo.
Salu2.-
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #6 (permalink)  
Antiguo 19/08/2005, 08:49
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Todos devuelven un array.

mysql_fetch_row(): un array para recorrerlo con indices
mysq_fetch_assoc(): un array asociativo, para recorrerlo con claves
mysql_fetch_array(): un array con ambos metodos, y si le pasas un segundo parametro un array con cualquiera de los metodos nombrados anteriormente.

La cantidad de registros devueltos por una consulta depende sólo de la consulta, mas especificamente de la clausula where, que es donde colocas las condiciones que debe cumplir un registro para ser devuelto.
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 00:56.