Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/09/2006, 10:16
GikaJavi
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 8 meses
Puntos: 0
El problema es que cuando pulsas enter se hace submit del formulario pero no se setea la variable del botón de submit. Por eso, en tal caso, no se entra en la alternativa. En tu caso, te funcionaría mejor mirar si $_POST['busca'] está seteada, en lugar de $_POST['Enviar']. Además, creo que deberías poner todo el código dentro de la alternativa, porque sólo te interesa iterar en $resultado cuando se haya producido la consulta:


Código PHP:
/* Si $_POST['busca'] está seteada, es seguro que el script ha sido 
llamado por POST y si el script ha sido llamado por post mediante el 
formulario indicado, es seguro que $_POST['busca'] contiene un valor 
(aunque sea cadena vacía). */
if(isset($_POST['busca'])) {  
    
$frase$_POST['busca']; 
    
    
// Solo se ejecuta si se ha enviado el formulario
    // Conexion, seleccion de base de datos
    
$enlace mysql_connect('mysql''user''pass')
       or die(
'No pudo conectarse : ' mysql_error());
    echo 
'Conexión exitosa';
    
mysql_select_db('bd') or die('No pudo seleccionarse la BD.');
    
    
// Realizar una consulta SQL
    
$consulta "SELECT * FROM libros WHERE autor LIKE '%$frase%' OR titulo LIKE '%$frase%' OR descripcion LIKE '%$frase%'";
    
$resultado mysql_query($consulta) or die('La consulta falló: ' mysql_error());
    
    
// Impresion de resultados en HTML
    
echo "<table border=1>\n";
    while (
$linea mysql_fetch_array($resultadoMYSQL_ASSOC)) {
       echo 
"\t<tr>\n";
       foreach (
$linea as $valor_col) {
           echo 
"\t\t<td>$valor_col</td>\n";
       }
       echo 
"\t</tr>\n";
    }
    echo 
"</table>\n";
    
    
// Liberar conjunto de resultados
    
mysql_free_result($resultado);
    
    
// Cerrar la conexion
    
mysql_close($enlace);