Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/06/2011, 22:51
Avatar de Gambinoh
Gambinoh
 
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 5 meses
Puntos: 11
Respuesta: SELECT ignorando una fila

Me respondo por si le sirve a alguien...

Para hacer un select ignorando de forma "dinámica" una serie de filas, la manera que he encontrado ha sido crear un bucle que recorra el array de la consulta en cuestión, e incluir dentro del bucle el código siguiente:

Código PHP:
Ver original
  1. if ($i == 1) {
  2. $id1 = $row['id'];
  3. } elseif ($i == 2) {
  4. $id2 = $row['id'];
  5. } elseif ($i == 3) {
  6. $id3 = $row['id'];
  7. } elseif ($i == 4) {
  8. $id4 = $row['id'];
  9. }

Como la variable de control (expresión primera) del bucle for es $i, con el código anterior voy asignando los valores recorridos a las variables $idx. En mi caso el bucle for ya estaba creado y sólo se trataba de añadir eso.

Para ignorar estas filas en la consulta SQL posterior he hecho:

Cita:
$sql = "SELECT * FROM tabla WHERE id != '$id1' && id != '$id2' && id != '$id3' && id != '$id4' && campo1 = '$var1' && campo2 = '$var2' ORDER BY RAND() LIMIT 2";
Código PHP:
Ver original
  1. $query = mysqli_query($conexion, $sql);