Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2011, 08:27
martingb
 
Fecha de Ingreso: julio-2007
Mensajes: 15
Antigüedad: 16 años, 9 meses
Puntos: 0
Pregunta Problema con un select

Hola,

Estoy teniendo un problema con los resultados que me muestra un select ya que al hacer el JOIN me los muestra duplicados. El tema es el sig:


Tengo el sig código:

Código PHP:
<h4>Libros</h4>
<form id="form" method="post" action="libros.php">
            
<table id="box-table-a" width="475" border="1" style="text-align:center;">
            <tr> 
                <th scope="col">Titulo</th>
                <th scope="col">Autor</th>
                <th scope="col">Editorial</th>
                <th scope="col">ISBN</th>
                <th></th>
                <th scope="col"><input type="checkbox" name="checkbox" onClick="seleccionar_todo(this);"/></th>
            </tr>

// Arma la consulta y muestra la tabla con los resultados
<?php
$SQL 
"SELECT libro.*, prestamo.estado FROM libro LEFT JOIN prestamo ON libro.titulo = prestamo.titulo;" ;
 
$QUERY mysql_query$SQL ) or die (mysql_error()); 

while( 
$fil mysql_fetch_assoc$QUERY ) ) 

                     
?> 
<tr>
       <td><?php echo $fil['titulo']; ?></td>  
       <td><?php echo $fil['autor']; ?></td> 
        <td><?php echo $fil['editorial']; ?></td> 
        <td><?php echo $fil['ISBN']; ?></td>  
                     
         
 <?php

// Muestra el estado del libro recuperando el campo estado de la tabla prestamo                      
switch($fil['estado']){
    
 case 
'Disponible':
  
$dis "green.png";
 break;
                          
 case 
'Prestado':
 
$dis "red.png";
  break;
                          
  case 
'No Devuelto':
$dis "red.png";
  break;
                          
default:
 
$dis "green.png";
}

$dis '<img width="16" height="16" src="img/'.$dis.'">' ;  
?>
<td><?php echo $dis?></tb> 
<td><input name="idLibro[]" type="checkbox" value="<?php echo $fil['libroID']; ?><?php $estado ?> /></td>
<?php ?>
 
</tr>
</table>
                <p align="center" class="nav">
                  <input name="devolver" type="submit" id="Devolver" value="Devolver"  /> 
                  <input name="prestar" type="submit" id="Prestar" value="Prestar"  />
                  <input name="borrar" type="submit" id="Borrar" value="Borrar"  />
                  <input name="Modificar" type="submit" id="Modificar" value="Modificar"  />
                  <input name="agregar" type="submit" id="Agregar" value="Agregar"  /> 
                </p>
        </form>

Con esto todo bien, el tema es que al prestar un libro una vez y al devolverlo todo bien, el tema es que al prestarlo por segunda vez.. aparece dos veces en la misma tabla:

libroID titulo autor editorial ISBN estado
13 "PHP 6" "Weiro Meier" "Fox Andina" 312432 Disponible
13 "PHP 6" "Weiro Meier" "Fox Andina" 312432 Prestado
14 "Diseño " "Julio Gomez Lopez" Starbooks 978849 NULL
15 "Web Design Book" "The pepin press" "Pepin Press" 978905 Prestado
16 "Adobe Flash CS4 Pro" "Jose Luis Oros" Alfaomega 978600 Prestado
17 "La Rabia" "Rodolfo Arzac" Ciefuegos 437565 NULL


Intente modificar el query para ver si habia alguna forma pero el tema es que del mismo while salen los datos para armar la tabla principal de libros y del swich con el estado de cada libro que lo recupera de prestamo y lo muestra en la misma estructura, desconozco si puedo hacer dentro de un while de una consulta hacer otro de otra consulta...