Foros del Web » Programando para Internet » PHP »

Duda con pequeño formulario. Novato

Estas en el tema de Duda con pequeño formulario. Novato en el foro de PHP en Foros del Web. Hola tengo este archivo de aqui abao (busqueda.php) que es un formulario que son dos casilllas y un boton de ""Enviar". Código: <!DOCTYPE HTML PUBLIC ...
  #1 (permalink)  
Antiguo 17/09/2008, 03:36
 
Fecha de Ingreso: septiembre-2008
Mensajes: 146
Antigüedad: 15 años, 8 meses
Puntos: 1
Duda con pequeño formulario. Novato

Hola

tengo este archivo de aqui abao (busqueda.php) que es un formulario que son dos casilllas y un boton de ""Enviar".


Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="208" height="129" border="1">
  <tr>
    <td>Autor</td>
    <td rowspan="2"><form name="form1" method="get" action="resultados.php">
      <input name="autor" type="text" id="autor">
      <input name="cancion" type="text" id="cancion">
      <input type="submit" name="Submit" value="Enviar">
    </form>      <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p></td>
  </tr>
  <tr>
    <td>Cancion</td>
  </tr>
</table>
</body>
</html>

Despues de rellenar uno de los dos campos y darle al boton "Enviar" me deberia salir otra pagina con los resultados de la busqueda. Es decir.

Si en la pagina de busqueda puse:

- Manolo Escobar
-

en la pagina de resultados deberia salir:

- Manolo Escobar
- Mi carro


Mi problema es que en vez de salirme eso, me salen estos dos mensajes:



Warning: mysql_select_db(): supplied resource is not a valid MySQL-Link resource in c:\program files\easyphp1-7\www\practicaro\resultados.php on line 17

Warning: mysql_query(): supplied resource is not a valid MySQL-Link resource in c:\program files\easyphp1-7\www\practicaro\resultados.php on line 19


Mas datos:

el archivo de resultados.php es el siguiente:

Código:
<?php require_once('Connections/Prueba.php'); ?>
<?php
mysql_select_db($database_Prueba, $Prueba);
$query_Prueba = "SELECT * FROM table1 WHERE table1.Cancion='Un dia en el mundo'";
$Prueba = mysql_query($query_Prueba, $Prueba) or die(mysql_error());
$row_Prueba = mysql_fetch_assoc($Prueba);
$totalRows_Prueba = mysql_num_rows($Prueba);

$varAutor_Prueba2 = "%";
if (isset($GET_['autor'])) {
  $varAutor_Prueba2 = (get_magic_quotes_gpc()) ? $GET_['autor'] : addslashes($GET_['autor']);
}
$varCancion_Prueba2 = "%";
if (isset($GET_['cancion'])) {
  $varCancion_Prueba2 = (get_magic_quotes_gpc()) ? $GET_['cancion'] : addslashes($GET_['cancion']);
}
mysql_select_db($database_Prueba, $Prueba);
$query_Prueba2 = sprintf("SELECT * FROM table1 WHERE table1.Autor LIKE '%s' AND table1.Cancion LIKE '%s'", $varAutor_Prueba2,$varCancion_Prueba2);
$Prueba2 = mysql_query($query_Prueba2, $Prueba) or die(mysql_error());
$row_Prueba2 = mysql_fetch_assoc($Prueba2);
$totalRows_Prueba2 = mysql_num_rows($Prueba2);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="200" border="1">
  <tr>
    <td>Autor</td>
    <td><?php echo $row_Prueba2['Autor']; ?></td>
  </tr>
  <tr>
    <td>Cancion</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>
<?php
mysql_free_result($Prueba);

mysql_free_result($Prueba2);
?>
Ciao
  #2 (permalink)  
Antiguo 17/09/2008, 03:53
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Duda con pequeño formulario. Novato

Tu problema nada tiene que ver con el formulario, sino en el manejo de la conexión a la BD. Te lo dice el error:
supplied resource is not a valid MySQL-Link resource
el parámetro que estás usando en las funciones NO SON enlaces (conexiones) válidas. Y es que en tu código estás re-escribiendo las variables!! ... y el definir la BD con la que vas a trabajar solo es necesario una vez (a menos que necesites cambiar, claro está). ¿errores de copy&paste?

Cita:
Iniciado por tirengarfio Ver Mensaje
mysql_select_db($database_Prueba, $Prueba);
$query_Prueba = "SELECT * FROM table1 WHERE table1.Cancion='Un dia en el mundo'";
$Prueba = mysql_query($query_Prueba, $Prueba) or die(mysql_error());
[...]
mysql_select_db($database_Prueba, $Prueba); << Esto es innecesario
$query_Prueba2 = sprintf("SELECT * FROM table1 WHERE table1.Autor LIKE '%s' AND table1.Cancion LIKE '%s'", $varAutor_Prueba2,$varCancion_Prueba2);
$Prueba2 = mysql_query($query_Prueba2, $Prueba) or die(mysql_error());
www.php.net/mysql

Si consultas, verás que ni siquiera es un parámetro obligatorio sino opcional.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 17/09/2008, 04:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 146
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Duda con pequeño formulario. Novato

Saludos de nuevo,

gracias por tu respuesta, estoy haciendo la pagina con Dreamweaver.

Ademas de la linea que me comentas que es innecesaria he quitado parte de la linea 19.

Ya no da error, pero no aparece nada en resultados.php al intentar buscar algo...


Código PHP:
<?php require_once('Connections/Prueba.php'); ?>
<?php
mysql_select_db
($database_Prueba$Prueba);
$query_Prueba "SELECT * FROM table1 WHERE table1.Cancion='Un dia en el mundo'";
$Prueba mysql_query($query_Prueba$Prueba) or die(mysql_error());
$row_Prueba mysql_fetch_assoc($Prueba);
$totalRows_Prueba mysql_num_rows($Prueba);

$varAutor_Prueba2 "%";
if (isset(
$GET_['autor'])) {
  
$varAutor_Prueba2 = (get_magic_quotes_gpc()) ? $GET_['autor'] : addslashes($GET_['autor']);
}
$varCancion_Prueba2 "%";
if (isset(
$GET_['cancion'])) {
  
$varCancion_Prueba2 = (get_magic_quotes_gpc()) ? $GET_['cancion'] : addslashes($GET_['cancion']);
}

$query_Prueba2 sprintf("SELECT * FROM table1 WHERE table1.Autor LIKE '%s' AND table1.Cancion LIKE '%s'"$varAutor_Prueba2,$varCancion_Prueba2);
$Prueba2 = die(mysql_error());
$row_Prueba2 mysql_fetch_assoc($Prueba2);
$totalRows_Prueba2 mysql_num_rows($Prueba2);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="200" border="1">
  <tr>
    <td>Autor</td>
    <td><?php echo $row_Prueba2['Autor']; ?></td>
  </tr>
  <tr>
    <td>Cancion</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>
<?php
mysql_free_result
($Prueba);

mysql_free_result($Prueba2);
?>

Última edición por jam1138; 17/09/2008 a las 09:50 Razón: Coloreo código
  #4 (permalink)  
Antiguo 17/09/2008, 08:02
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Duda con pequeño formulario. Novato

Hola...
prueba esto:

resultado.php
Código PHP:
<?php
$conexion
=mysql_connect("localhost","root","clave");
mysql_select_db("nombre_base_datos");

$autor=$_REQUEST['autor']; //recibiendo los valores
$sql="SELECT * FROM table1 WHERE Autor='$autor'"//consulta por autor
$result=mysql_query($sql,$conexion);
$row=mysql_fetch_array($result);

echo 
" VidalSoft"."<br>";
echo 
" ----------"."<br>";
echo 
" Autor:".$autor."<br>";
echo 
" Cancion:".$row['cancion']; //da como resultado el registro con campo 'cancion' de la tabla resultante...
?>
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]

Última edición por vidalsoft; 17/09/2008 a las 08:08
  #5 (permalink)  
Antiguo 17/09/2008, 08:45
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Duda con pequeño formulario. Novato

Que tal tirengarfio, y de donde obtienes este tipo de variables globales?$GET_['autor'], desde hay radica tu problema debe ser así:

Código PHP:
$varAutor_Prueba2 "%";
if (isset(
$_GET['autor'])) {
  
$varAutor_Prueba2 = (get_magic_quotes_gpc()) ? $_GET['autor'] : addslashes($_GET['autor']);
}
$varCancion_Prueba2 "%";
if (isset(
$_GET['cancion'])) {
  
$varCancion_Prueba2 = (get_magic_quotes_gpc()) ? $_GET['cancion'] : addslashes($_GET['cancion']); 

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 07:09.