Foros del Web » Programando para Internet » PHP »

Ayuda con consulta sql desde PHP

Estas en el tema de Ayuda con consulta sql desde PHP en el foro de PHP en Foros del Web. Bueno, queria saber alguna forma de que en una consulta sql echa desde php, pueda evadir o ignorar ciertas filas de la consulta, como por ...
  #1 (permalink)  
Antiguo 03/11/2009, 15:01
 
Fecha de Ingreso: enero-2009
Ubicación: Chile
Mensajes: 191
Antigüedad: 15 años, 3 meses
Puntos: 2
Ayuda con consulta sql desde PHP

Bueno, queria saber alguna forma de que en una consulta sql echa desde php, pueda evadir o ignorar ciertas filas de la consulta, como por ejemplo

consulta 1: Select id from noticias ORDER BY id ASC
me devuleve:
1
2
3
4
5
6
7
8
9
10


Y pues, yo quciera saber si existe alguna forma de evitar dichas consultas por ejmplo quisiera que no se mostrara el 6,7,10, que quedaria asi:
1
2
3
4
5
8
9

Por si me quieren enteder un poco mas les muestro el codigo:

Código PHP:
<?php
  $consulta_1 
mysql_query("SELECT * FROM fondos where subcategoria_corto='$array[subcategoria_corto]' and visible='1' ORDER BY descargas DESC limit 20"$conexion);
        
$row_1 mysql_num_rows($consulta_1);
        if(
$row_1 >= 20) {
          while(
$array_1 mysql_fetch_array($consulta_1)) {
           
$carrusel .= '<a href="' $url_script $array_1[categoria_corto] . '/' $array_1[subcategoria_corto] . '/' $array_1[nombre_corto] . '/ver/' $array_1[id] . '"> <img src="' $url_script 'vista-previa/' $array_1[id] .'.jpg" width="116" height="86" alt="' $array_1[nombre] . '" title="' $array_1[nombre] . '" /></a>';
          }
        }
        else
        {
        
$consulta_2 mysql_query("SELECT * FROM fondos where subcategoria_corto='$array[subcategoria_corto]' and visible='1' ORDER BY descargas DESC limit " $row_1 .""$conexion);
          while(
$array_2 mysql_fetch_array($consulta_2)) {
           
$carrusel .= '<a href="' $url_script $array_2[categoria_corto] . '/' $array_2[subcategoria_corto] . '/' $array_2[nombre_corto] . '/ver/' $array_2[id] . '"> <img src="' $url_script 'vista-previa/' $array_2[id] .'.jpg" width="116" height="86" alt="' $array_2[nombre] . '" title="' $array_2[nombre] . '" /></a>';
          }
          
$limit_1 20 $row_1#numero de reusltados que faltan mostrar
             
$consulta_3 mysql_query("SELECT * FROM fondos where categoria_corto='$array[categoria_corto]' and visible='1' ORDER BY descargas DESC limit " $limit_1 .""$conexion);
             
$row_3 mysql_num_rows($consulta_3); # numero de resultado encontrados por categoria
          
if($row_3 >= $limit_1) {
                while(
$array_3 mysql_fetch_array($consulta_3)) {
               
$carrusel .= '<a href="' $url_script $array_3[categoria_corto] . '/' $array_3[subcategoria_corto] . '/' $array_3[nombre_corto] . '/ver/' $array_3[id] . '"> <img src="' $url_script 'vista-previa/' $array_3[id] .'.jpg" width="116" height="86" alt="' $array_3[nombre] . '" title="' $array_3[nombre] . '" /></a>';
              }
          }
          else
          {
                
$consulta_4 mysql_query("SELECT * FROM fondos where categoria_corto='$array[categoria_corto]' and visible='1' ORDER BY descargas DESC limit " $row_3 .""$conexion);
                while(
$array_4 mysql_fetch_array($consulta_4)) {
               
$carrusel .= '<a href="' $url_script $array_4[categoria_corto] . '/' $array_4[subcategoria_corto] . '/' $array_4[nombre_corto] . '/ver/' $array_4[id] . '"> <img src="' $url_script 'vista-previa/' $array_4[id] .'.jpg" width="116" height="86" alt="' $array_4[nombre] . '" title="' $array_4[nombre] . '" /></a>';
                 }
                
$limit_2 20 - ($row_1 $row_3); #numero de reusltados que faltan mostrar
                
$consulta_5 mysql_query("SELECT * FROM fondos where visible='1' ORDER BY descargas DESC limit " $limit_2 .""$conexion);
                while(
$array_5 mysql_fetch_array($consulta_5)) {
               
$carrusel .= '<a href="' $url_script $array_5[categoria_corto] . '/' $array_5[subcategoria_corto] . '/' $array_5[nombre_corto] . '/ver/' $array_5[id] . '"> <img src="' $url_script 'vista-previa/' $array_5[id] .'.jpg" width="116" height="86" alt="' $array_5[nombre] . '" title="' $array_5[nombre] . '" /></a>';
                 }
          }
        }
?>
Explicando un pco el codigo, lo que hace es mostrar imagenes relacionadas, entonces como no hay filtros, se peuden repetir.
  #2 (permalink)  
Antiguo 03/11/2009, 15:28
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: Ayuda con consulta sql desde PHP

y si tu consulta omites los resultados??

por ejemplo tienes la columna de los numeros que se llama (por ejemplo) categoria_corto:

tu consulta seria mas o menos asi:

Código SQL:
Ver original
  1. $sql="SELECT * FROM fondos where categoria_corto NOT IN('6','7','10')"

Te explico, la instrucción not in omite los resultados que busca por ejemplo en este caso deseamos que el resultado no este en 6,7,10.

espero haberte ayudado
  #3 (permalink)  
Antiguo 03/11/2009, 15:32
 
Fecha de Ingreso: enero-2009
Ubicación: Chile
Mensajes: 191
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con consulta sql desde PHP

eso neceistaba :P muxa gracias, no lo habia encotnrado en esta página xd
http://sql.1keydata.com/es/sql-having.php
Te di karma, aunque nose si te sirva xd
  #4 (permalink)  
Antiguo 03/11/2009, 15:35
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: Ayuda con consulta sql desde PHP

Cita:
Iniciado por flager Ver Mensaje
eso neceistaba :P muxa gracias, no lo habia encotnrado en esta página xd
http://sql.1keydata.com/es/sql-having.php
Tienes karma, aunque nose si te sirva xd
amm algo asi amigo...
Es una negatoria ante el resultado que tu deseas, es decir, le dices al SQL que te muestre los resultados menos los que estan dentro de la declaración del NOT IN.
Probalo y me dejas saber como te va ok...
  #5 (permalink)  
Antiguo 03/11/2009, 15:50
 
Fecha de Ingreso: enero-2009
Ubicación: Chile
Mensajes: 191
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con consulta sql desde PHP

el not in lo uso al final? o anes del limit?? o antes del order by?? o da lo mismo?
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 16:39.