PHP - problema con foreach

   
Vista:

problema con foreach

Publicado por xztt (37 intervenciones) el 17/02/2012 17:11:02
os dejo el codigo a ver si me podeis ayudar no entiendo bien el uso del foreach cuando recogemos la consulta de la bd

<?php

$conexion = conectar();

$noticiasSQL="SELECT titulo,articulo, FROM noticias ORDER BY id_noticia DESC";
$resultado = mysql_query($noticiasSQL, $conexion);

$vector = array($resultado);
foreach ($vector as $value){


echo"<table>";
echo "<tr >";
echo "<td>";
echo" $value[id_titulo]";
echo "</td>";
echo "</tr >";
echo "<tr >";
echo "<td>";
echo" $value[articulo]";
echo "</td>";
echo "</tr >";
echo"</table>";




}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

problema con foreach

Publicado por xve (5525 intervenciones) el 17/02/2012 19:21:21
Hola, el foreach, lo que hace, es que va recorriendo un array por todos sus valores... Por lo que veo en tu código, te tiene que mostrar el contenido de la consulta, no?
Que te devuelve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con foreach

Publicado por xztt (37 intervenciones) el 17/02/2012 20:24:16
Lo que quiero es justamente eso. que me recorra la consulta y me lo muestre nose que estoy haciebdo mal porque no me muestra ningun error ni tmpoco los resultados. algo esta mal xve tu ves el fallo?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con foreach

Publicado por xztt (37 intervenciones) el 17/02/2012 20:29:23
el echo id_titulo ahi esta me liaria al publicarlo nose la verdad que con el while me sale pero con foreach no.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

problema con foreach

Publicado por xve (5525 intervenciones) el 17/02/2012 22:19:41
Yo creo que el error lo tienes en esta linea:
1
$vector = array($resultado);

Tendría que ser:
1
$vector=mysql_fetch_array($resultado);

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con foreach

Publicado por xztt (37 intervenciones) el 21/02/2012 19:00:58
hola xve estado probando lo que me dijiste y me da resultado 0 dos veces despues de pruebas e terminado dejando el codigo asi sin llegar aresolverlo

<?php

$conexion = conectar();

$noticiasSQL="SELECT articulo, FROM noticias ";
$resultado = mysql_query($noticiasSQL, $conexion);

$vector = mysql_fecth_array($resultado);
foreach ($vector as $value){


echo"<table>";
echo "<tr >";
echo "<td>";
echo" $value";
echo "</td>";
echo "</tr >";
echo"</table>";
}
?>
Me devuelve 2 ultimos articulos repetidos y los otros no me los muestra...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

problema con foreach

Publicado por xve (5525 intervenciones) el 21/02/2012 20:21:52
mysql_fetch_array, un array de valores... prueba ha hacer:
1
print_r($vector);

Para printar el contenido, dentro del foretch tienes que hacer:
1
echo $value["articulo"];

Revisate la ayuda de mysql_fecth_array, ahi veras como hacerlo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con foreach

Publicado por xztt (37 intervenciones) el 21/02/2012 21:24:35
Compañero intentare buscar algun ejemplo por algun manual que lo veo dificil por no encuentro pero seguire intentando. se supone que funcionara como el while echo $value["articulo"]; pero al parecer no es porque me da resultado 2 jaja no lo entiendo porque los articulos son texto probe hacerlo con otra consulta y ocurrere lo mismo da resultados numeros. como si los contara en vez de mostrarlos.
Si encuentro la solucion te escribo xve.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con foreach

Publicado por xztt (37 intervenciones) el 21/02/2012 21:38:26
hola xve me acban de decir que es imposible hacerlo asi para que lo pueda hacer dentro del foreach de forma nativa tienes que usar POO y usar la interfaz Iterator.

Por eso la recomendación de usar PDO, porque este ya lo hace y lo puedes iterar dentro del foreach().
Te suena lgo de esto? jaja yo no tenia ni idea abra que ir mirando gracias tio a ver si lo resuelvo que cada vez se complica mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

problema con foreach

Publicado por xve (5525 intervenciones) el 21/02/2012 22:58:38
PDO, es una clase que te permite trabajar con las bases de datos como si fuera un objeto, sin tener que saber si es MySQL, SQL Server, Oracle, ... pero fíjate, que si no recuerdo mal PDO no venia con PHP hasta la versión 5.1... y te aseguro que en versiones enteriores a la 5.1 se trabajaba con bases de datos...

La manera como lo estas haciendo, no es la habitual.. por norma la gente utiliza el bucle:
1
2
3
4
while($row=mysql_fetch_array($resultado))
{
    ...
}

Revisa los ejemplos de esta pagina: http://es.php.net/manual/en/function.mysql-query.php
Ahí veras como hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar