Foros del Web » Programando para Internet » PHP »

Unir los resultados de un do while en 1 sentencia

Estas en el tema de Unir los resultados de un do while en 1 sentencia en el foro de PHP en Foros del Web. Buenas, No soy experto en esto ni mucho menos y me está llevando de cabeza ésto, que me parece un poco tontería, pero es que ...
  #1 (permalink)  
Antiguo 17/04/2010, 11:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 5 meses
Puntos: 1
Unir los resultados de un do while en 1 sentencia

Buenas,

No soy experto en esto ni mucho menos y me está llevando de cabeza ésto, que me parece un poco tontería, pero es que no se me ocurre...

Hago un SELECT para extraer las diferentes, pongamos, frutas que hay en un super, por ejemplo:
Código:
$frutas = mysql_query("SELECT nom FROM `$tablafrutas` GROUP BY nom",$l2);
$total_frutas = mysql_num_rows($frutas);
if ($row = mysql_fetch_array($frutas)) {
	$num_fruta = 1;
        echo "(";
		do {
			$fruta = $row["nom"];
				if ($num_fruta != $total_frutas) { 
				$parte[$num_fruta] = "casa = '".$fruta."' OR ";
				} else if ($num_fruta == $total_frutas) {
				$parte[$num_fruta] =  "casa = '".$fruta."')";
				}
			$num_fruta++;
		} while ($row = mysql_fetch_array($frutas));
	}
Lo que me quiero es me imprima al final por ejemplo:

(plátanos OR mandarinas OR fresas OR manzanas)

Quisiera poder hacerlo con una sentencia final que fuera por ejemplo echo $todas_partes en lugar de poner un echo dentro del do-while... ¿Cómo sería? ¿Cómo puedo ir almacenando cada row para luego imprimirlo todo de golpe?

Gracias!
  #2 (permalink)  
Antiguo 17/04/2010, 11:15
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Unir los resultados de un do while en 1 sentencia

Vale vale, ya lo tengo! Sólo debía incluir antes del $num_fruta++; algo así como:

$sentencia = $sentencia."".$parte[$num_fruta];

Así me lo va agrupando todo en la variable $sentencia que puedo imprimir cuando quiera.

Por si sirve en el futuro para otro!

GRacias
  #3 (permalink)  
Antiguo 17/04/2010, 11:44
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Unir los resultados de un do while en 1 sentencia

Hola,

Bueno, ahora me viene otra duda... que viene a colación de la anterior. Quería obtener esta sentencia que es variable para luego introducirla dentro de un SELECT, pero aquí tengo el problema... ¿Cómo se haría? Tengo ésto, pero no me da resultados:

Código:
$max = mysql_query("SELECT total FROM tabla1 WHERE mercado = '$mercado' AND '$sentencia'",$l8);
//$sentencia es lo que extrae del do-while de antes, x ejemplo: (fruta = 'plátano' OR fruta = 'fresa')
¿Cómo puedo insertar esa sentencia variable dentro de un SELECT?

Gracias!
  #4 (permalink)  
Antiguo 17/04/2010, 11:47
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años
Puntos: 77
Respuesta: Unir los resultados de un do while en 1 sentencia

Pues asi como lo tienes, pero sin las comillas que encierrana a $sentencia (si sabes la sintaxis de SQL y con un poco de logica sabras por que)
  #5 (permalink)  
Antiguo 17/04/2010, 11:50
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Unir los resultados de un do while en 1 sentencia

Tienes razón! Gracias, demasiadas horas van ya...

Etiquetas: resultados, sentencia, unir
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 06:47.