Foros del Web » Programando para Internet » PHP »

Mostrar segun WHERE

Estas en el tema de Mostrar segun WHERE en el foro de PHP en Foros del Web. Hola, segun el titulo, mi problema es facil de resolver, puede que si, pero a mi me es dificil. Tengo un sistema de publicidades que ...
  #1 (permalink)  
Antiguo 29/01/2008, 08:03
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Mostrar segun WHERE

Hola, segun el titulo, mi problema es facil de resolver, puede que si, pero a mi me es dificil.

Tengo un sistema de publicidades que están por todo el sitio. Son 11 en total. Tengo todo armado y es simple: Tengo una tabla donde muestra las publicidades. Cada publicidad representa un numero.

tabla: publi_mostrar
id
archivo
valor

El campo archivo es el nombre de la publicidad y valor el numero de esta publicidad.

Mi duda es que como hago para mostrar cada publicidad, es simple, pero muy largo y engorroso. Esto es lo que hago para mostrar:

Código PHP:
$con1 mysql_query("SELECT * FROM publi_mostrar WHERE valor = 1") or die("Error: ".mysql_error());
$mostrar1 mysql_fetch_array($con1);

$con2 mysql_query("SELECT * FROM publi_mostrar WHERE valor = 2") or die("Error: ".mysql_error());
$mostrar2 mysql_fetch_array($con2);

$con3 mysql_query("SELECT * FROM publi_mostrar WHERE valor = 3") or die("Error: ".mysql_error());
$mostrar3 mysql_fetch_array($con3); 
Y así hasta el 11 (que es la cantidad de publicidades)....

Entonces, donde vaya cada publicidad le mando, por ejemplo:

Código PHP:
$mostrar1[archivo]

$mostrar2[archivo]

$mostrar3[archivo
y así hasta el 11... y es mucho lio, digamos, 11 consultas.

No se si se puede hacer solo 1 consulta e ir mostrando las publicidades segun su valor..
  #2 (permalink)  
Antiguo 29/01/2008, 08:18
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Mostrar segun WHERE

Con bucles (algo básico en programación). Mira en el manual de PHP algo sobre bucles, en concreto te interesa un while.

Te quedaría algo así:

Código PHP:

$con 
mysql_query("SELECT * FROM publi_mostrar") or die("Error: ".mysql_error());

while (
$mostrar mysql_fetch_array($con)) {
     
//operaciones a realizar con el registro

Si lo que quieres es almacenar todos los resultados en un array te recomiendo un for.
  #3 (permalink)  
Antiguo 29/01/2008, 09:50
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Mostrar segun WHERE

Hola, gracias. Ya conozco while y lo uso. Pero el tema es que no es una publicidad una abajo de otra, sino están separadas en todo el sitio, no puedo hacer bucle. Por eso estoy preguntando, no se si se puede hacer lo que pido.

Gracias igual
  #4 (permalink)  
Antiguo 29/01/2008, 10:48
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Mostrar segun WHERE

¿Y si haces el bucle, guardas sus valores en un array y luegos los muestras o trabajas con ellos cuando lo necesitas?
  #5 (permalink)  
Antiguo 29/01/2008, 11:39
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Mostrar segun WHERE

mmm, espero haber entendido

creo que lo mejor es crear una funcion
Código PHP:
function mostrar($valor){
    
$con1 mysql_query("SELECT * FROM publi_mostrar WHERE valor = $valor") or die("Error: ".mysql_error());
    echo 
$mostrar mysql_result($con1,0,0); //o puedes usar return, como te acomode

y así solo lo llamas segun el lugar de la publicidad, para llamarlo pasas el valor correspondiente, a demás hay que incluir el archivo de la funcion en la página donde vas mostrar la publi.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 29/01/2008, 15:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Mostrar segun WHERE

Uh!!! master gracias, te besaría si te tendría al lado jajajaja sos una masa!!!!!!!

Ahora ya se como hacerlo, muchas gracias!
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 12:49.