Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema con foreach !!!

Estas en el tema de problema con foreach !!! en el foro de PHP en Foros del Web. que tal, estoy realizando un script con el cual descargo toda la iformacion de una tabla de mi BD, pero al ocupar foreach me repite ...
  #1 (permalink)  
Antiguo 18/04/2013, 11:18
 
Fecha de Ingreso: abril-2013
Ubicación: Monterrey
Mensajes: 39
Antigüedad: 11 años
Puntos: 1
Pregunta problema con foreach !!!

que tal, estoy realizando un script con el cual descargo toda la iformacion de una tabla de mi BD, pero al ocupar foreach me repite cada valor del arreglo, para mayor informacion pongo mi codigo:

Código PHP:
//Tomar Valores del POST --->
    
$tabla $_POST[resp];
    
    
//Descargar Informacion de tabla --->
    
$bajarInfo mysql_query("SELECT * FROM $tabla") or die (mysql_error());
    
        
//Imprime Informacion para respaldo --->
        
while($respaldo mysql_fetch_array($bajarInfo)){
            
//print_r($respaldo);echo "<br>";
            
foreach($respaldo as $valor){
                    echo 
$valor."<br>";
                                        }
                                                        } 
y esto es lo que me arroja:

1535
1535
0
0
7501008497340
7501008497340
FLANAX T 12 550MG NUEVA IMAGEN
FLANAX T 12 550MG NUEVA IMAGEN

---> ven que cada elemento esta dos veces, no entiendo el porque !!

Saludos !!
__________________
---------
George GmEs
  #2 (permalink)  
Antiguo 18/04/2013, 11:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con foreach !!!

Lo que te sucede es completamente normal, si consultas el manual de mysql_fetch_array() te darás cuenta que devuelve un arreglo con ambos índices numéricos y asociativos.

Es decir que puedes acceder a $row[0] o $row['columna'] y por eso es que tiene duplicados los valores.

Si necesitas mas información para resovler tu problema no dudes en consultar el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/04/2013, 11:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 4
Respuesta: problema con foreach !!!

Tu foreach esta dentro del while por eso lo repite, desde mi punto de vista tu foreach esta de sobra, puedes obtener los valores solo con el while

Código PHP:
            while($respaldo mysql_fetch_array($bajarInfo)){ 
                        
                    echo 
$respaldo['valor']."<br>"
                                     
                     } 
  #4 (permalink)  
Antiguo 18/04/2013, 12:17
 
Fecha de Ingreso: abril-2013
Ubicación: Monterrey
Mensajes: 39
Antigüedad: 11 años
Puntos: 1
Respuesta: problema con foreach !!!

Lo que pasa que tengo un script, donde se va a descargar la informacion de varias tablas, ya le encontre la forma pero sin usar el foreach:

Código PHP:
//Tomar Valores del POST --->
    
$tabla $_POST[resp];
    
    
//Descargar Informacion de tabla --->
    
$bajarInfo mysql_query("SELECT * FROM $tabla") or die (mysql_error());
    
        
//Imprime Informacion para respaldo --->
        
while($respaldo mysql_fetch_array($bajarInfo)){
            
$contador = ((count($respaldo))/2)-1;
                for(
$i=0;$i<=$contador;$i++){
                        echo 
$respaldo[$i]."<br>";
                                            }

                                                        } 
---> y con esto obtengo lo que necesitaba !! Gracias !!
__________________
---------
George GmEs
  #5 (permalink)  
Antiguo 18/04/2013, 12:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con foreach !!!

No tenías que hacer tanto truco, con usar la función mysql_fetch_assoc() resolvía el problema.

Pero si no quieres entender lo que te sucede ya es cosa tuya, no hacía falta que pidieras ayuda entonces.


Supongo que no es lo tuyo hacer las cosas bien ni leer el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: foreach, mysql, select, tabla
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 18:17.