Tomar el valor completo de un listbox
Publicado por didi (13 intervenciones) el 08/11/2007 15:15:00
Holas!!!
Tengo el siguiente problema:
Cuando tomo los valores que están en los listbox para realizar la consulta a la base de datos sucede que, si el valor es compuesto ejemplo: un país: PUERTO RICO, sólo me está tomando la palabra PUERTO... obviamente que al buscar en la base de datos no va a encontrar ningún país llamado PUERTO. En caso contrario si elijo VENEZUELA no hay ningún problema sí me realiza la búsqueda correcta. No sé que puede estar pasando.
Mi código es este:
<?php
$link= mysql_connect ('localhost','root','');
if (!$link){
die ("Error al tratar de conectar ".mysql_error());
}
$db_sel=mysql_select_db('db_LG',$link);
if (!$db_sel){
die("No se pudo seleccionar la base de datos: ".mysql_error());
}
//Partes del Query de búsqueda se arman según las opciones seleccionadas
$sql="select ID_LEAD,CORPORATE_ID_EMPLOYEE,SLOGAN,REGISTRATION_DATE,LAST_UPDATE,CUSTOMER,EMPLOYEE,EMPLOYEE_AREA,RESPONSIBLE,RESPONSIBLE_AREA,STATUS,DETAILS,VALUE,SIO,COMMENTS,COUNTRY,LEAD_FROM from tbl_lead where ";
$sql_country="COUNTRY = '{$_POST['slc_country']}'";
$sql_customer="CUSTOMER = '{$_POST['slc_customer']}'";
$sql_employee="CORPORATE_ID_EMPLOYEE = '{$_POST['slc_employee']}'";
$sql_employee_area= "EMPLOYEE_AREA='{$_POST['slc_employee_area']}'";
$sql_responsible = "RESPONSIBLE = '{$_POST['slc_responsible']}'";
$sql_responsible_area = "RESPONSIBLE_AREA = '{$_POST['slc_responsible_area']}'";
$sql_status=@$_POST["slc_status"];
$sql_status2="";
//recorremos el array de cervezas seleccionadas. No olvidarse q la primera posición de un array es la 0
for ($i=0;$i<count($sql_status);$i++)
{
if ($sql_status[$i]!="ALL")
{
$sql_status2= $sql_status2."'".$sql_status[$i]."'".",";
}
}
if (trim(substr($sql_status2, -1))==",") {
$resta=strlen($sql_status2)-1;
$sql_status2=substr($sql_status2,0,$resta);
}
$sql_status3 = " STATUS in (".$sql_status2.")";
//Matriz con los querys
$querys[0] = $sql_country;
$querys[1] = $sql_customer;
$querys[2] = $sql_employee;
$querys[3] = $sql_employee_area;
$querys[4] = $sql_responsible;
$querys[5] = $sql_responsible_area;
//La matriz que contiene los valores para asignarlos al query
$valores[0] = $_POST['slc_country'];
$valores[1] = $_POST['slc_customer'];
$valores[2] = $_POST['slc_employee'];
$valores[3] = $_POST['slc_employee_area'];
$valores[4] = $_POST['slc_responsible'];
$valores[5] = $_POST['slc_responsible_area'];
//Se inicializan los índices
$i=0;
$j=0;
for ($i=0;$i<5;$i++){
if ($valores[$j]!="ALL") {
$sql = $sql . $querys[$i] . " AND ";
}
$j++;
}
if ($sql_status2!="") {
$sql=trim($sql).$sql_status3;
}
$sql = trim($sql) ." COUNTRY<>''";
$query_all= $sql." order by COUNTRY";
$resultado_all=mysql_query($query_all,$link);
$total_all=mysql_num_rows($resultado_all);
echo $query_all;
//exit;
?>
Por favor les agradecería muchísimo me ayudaran.
Tengo el siguiente problema:
Cuando tomo los valores que están en los listbox para realizar la consulta a la base de datos sucede que, si el valor es compuesto ejemplo: un país: PUERTO RICO, sólo me está tomando la palabra PUERTO... obviamente que al buscar en la base de datos no va a encontrar ningún país llamado PUERTO. En caso contrario si elijo VENEZUELA no hay ningún problema sí me realiza la búsqueda correcta. No sé que puede estar pasando.
Mi código es este:
<?php
$link= mysql_connect ('localhost','root','');
if (!$link){
die ("Error al tratar de conectar ".mysql_error());
}
$db_sel=mysql_select_db('db_LG',$link);
if (!$db_sel){
die("No se pudo seleccionar la base de datos: ".mysql_error());
}
//Partes del Query de búsqueda se arman según las opciones seleccionadas
$sql="select ID_LEAD,CORPORATE_ID_EMPLOYEE,SLOGAN,REGISTRATION_DATE,LAST_UPDATE,CUSTOMER,EMPLOYEE,EMPLOYEE_AREA,RESPONSIBLE,RESPONSIBLE_AREA,STATUS,DETAILS,VALUE,SIO,COMMENTS,COUNTRY,LEAD_FROM from tbl_lead where ";
$sql_country="COUNTRY = '{$_POST['slc_country']}'";
$sql_customer="CUSTOMER = '{$_POST['slc_customer']}'";
$sql_employee="CORPORATE_ID_EMPLOYEE = '{$_POST['slc_employee']}'";
$sql_employee_area= "EMPLOYEE_AREA='{$_POST['slc_employee_area']}'";
$sql_responsible = "RESPONSIBLE = '{$_POST['slc_responsible']}'";
$sql_responsible_area = "RESPONSIBLE_AREA = '{$_POST['slc_responsible_area']}'";
$sql_status=@$_POST["slc_status"];
$sql_status2="";
//recorremos el array de cervezas seleccionadas. No olvidarse q la primera posición de un array es la 0
for ($i=0;$i<count($sql_status);$i++)
{
if ($sql_status[$i]!="ALL")
{
$sql_status2= $sql_status2."'".$sql_status[$i]."'".",";
}
}
if (trim(substr($sql_status2, -1))==",") {
$resta=strlen($sql_status2)-1;
$sql_status2=substr($sql_status2,0,$resta);
}
$sql_status3 = " STATUS in (".$sql_status2.")";
//Matriz con los querys
$querys[0] = $sql_country;
$querys[1] = $sql_customer;
$querys[2] = $sql_employee;
$querys[3] = $sql_employee_area;
$querys[4] = $sql_responsible;
$querys[5] = $sql_responsible_area;
//La matriz que contiene los valores para asignarlos al query
$valores[0] = $_POST['slc_country'];
$valores[1] = $_POST['slc_customer'];
$valores[2] = $_POST['slc_employee'];
$valores[3] = $_POST['slc_employee_area'];
$valores[4] = $_POST['slc_responsible'];
$valores[5] = $_POST['slc_responsible_area'];
//Se inicializan los índices
$i=0;
$j=0;
for ($i=0;$i<5;$i++){
if ($valores[$j]!="ALL") {
$sql = $sql . $querys[$i] . " AND ";
}
$j++;
}
if ($sql_status2!="") {
$sql=trim($sql).$sql_status3;
}
$sql = trim($sql) ." COUNTRY<>''";
$query_all= $sql." order by COUNTRY";
$resultado_all=mysql_query($query_all,$link);
$total_all=mysql_num_rows($resultado_all);
echo $query_all;
//exit;
?>
Por favor les agradecería muchísimo me ayudaran.
Valora esta pregunta


0