MySQL выбрать конвертировать в Zend Framework Select

Я пытаюсь преобразовать простые MySQL запросы на выборку в Zend Framework Select

так что вот так:

<?php
$HOST = "localhost";
$USER = "root";
$PASS = "";

$conexion = mysql_connect($HOST,$USER,$PASS) or die("Problemas en la conexion");
mysql_select_db("rapidoypoderosodb",$conexion) or die("Problemas en la seleccion de la base de  datos");
mysql_query("SET NAMES 'utf8'");$sql= "SELECT DISTINCT  * FROM especialistas WHERE activo='1'order by estado";
$result=mysql_query($sql);
$options = '<option id="idSelect" value="">seleccione estado...</option>';

while ($row=mysql_fetch_array($result))
{
$estado = $row["estado"];
$options.='<OPTION VALUE="'.$estado.'">'.$estado.'</option>';
}
echo $options;
?>

и я преобразовал:

<?php
global $WHG_DB_HOST, $WHG_DB_USER,$WHG_DB_PASSWD,$WHG_DB_REPLDB;
$db = new Zend_Db_Adapter_Pdo_Mysql(array(
'host' => $WHG_DB_HOST,
'username' => $WHG_DB_USER,
'password' => $WHG_DB_PASSWD,
'dbname'   => $WHG_DB_REPLDB
));
$db->query("SET NAMES 'utf8'");
$select = $db->select()
->distinct()
->from(array('e' => 'especialistas'))
->where('e.activo = 1', $VARIABLE)
->order('e.estado');

$result = $db->fetchAll($select);
$options = '<option id="idSelect" value="">seleccione estado...</option>';
foreach($result as $row){
$estado = $row["estado"];
$options.='<OPTION VALUE="'.$estado.'">'.$estado.'</option>';
}
echo $options;
?>

проблема в том, что не работает теория, мой index.php дает мне список для выбора одного варианта и не работает, почему?

0

Решение

Самый простой способ отладки Select это вручную попробовать сгенерированный запрос SQL. Просто повторяйте выбранный вами экземпляр, __toString Метод соберет запрос.

Что касается вашего кода, в предложении where есть только одна маленькая ошибка. Определите значения как второй параметр, чтобы он правильно экранировался и заключался в кавычки.

    $select = $db->select()
->distinct()
->from(['e' => 'especialistas'])
->where('e.activo = ?', 1)
->order('e.estado');
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]