Foros del Web » Creando para Internet » Herramientas y Software »

Busqueda Avanzada Dreamweaver php/mysql

Estas en el tema de Busqueda Avanzada Dreamweaver php/mysql en el foro de Herramientas y Software en Foros del Web. Buenas he realizado una pagina principal donde introducir una busqueda avanzada tanto de nombre como Dni, el problema surgue en que quiero que si por ...
  #1 (permalink)  
Antiguo 15/12/2011, 06:13
 
Fecha de Ingreso: diciembre-2011
Mensajes: 50
Antigüedad: 12 años, 5 meses
Puntos: 0
Busqueda Avanzada Dreamweaver php/mysql

Buenas he realizado una pagina principal donde introducir una busqueda avanzada tanto de nombre como Dni, el problema surgue en que quiero que si por ejemplo solo se quiere buscar por dni el textarea del nombre no se quede como si fuese un vacio si no como si no se seleccionase y viceversa supongo que el problema estara en el query, para la de nombre tengo la siguiente consulta

SELECT NIF_CIF, NOMBRE, POBLACION, PROVINCIA
FROM procuradores
WHERE upper(NOMBRE) LIKE upper('%colname%')

Nombre: colname
valor: -1
$_POST['NOMBRE']


y el DNI

SELECT NIF_CIF, NOMBRE, POBLACION, PROVINCIA
FROM procuradores
WHERE NIF_CIF ='colnif'

Nombre: colnif
valor: -1
$_POST['NIF']



He probado a poner las dos consultas juntas por medio del AND pero tengo que rellenar los dos campos, lo unico que quiero es que si solo se va buscar en dni y que el del nombre sea inutilizado





SALUDOS Y GRACIAS POR LAS MOLESTIAS
  #2 (permalink)  
Antiguo 15/12/2011, 09:37
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 50
Respuesta: Busqueda Avanzada Dreamweaver php/mysql

En tus consultas...las que genera dreamweaver después de colname hay un campo que debe decir para cada consulta:
Código PHP:
Ver original
  1. if (isset($_POST['NOMBRE']))
  2. if (isset($_POST['NIF']))

Le agregas esto:

Código PHP:
Ver original
  1. if (isset($_POST['NOMBRE']) && !empty($_POST['NOMBRE']))
  2. if (isset($_POST['NIF']) && !empty($_POST['NIF']))


Con eso el formulario sólo procesará donde el POST exista y que además no esté vacío el campo de tu formulario, en lo sucesivo procura pegar el código generado por dreamweaver, así será más fácil buscar una solución,

Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #3 (permalink)  
Antiguo 16/12/2011, 02:25
 
Fecha de Ingreso: diciembre-2011
Mensajes: 50
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Busqueda Avanzada Dreamweaver php/mysql

Nada no funciona hice tal como me dijistes sustituir esta parte del codigo
Código PHP:
$colname_procurador "-1";
if (isset(
$_POST['BUSCAR'])) {
  
$colname_procurador = (get_magic_quotes_gpc()) ? $_POST['BUSCAR'] : addslashes($_POST['BUSCAR']);
}
$colnif_procurador "-1";
if (isset(
$_POST['BUSNIF'])) {
  
$colnif_procurador = (get_magic_quotes_gpc()) ? $_POST['BUSNIF'] : addslashes($_POST['BUSNIF']);
}
mysql_select_db($database_cn$cn);
$query_procurador sprintf("SELECT NIF_CIF, NOMBRE, POBLACION, PROVINCIA FROM procuradores WHERE upper(NOMBRE) LIKE upper('%%%s%%') AND NIF_CIF = '%s' "$colname_procurador,$colnif_procurador);
$procurador mysql_query($query_procurador$cn) or die(mysql_error());
$row_procurador mysql_fetch_assoc($procurador);
$totalRows_procurador mysql_num_rows($procurador); 
y la cambie por

Código PHP:
$colname_procurador "-1";
if (isset(
$_POST['BUSCAR']) && !empty($_POST['BUSNIF'])) {
  
$colname_procurador = (get_magic_quotes_gpc()) ? $_POST['BUSCAR'] : addslashes($_POST['BUSCAR']);
}
$colnif_procurador "-1";
if (isset(
$_POST['BUSNIF']) && !empty($_POST['BUSCAR'])) {
  
$colnif_procurador = (get_magic_quotes_gpc()) ? $_POST['BUSNIF'] : addslashes($_POST['BUSNIF']);
}
mysql_select_db($database_cn$cn);
$query_procurador sprintf("SELECT NIF_CIF, NOMBRE, POBLACION, PROVINCIA FROM procuradores WHERE upper(NOMBRE) LIKE upper('%%%s%%') AND NIF_CIF = '%s' "$colname_procurador,$colnif_procurador);
$procurador mysql_query($query_procurador$cn) or die(mysql_error());
$row_procurador mysql_fetch_assoc($procurador);
$totalRows_procurador mysql_num_rows($procurador); 
Y en la busqueda no saca nada al rellenar alguno de los textarea tengo que poner en los dos y tienen que ser coincidente

dejo una captura del juego de registros por si sirve de ayuda



Cita:
SELECT NIF_CIF, NOMBRE, POBLACION, PROVINCIA
FROM procuradores
WHERE upper(NOMBRE) LIKE upper('%colname%') AND NIF_CIF = 'colnif'

SALUDOS Y GRACIAS POR LAS MOLESTIAS!!!
  #4 (permalink)  
Antiguo 16/12/2011, 06:43
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 50
Respuesta: Busqueda Avanzada Dreamweaver php/mysql

Hay varios errores en tu código, primero haz dos consultas distintas no es necesario el AND en tu consulta ya que quieres dos búsquedas distintas...luego de eso la línea
Código PHP:
Ver original
  1. if (isset($_POST['BUSNIF']) && !empty($_POST['BUSCAR']))
Debe decir
Código PHP:
Ver original
  1. if (isset($_POST['BUSNIF']) && !empty($_POST['BUSNIF']))

Para la consulta busnif y en la consulta buscar usar buscar 2 veces, tal cuál como lo indiqué en el ejemplo.

Ahora otra duda el dato con el que haces POST ahora se llama Busnif y BUSCAR de dónde salen?, no los veo en tu base de datos?, este es un ejemplo para buscar Nombre en tu base de datos:
Código PHP:
Ver original
  1. $colname_procurador = "-1";
  2. if (isset($_POST['NOMBRE']) && !empty($_POST['NOMBRE'])) {
  3.   $colname_procurador = $_POST['NOMBRE'];
  4. }
  5. mysql_select_db($database_cn, $cn);
  6. $query_procurador = sprintf("SELECT NIF_CIF, NOMBRE, POBLACION, PROVINCIA FROM procuradores WHERE NOMBRE LIKE %s", GetSQLValueString("%" . $colname_procurador . "%", "text"));
  7. $procurador = mysql_query($query_procurador, $cn) or die(mysql_error());
  8. $row_procurador = mysql_fetch_assoc($procurador);
  9. $totalRows_procurador = mysql_num_rows($procurador);


y en tu formulario de búsqueda se debe llamar al campo de texto NOMBRE...lo mismo para el otro campo que quieres buscar,
Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby

Última edición por snowmanchip; 16/12/2011 a las 07:06
  #5 (permalink)  
Antiguo 16/12/2011, 07:25
 
Fecha de Ingreso: diciembre-2011
Mensajes: 50
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Busqueda Avanzada Dreamweaver php/mysql

Si era diferente porque en la primera explicacion no tenia el codigo delante y no sabia exactamente como lo siento.

Bien, tengo dudas tu me dices que cree dos juegos de registros pero en dreamweaver no puedo meterlo luego dentro de la tabla dinamica los dos juegos solo me deja uno

Código PHP:
  <?php do { ?>
    <tr>
      <td><a href="procurador.php?provincia=<?php echo $row_procurador['PROVINCIA']; ?>&amp;nif=<?php echo $row_procurador['NIF_CIF']; ?>"><?php echo $row_procurador['NIF_CIF']; ?></a></td>
      <td><?php echo $row_procurador['NOMBRE']; ?></td>
      <td><?php echo $row_procurador['POBLACION']; ?></td>
      <td><?php echo $row_procurador['PROVINCIA']; ?></td>
    </tr>
    <?php } while ($row_procurador mysql_fetch_assoc($procurador)); ?>
</table>
como podria indicarselo ???

se supone que en un juego de registros dego tener ejemplo NOMBRE
Cita:
SELECT NIF_CIF, NOMBRE, POBLACION, PROVINCIA
FROM procuradores
WHERE upper(NOMBRE) LIKE upper('%colname%')
y luego otro con el DNI

Cita:
SELECT NIF_CIF, NOMBRE, POBLACION, PROVINCIA
FROM procuradores
WHERE NIF_CIF = 'colnif'

si solo usaria la busqueda pormedio de nombre seria tal que asi:

Código PHP:
$colname_procurador "-1";
if (isset(
$_POST['BUSCAR'])) {
  
$colname_procurador = (get_magic_quotes_gpc()) ? $_POST['BUSCAR'] : addslashes($_POST['BUSCAR']);
}
mysql_select_db($database_cn$cn);
$query_procurador sprintf("SELECT NIF_CIF, NOMBRE, POBLACION, PROVINCIA FROM procuradores WHERE upper(NOMBRE) LIKE upper('%%%s%%') "$colname_procurador);
$procurador mysql_query($query_procurador$cn) or die(mysql_error());
$row_procurador mysql_fetch_assoc($procurador);
$totalRows_procurador mysql_num_rows($procurador); 
Que debo hacer?



MUCHAS GRACIAS POR LAS MOLESTIAS
  #6 (permalink)  
Antiguo 16/12/2011, 07:34
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 50
Respuesta: Busqueda Avanzada Dreamweaver php/mysql

Mira esto lo acabo de hacer con Dreamweaver, es una consulta que busca comunas o sectores...revísala y sólo reemplaza los valores de tus tablas para que veas el resultado, ..saludos


Código PHP:
Ver original
  1. <?php require_once('Connections/administracion.php');
  2.  
  3. if (!function_exists("GetSQLValueString")) {
  4. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  5. {
  6.   if (PHP_VERSION < 6) {
  7.     $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  8.   }
  9.  
  10.   $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  11.  
  12.   switch ($theType) {
  13.     case "text":
  14.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  15.       break;    
  16.     case "long":
  17.     case "int":
  18.       $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  19.       break;
  20.     case "double":
  21.       $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
  22.       break;
  23.     case "date":
  24.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  25.       break;
  26.     case "defined":
  27.       $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  28.       break;
  29.   }
  30.   return $theValue;
  31. }
  32. }
  33.  
  34. $colname_comuna = "-1";
  35. if (isset($_POST['comuna']) && !empty($_POST['comuna'])) {
  36.   $colname_comuna = $_POST['comuna'];
  37. }
  38. mysql_select_db($database_administracion, $administracion);
  39. $query_comuna = sprintf("SELECT comuna FROM comunas WHERE comuna LIKE %s", GetSQLValueString("%" . $colname_comuna . "%", "text"));
  40. $comuna = mysql_query($query_comuna, $administracion) or die(mysql_error());
  41. $row_comuna = mysql_fetch_assoc($comuna);
  42. $totalRows_comuna = mysql_num_rows($comuna);
  43.  
  44. $colname_sector = "-1";
  45. if (isset($_POST['sector'])&& !empty($_POST['sector']) ) {
  46.   $colname_sector = $_POST['sector'];
  47. }
  48. mysql_select_db($database_administracion, $administracion);
  49. $query_sector = sprintf("SELECT sector FROM sector WHERE sector LIKE %s", GetSQLValueString("%" . $colname_sector . "%", "text"));
  50. $sector = mysql_query($query_sector, $administracion) or die(mysql_error());
  51. $row_sector = mysql_fetch_assoc($sector);
  52. $totalRows_sector = mysql_num_rows($sector);
  53. ?>
  54. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  55. <html xmlns="http://www.w3.org/1999/xhtml">
  56. <head>
  57. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  58. <title>Documento sin título</title>
  59. </head>
  60.  
  61. <body>
  62. <form action="busca.php" method="post">
  63.   <label for="comuna">Comuna</label>
  64.   <input type="text" name="comuna" id="comuna" />
  65.   <label for="sector">Sector</label>
  66.   <input type="text" name="sector" id="sector" />
  67.   <input type="submit" name="boton" id="boton" value="Buscar" />
  68. </form>
  69.  
  70. <?php do { ?>
  71.   <table>
  72.     <tr>
  73.       <td><?php echo $row_comuna['comuna']; ?></td>
  74.     </tr>
  75.   </table>
  76.  
  77. <?php } while ($row_comuna = mysql_fetch_assoc($comuna)); ?>
  78. <?php do { ?>
  79.   <table>
  80.     <tr>
  81.       <td><?php echo $row_sector['sector']; ?></td>
  82.     </tr>
  83.   </table>
  84.   <?php } while ($row_sector = mysql_fetch_assoc($sector)); ?>
  85.  
  86.  
  87. </body>
  88. </html>
  89. <?php
  90.  
  91. ?>
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #7 (permalink)  
Antiguo 19/12/2011, 05:18
 
Fecha de Ingreso: diciembre-2011
Mensajes: 50
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Busqueda Avanzada Dreamweaver php/mysql

Pero tu estas haciendo busqueda de dos tablas diferentes y enteoria van a salir den dos tablas dinamicas diferentes yo quiero que salga el mismo resultado para la misma tabla dinamica, se supone que si busco por nombre pueden salir varios resultados en la tabla dinamica pero si busco NIF/CIF saldra un unico resultado y todo esto en la misma tabla dinamica

saludos
  #8 (permalink)  
Antiguo 19/12/2011, 05:57
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 50
Respuesta: Busqueda Avanzada Dreamweaver php/mysql

Para que figure sólo la tabla en la que hay respuestas debes poner un if delante de cada tabla, en dreamweaver debes usar mostrar región si el registro no está vacío en comportaminetos del servidor, seleccionando la tabla,
Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby

Etiquetas: dreamweaver
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 08:30.