Necesito ayuda con menu lista que carga datos de BD

Www.orinoco.es/html/busca.php
Esta es la página de prueba que estoy haciendo, no tengo ni idea de programar en php, todo está echo con los menús de dreamweaver cs3
El caso es que quiero que si seleccionas una de cada de las opciones que hay en los list menu luego haga una búsqueda en la base de datos al pulsar en el botón, insisto que no tengo ni idea de programar, pero si me pudieras hacer este ejemplo yo me calentaría la cabeza para hacerlo como quiero en realidad. Muchísimas gracias por adelantado.
El código generado por DW:
<body>
<p>
<select name="prov" id="prov" title="<?php echo $row_Recordset1['Provincia']; ?>">
<?php
do {
?>
<option value="<?php echo $row_Recordset1['Provincia']?>"><?php echo $row_Recordset1['Provincia']?></option>
<?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
$rows = mysql_num_rows($Recordset1);
if($rows > 0) {
mysql_data_seek($Recordset1, 0);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
}
?>
</select>
menu lista desplegable id=prov(provincia)</p>
<p>
<select name="tip" id="tip" title="<?php echo $row_Recordset1['Tipo']; ?>">
<?php
do {
?>
<option value="<?php echo $row_Recordset1['Tipo']?>"><?php echo $row_Recordset1['Tipo']?></option>
<?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
$rows = mysql_num_rows($Recordset1);
if($rows > 0) {
mysql_data_seek($Recordset1, 0);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
}
?>
</select>
menu lista desplegable id tip(tipo)</p>
<p> </p>
<p>
<input name="buscar" type="submit" id="buscar" value="quiero que haga Select * FROM inmuebles LIKE tip,prov" f/>
este boton (para buscar las coincidencias y mostrarlas en la tabla de esta pagina.</p>
<table width="741" height="55" border="1" cellpadding="1" cellspacing="2">
<tr>
<th scope="col"> </th>
</tr>
</table>
<p> </p>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

1 respuesta

Respuesta
1
Falta todo lo que va más arriba del body, sin eso no le hayo como ba la db
Aquí te lo pongo: debajo de esto va lo primero que te mandé.
<?php require_once('Connections/datos.php'); ?>
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_datos, $datos);
$query_Recordset1 = "SELECT * FROM inmuebles";
$Recordset1 = mysql_query($query_Recordset1, $datos) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<!--CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt-->
Muchas gracias de nuevo. :-)
Primero, no me enviaste una linea de código, ¿la linea 2 que tenia un <?php ya lo puse.
Dos, colocar un <form></form>, dentro del form lleva todo, puede llevar la tabla pero yo no la pondré.
Para la próxima enviame el archivo directamente a mi email, por que no me gusta tener que estar haciendo suposiciones,
supongamos que tu archivo se llama archivo.php
entonces el form va así
<form name="form1" method="post" action="archivo.php">
Action lleva el nombre del archivo al que se envían los datos en post
también otra cosa, el valor de el dropmenu, suele ser numérico, parece que value es igual a texto, pero si así comparas...
luego pones algo asi
dentro de el <?php ?>, arriba, al iniciar el archivo, despues de la primera linea o despues de las funciones que declara dream weaver
if(isset($_POST['prov']) && ($_POST['prov'] > 0)){
    // ESTA MAL TU SENTENCIA SQL
   $SQLstr = "SELECT * FROM inmuebles WHERE field  LIKE tip, prov";
   mysql_selected_db($database_datos, $datos);
   $Selected = mysql_query($SQLstr, $datos) or die(mysql_error());
   $row_Selected = mysql_fetch_assoc($Selected);
   $totalRows_Selected = mysql_num_rows($Selected);
}
Ahí si $totalRows_Selected > 0 quiere decir que hay registros
cada vez que quieres pasar al siguiente registro tienes que usar
$row_Selected = mysql_fetch_assoc($Selected);
cuando te devuelve null, es que ya llegaste al final
o sea has un
if(totalRows_Selected >0){
   do{
  }while($row_Selected=myswl_fetch_assoc($Selected))
}
Es un ciclo para darle toda la vuelta al registro
ahí escribes lo que quieras de la tabla
si requieres regresar al primer registro, tendrías que hacer lo mismo que al principio
espero te sirva
No he sabido hacerlo :-(
Te mando 2 archivos
1-º busca.php (es el que yo tengo en el link que puse en la pregunta que te hice)
2º- ayudabusca (es la modificación que hice según entendí de la respuesta que me diste y intentar arreglar algunos fallos que me dio) pero no hace lo que quiero no hace nada, supongo que no he hecho algo( o nada) bien de lo que me comentaste.
el link: http://www.orinoco.es/html/ayudabusca.php (el que no va)
Los he mandado al e-mail que hay en tu web ( al hotmail )
Si me lo mandaras de forma que funcionara te estaría eternamente agradecido, gracias de nuevo y siento molestar tanto.
Mandame tu db exportada desde phpmyadmin
Primer error, te dije
El <form> va dentro de el
<body>
segundo error, no es <form/> es </form>
Te lo reenvío corregido, si hay errores deben de ser muy pocos
Te he enviado la BD exportada como me pides.
http://www.orinoco.es/html/ayudabusca.php
Este es el enlace para que veas el error que da.
Muchísimas gracias, nuevamente.
El falo de la linea 107 es que el Recordset1 ya no existe o no se llama así, a lo mejor solo tienes que ver como se llama ahorita y liberarlo, si se libera dos veces, una de ellas esta mal, con que elimines la lineas la bronca 107 con eso resuelve
Mandame de nuevo lo que te envíe, es que estoy en otra pc
Ok ya lo mandé, no he dicho nada antes porque me quedé sin internet estos días, pero ya está mandado. Lo tienes en hotmail.
Cuando esté listo me lo mandas y lo publico para que todo el mundo pueda verlo.
Muchas gracias.
Okas, dame unos minutos es que yo tuve mnuchos problemas con la compu que manejo en la oficina

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas