En mi base de datos, tengo una columna de estado en la que uso números para representar el estado de un producto. Cada uno de estos números representa un valor de cadena, por ejemplo, 1 está abierto, 2 está cerrado, etc. Ahora, para mostrar un recuento de estos estados en mi página web, estoy convirtiendo los siguientes números en una cadena para mostrárselos al usuario:
array(1=>'Open',8=>'Hot',2=>'Closed',3=>'Transacted',4=>'Dead',9=>'Follow Up',11=>'Working')Ahora tengo este conteo como un enlace en el que se puede hacer clic, donde el usuario puede hacer clic en el conteo y lo lleva a una nueva página que muestra los detalles de ese artículo. Para lo cual estoy usando esto:
<a target='_blank' href='".site_url('reports/viewall?status=' . $status)."'>".$num."</a> Esto pasa correctamente el argumento a la URL y muestra http://localhost/reports/viewall?status=Closed
Ahora estoy almacenando esta variable en mi controlador como $estado, pero no puedo usar este valor de cadena en mi consulta de modelo, que es este, ya que está dando el valor de cadena de estado y no el número relacionado con él:
SELECT * from TABLE1 where status = $statusClase de controlador donde estoy almacenando el estado de $:
$status = $this->input->get('status'); $content['individualleads'] = $this->leads_model->get_all_leads($status )->result();Creo que el mejor enfoque sería pasar el número entero en la URL y usar el valor del texto de la matriz solo cuando es texto destinado al usuario. Por lo que sólo:
http://localhost/reports/viewall?status=2Otra alternativa es voltear la matriz y acceder a la tecla de texto:
$status_num = array_flip($array)[$status];O busque la matriz original:
$status_num = array_search($status, $array); Probablemente sería más estándar tener una tabla status_types con el entero status_id y el texto status_text para cada estado y unirse a esto al recuperar el estado.