Foros del Web » Programando para Internet » PHP »

Problema con sentencia...

Estas en el tema de Problema con sentencia... en el foro de PHP en Foros del Web. Tratare de ser lo más conciso posible: Tengo una web a la cual le estoy haciendo un diseño nuevo, necesito aligerar el codigo. En la ...
  #1 (permalink)  
Antiguo 24/05/2007, 16:30
 
Fecha de Ingreso: mayo-2007
Mensajes: 1
Antigüedad: 17 años, 6 meses
Puntos: 0
Problema con sentencia...

Tratare de ser lo más conciso posible:

Tengo una web a la cual le estoy haciendo un diseño nuevo, necesito aligerar el codigo. En la web hay una seccion de 4 noticias destacadas que se van agregando mediante un administrador donde puedes elegir en que lugar ponerlo:

Por ejemplo, (se les llama minifotos) si quiero elegir que X información o llamado vaya en la posicion 3, en el administrador elegimos la opcion "Minifoto 3" (Esto es mediante un menu desplegable que le da un valor a la variable art_Portada)

Estos son los campos

<option value="2">Mini foto 1</option>
<option value="3">Mini foto 2</option>
<option value="4">Mini foto 3</option>
<option value="5">Mini foto 4</option>

Obvio el "Value" es lo que importa aqui, y es que dependiendoe el valor se le da una posicion en la pagina.

Ok. Ahora el caso es que, el código anterior era una sentencia por cada valor (osea por cada valor, era una sentencia) siento que eso es demasiada consulta, pero sigo sin poder lograr hacer que se acomoden XD...

Código PHP:
function mostrarminis(){
    
$muestra='';
        
$consulta='select a.clave,  b.art_ID, b.art_Titulo, b.art_Foto, b.art_Contenido from (SELECT max(art_ID) as clave, art_Portada FROM tabart where art_Portada in (2,3,4,5) group by art_Portada order by art_Portada limit 0,4) a left join tabart b on a.clave=b.art_ID';
        
$consulta='select art_ID, art_Titulo, art_Foto, art_Contenido, art_Fecha as fecha from tabart where art_Portada in (2,3,4,5) order by art_ID desc limit 0,8';
        
$resultado=consulta($consulta);
        
$contador=0;
        
$total=mysql_num_rows($resultado);
        
//echo $total;
        
while($row=mysql_fetch_array($resultado)){
        
$contador++;
        if (
$contador<=4)
            
$muestra.='<div>
            
            <span class="TituloD"><a href="nota-'
.$row['art_ID'].'-'.cambiar_espacios($row['art_Titulo']).'.html">
            
            <img src="fotos/'
.$row['art_Foto'].'" width="115" height="87" align="left" border="0" /><strong>'.$row['art_Titulo'].'</strong></span></a><br><b>'.regresa_fecha($row['fecha']).'</b><br>'.nl2br(substr(($row['art_Contenido']),0,200)).'... <br><img src="images/spacerAzul.gif" height="2" vspace="3" width="270"><br><br></div>';
        else
            
$muestra.='<a href="nota-'.$row['art_ID'].'-'.cambiar_espacios($row['art_Titulo']).'.html"><strong>'.$row['art_Titulo'].'</strong></a><br><img src="images/backDerColumn.gif" border="0" height="1" width="270"><br>';
        }
    return 
$muestra;

Lo unico que he logrado con este codigo (Que es mediante una funcion) es que cuando la gente coloca una nota nueva, se agrega automaticamente en el primer puesto, sin importar que sea que ellos lo pongan en alguno de los 4 valores. De todas formas el resto se recorre, pero no es lo que quieren. Es una duda Que me lleva dias peleandole ayudaaa =(

Saludos!.
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:11.