Comunidad de diseño web y desarrollo en internet online

Obtener un registro de una BD

Citar            
MensajeEscrito el 09 Abr 2007 12:31 am
Tengo una base de datos con una tabla llamada "Noticias". Dentro de ésta tengo 3 campos: "id", "titulo" y "texto".
Bien, ahora, configuré al campo "id" como Clave Primaria, para realizar futuras búsquedas basándome en el id.
Ahora bien, quiero obtener el texto de cierta fila, que coincide con un cierto id. Intenté con esto, pero no funciona:

Código :

<?
include ("conectar_bd.php");
$link = Conectarse();
$resultado= mysql_query("SELECT * FROM noticias WHERE id=4" , $link);
$texto = mysql_fetch_object($resultado);
echo $texto;
?>


Pero no devulve nada. Sólo quiero obtener el texto de dicha fila y del campo "texto". Hay alguna forma? :crap:

Por dave73

985 de clabLevel

5 tutoriales

 

Argentina, Córdoba

firefox
Citar            
MensajeEscrito el 09 Abr 2007 01:20 am
mysql_fetch_object retorna es un objeto por lo que debes acceder a los campos de los registros como propiedades algo asi:

Código :

$texto->id;
$texto->titulo;
$texto->texto


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 09 Abr 2007 02:33 am
Efectivamente e investigando un poco en PHP.net, conseguí que funcionara. Deduje que es necesario un ciclo while, más allá de que yo quiera sólo un campo de una fila. También es necesario la variable $row, que supongo es propia del método "mysql_fetch_object". Así me quedó el código final:

Código :

<?
include ("conectar.php");
$link = Conectarse();
$id = $_POST["id"];
$result = mysql_query("SELECT * FROM noticias WHERE id=\"".$id."\"", $link);
while($row=mysql_fetch_object($result)){
        $var = $row->texto;
}
echo $var;
?>


Gracias Maikel.

Por dave73

985 de clabLevel

5 tutoriales

 

Argentina, Córdoba

opera
Citar            
MensajeEscrito el 09 Abr 2007 02:44 am
No hace falta un while. Si traes un solo registro, haces un [b]mysql_fetch_array($resultado);[b/] y listo.
El mysql_fetch_array te devuelve con todos los campos de todos los registros que trae la consulta, pero en este caso al ser una sola fila, el array va a ser de una sola posición, por lo tanto no te hace falta el while.
Sería algo asi:

Código :

<?
include ("conectar.php");
$link = Conectarse();
$id = $_POST["id"];
$result = mysql_query("SELECT titulo, texto FROM noticias WHERE id=\"".$id."\"", $link);
$array = mysql_fetch_array($result);
echo $array["titulo"];
echo $array["texto"];
?>


Espero que te sirva, saludos.

Por PabloHdS

251 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Abr 2007 12:43 am
Funciona de maravillas PabloHdS. Tambien puede cambiarse la sentencia de consulta de mySQL:

Código :

$result = mysql_query("SELECT titulo, texto FROM noticias WHERE id=\"".$id."\"", $link);


por esta otra:

Código :

$result = mysql_query("SELECT titulo, texto FROM noticias WHERE (id=$id)", $link);


Saludos

Por dave73

985 de clabLevel

5 tutoriales

 

Argentina, Córdoba

opera
Citar            
MensajeEscrito el 25 Ene 2013 03:54 pm

Maikel escribió:

mysql_fetch_object retorna es un objeto por lo que debes acceder a los campos de los registros como propiedades algo asi:

Código :

$texto->id;
$texto->titulo;
$texto->texto


saludos



Graciaspor el aporte funcionó... muy bien :)

Por Ataraxio

0 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.