Foros del Web » Programando para Internet » PHP »

No logro hacerlo...

Estas en el tema de No logro hacerlo... en el foro de PHP en Foros del Web. Hola a todos, requiero hacer que el código que estoy manejando busque información en 10 columnas de la base de datos y me liste la ...
  #1 (permalink)  
Antiguo 29/03/2013, 13:01
 
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
No logro hacerlo...

Hola a todos, requiero hacer que el código que estoy manejando busque información en 10 columnas de la base de datos y me liste la consulta….. El problema es que el código que tengo lo hace muuuy bien pero solo busca en la Zona01 y tengo que lograr que busque desde la Zona01 hasta la Zona10, como puedo hacer eso?

NOTA: donde dice: aaa, bbb, ccc y ddd son puntos donde va la informacion personal de la bd solo que le puse esas letras para mostrar el codigo

<?php
session_start();
if(!$_SESSION){
echo '<script lenguage = javascript>
alert ("usuario no autenticado")
self.location = "/../index.html"
</script>';
}
$id_usuario = $_SESSION ['id_usuario'];
?>
<?php
print_r( $_GET );
echo '<br />';
$o = '';
// Pon la información correspondiente:
$data = array( "aaa","bbb","ccc" );
$con = mysql_connect( $data[0], $data[1], $data[2] );

if( ! $con ) {
$o = 'Error: no se pudo conectar con el servidor. ' . mysql_error();
echo $o;
exit;
}

// Cambia el nombre de la base de datos por la tuya
$db_name = 'ddd';

if( ! mysql_select_db( $db_name, $con ) ) {
$o = 'Error: no se pudo seleccionar la base de datos "' . $db_name . '". ' . mysql_error();
echo $o;
exit;
}

$table = 'Clientes'; // Cambia este SÓLO si sabes lo que hace.
$query = "SELECT * FROM $table";
$where = " WHERE";
$and = 0;

if( isset( $_GET['Zona01'] ) && ! empty( $_GET['Zona01'] ) ) {
$where .= " Zona01 LIKE '%$_GET[Zona01]%'";
$and = 1;
}


if( isset( $_GET['Habitaciones'] ) ) {
$e = explode( ' - ', $_GET['Habitaciones'] );

if( is_numeric( $e[0] ) && is_numeric( $e[1] ) ) {
if( $and === 1 )
$where .= " AND";


$where .= " Habitaciones BETWEEN $e[0] AND $e[1]";
$and = 1;
}
}

if( isset( $_GET['Presupuesto_Maximo'] ) ) {
$e = explode( ' - ', $_GET['Presupuesto_Maximo'] );

if( is_numeric( $e[0] ) && is_numeric( $e[1] ) ) {
if( $and === 1 )
$where .= " AND";


$where .= " Presupuesto_Maximo BETWEEN $e[0] AND $e[1]";
$and = 1;
}
}

if( strlen( $where ) > 6 )
$query .= $where;

$result = mysql_query( $query, $con );

if( $result ) {
$nrows = mysql_num_rows( $result );

if( $nrows > 0 ) {
$o = '<table>
<thead>
<tr>
<th>Zona</th>
<th>Nombre</th>
<th>Presupuesto</th>
<th>Habitaciones</th>
<th>Baños</th>
<th>Estacionamientos</th>
<th>Telefono Celular</th>
<th>Correo</th>
<th>Notas</th>
</tr>
</thead>
<tbody>';

while( $row = mysql_fetch_assoc( $result ) ) {
$o .= "<tr>";
$o .= "<td>$row[Zona01]</td>";
$o .= "<td>$row[Nombre_Completo]</td>";
$o .= "<td>$row[Presupuesto_Maximo]</td>";
$o .= "<td>$row[Habitaciones]</td>";
$o .= "<td>$row[Banos]</td>";
$o .= "<td>$row[Estacionamiento]</td>";
$o .= "<td>$row[Telefono_Celular_1]</td>";
$o .= "<td>$row[Email]</td>";
$o .= "<td>$row[Notas]</td>";
$o .= "</tr>";
}

$o .= "</tbody></table>";
} else {
$o = 'No hubieron resultados';
}
} else {
$o = 'Error: no se ejecutó la consulta. ' . mysql_error( $con );
}

mysql_free_result( $result );
mysql_close( $con );
echo $o . "<p>$query</p>";
exit;
?>
  #2 (permalink)  
Antiguo 29/03/2013, 13:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: No logro hacerlo...

PHP no es tema del foro MySQL.
Muevo el post al foro correspondiente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/03/2013, 18:44
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 566
Antigüedad: 18 años, 5 meses
Puntos: 24
Respuesta: No logro hacerlo...

Te aconsejo que uses el highlight de PHP para poder leer mejor el codigo...

Mira las lineas en donde puedes leer:
Código PHP:
Ver original
  1. if( isset( $_GET['Zona01'] ) && ! empty( $_GET['Zona01'] ) ) {
  2. $where .= " Zona01 LIKE '%$_GET[Zona01]%'";
  3. $and = 1;
  4. }

Ahi puedes agregar las zonas
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida
  #4 (permalink)  
Antiguo 29/03/2013, 20:45
 
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: No logro hacerlo...

Cita:
Iniciado por vb2005 Ver Mensaje
Te aconsejo que uses el highlight de PHP para poder leer mejor el codigo...

Mira las lineas en donde puedes leer:
Código PHP:
Ver original
  1. if( isset( $_GET['Zona01'] ) && ! empty( $_GET['Zona01'] ) ) {
  2. $where .= " Zona01 LIKE '%$_GET[Zona01]%'";
  3. $and = 1;
  4. }

Ahi puedes agregar las zonas
Hola amigo vb2005, gracias por tu pronta respuesta, pero se muy poco de este codigo y me gustaria si me pudieras escribir el codigo ya que no se como modificarlo sin dañarlo, alguien me dijo que (concatenando) pero no se hacerlo ni si tampoco seria la manera correcta.... se que si me equivoco en algun signo ya no funcionara el codigo, si puedes dame una mano con eso mi pana. Gracias

Etiquetas: busqueda, mysql, phpmyadmin
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:43.