Show the label not the value of a calc element

madpato

Member
Hello

I am trying to do a simple calc that shows the information from another table as a read-only information (since the actual input is on another form). But its not working probably because i am working on a server with php8. This code i used to make it work on 7.4.

Code:
$myDb = JFactory::getDbo();
$myQuery = $myDb->getQuery(true);

$myQuery
    ->select('grade_level')
    ->from('history')
    ->where('name_of_person =' . $myDb->quote('{persons___name}'));

$myDb->setQuery($myQuery);
$result = $myDb->loadResult();
return $result;

That should return something (using this example from another project) but instead i get an empty result.
The goal is simple, i go to the table history to retrieve the grade of the person in question.
How can i debug or directly what is wrong with my code?

Thanks in advance.
 
Try
Code:
    ->where($myDb->quoteName('name_of_person') . ' = ' . $myDb->quote('{persons___name}'));

BTW, your post and its title are two different things... ;)
 
Thanks will give it a try, I always find hard to post an accurate title on this type of thing not sure if post my problem or what i am looking to achieve. Im sorry.
 
Hello, it didnt worked and enabling debug i get this (the name of the calc field is grado_actual):

Code:
    [grado_actual] => stdClass Object
                       (
                           [startRow] => 0
                           [endRow] => 1
                           [error] =>
                           [plugin] => calc
                           [hidden] =>
                           [id] => personas___grado_actual
                           [className] => fb_el_personas___grado_actual
                           [element] => <span class="fabrikinput fabrikElementReadOnly" style="display:inline-block;" name="personas___grado_actual" id="personas___grado_actual"></span>

<img src="https://xxx.com/media/com_fabrik/images/ajax-loader.gif" alt="Cargando" style="display:none;padding-left:10px;" class="loader fabrikImg" />
                           [label_raw] => Grado Actual
                           [label] =>
       <label for="personas___grado_actual" class="fabrikLabel control-label" >
   Grado Actual        </label>
   
                           [errorTag] => <span class="fabrikErrorMessage">


</span>

                           [element_ro] =>
<img src="https://xxx.com/media/com_fabrik/images/ajax-loader.gif" alt="Cargando" style="display:none;padding-left:10px;" class="loader fabrikImg" />
                           [value] =>
                           [containerClass] => fabrikElementContainer plg-calc fb_el_personas___grado_actual   fabrikDataEmpty
                           [element_raw] =>
                           [dataEmpty] => 1
                           [labels] => 0
                           [dlabels] => 0
                           [tipAbove] =>
                           [tipBelow] =>
                           [tipSide] =>
                           [offset] => 0
                           [column] =>  style="float:left;width:27%;"
                           [span] => span4
                       )

On my other list (where i populate the data i want to bring) i do have the information but i can see there that it shows "dataEmpty" so clearly is not reading something. Might i add that the field is a dropdow
Here is the original query with the change you suggested (i changed some names on my first post since they are in spanish so it can be easier for you to understand, but maybe that is causing the problem)
Code:
$myDb = JFactory::getDbo();
$myQuery = $myDb->getQuery(true);

$myQuery
    ->select('grado')
    ->from('historia_de_vh')
    ->where($myDb->quoteName('nombre_del_v_h') . ' = ' . $myDb->quote('{personas___nombres_y_apellidos}'));

$myDb->setQuery($myQuery);
$resultado = $myDb->loadResult();
return $resultado;

Thanks for your time.
 
Try placing an echo (string)$query; die; before you do the setQuery and let's see what you have.
 
Hello
Doing this:

Code:
$myDb = JFactory::getDbo();
$myQuery = $myDb->getQuery(true);

$myQuery
    ->select('grado')
    ->from('historia_de_vh')
    ->where($myDb->quoteName('nombre_del_v_h') . ' = ' . $myDb->quote('{personas___nombres_y_apellidos}'));

echo (string)$query; die;
$myDb->setQuery($myQuery);
$resultado = $myDb->loadResult();
return $resultado;

Gave me a blank page but if i enabled the fabrikdebug=1 i got a lot of stuff but i believe you want to see the GetData part (if not tell me what exactly its a pretty long debug page)

Code:
list GetData:Información Personal V:. H:.
SELECT SQL_CALC_FOUND_ROWS DISTINCT `personas`.`date_time` AS `personas___date_time`,
 `personas`.`date_time` AS `personas___date_time_raw`,
 `personas`.`id` AS `personas___id`,
 `personas`.`id` AS `personas___id_raw`,
 `personas`.`imagen_del_usuario` AS `personas___imagen_del_usuario`,
 `personas`.`imagen_del_usuario` AS `personas___imagen_del_usuario_raw`,
 `personas`.`dni` AS `personas___dni`,
 `personas`.`dni` AS `personas___dni_raw`,
 `personas`.`nombres` AS `personas___nombres`,
 `personas`.`nombres` AS `personas___nombres_raw`,
 `personas`.`fecha_de_nacimiento` AS `personas___fecha_de_nacimiento`,
 `personas`.`fecha_de_nacimiento` AS `personas___fecha_de_nacimiento_raw`,
 `personas`.`email` AS `personas___email`,
 `personas`.`email` AS `personas___email_raw`,
 `personas`.`pais` AS `personas___pais_raw`,
 `paises`.`nombre` AS `personas___pais`,
 `personas`.`region` AS `personas___region_raw`,
 `regiones`.`name` AS `personas___region`,
 `personas`.`comuna` AS `personas___comuna_raw`,
 `cities`.`name` AS `personas___comuna`,
 `personas`.`domicilio` AS `personas___domicilio`,
 `personas`.`domicilio` AS `personas___domicilio_raw`,
 `personas`.`tel_movil` AS `personas___tel_movil`,
 `personas`.`tel_movil` AS `personas___tel_movil_raw`,
 `personas`.`tel_fijo` AS `personas___tel_fijo`,
 `personas`.`tel_fijo` AS `personas___tel_fijo_raw`,
 `personas`.`nombre_del_conyuge` AS `personas___nombre_del_conyuge`,
 `personas`.`nombre_del_conyuge` AS `personas___nombre_del_conyuge_raw`,
 `personas`.`telefono_del_conyuge` AS `personas___telefono_del_conyuge`,
 `personas`.`telefono_del_conyuge` AS `personas___telefono_del_conyuge_raw`,
 `personas`.`email_del_conyuge` AS `personas___email_del_conyuge`,
 `personas`.`email_del_conyuge` AS `personas___email_del_conyuge_raw`,
 `personas`.`num_de_hijos` AS `personas___num_de_hijos`,
 `personas`.`num_de_hijos` AS `personas___num_de_hijos_raw`,
 `personas`.`tipo_parentesco` AS `personas___tipo_parentesco`,
 `personas`.`tipo_parentesco` AS `personas___tipo_parentesco_raw`,
 `personas`.`nombres_y_apellidos` AS `personas___nombres_y_apellidos`,
 `personas`.`nombres_y_apellidos` AS `personas___nombres_y_apellidos_raw`,
 `personas`.`tel_fono` AS `personas___tel_fono`,
 `personas`.`tel_fono` AS `personas___tel_fono_raw`,
 `personas`.`email_contacto_emergencia` AS `personas___email_contacto_emergencia`,
 `personas`.`email_contacto_emergencia` AS `personas___email_contacto_emergencia_raw`,
 `personas`.`centro_asistencial` AS `personas___centro_asistencial`,
 `personas`.`centro_asistencial` AS `personas___centro_asistencial_raw`,
 `personas`.`profesion_oficio` AS `personas___profesion_oficio`,
 `personas`.`profesion_oficio` AS `personas___profesion_oficio_raw`,
 `personas`.`situacion_laboral` AS `personas___situacion_laboral`,
 `personas`.`situacion_laboral` AS `personas___situacion_laboral_raw`,
 `personas`.`lugar_de_trabajo` AS `personas___lugar_de_trabajo`,
 `personas`.`lugar_de_trabajo` AS `personas___lugar_de_trabajo_raw`,
 `personas`.`areas_niveles_estudio` AS `personas___areas_niveles_estudio`,
 `personas`.`areas_niveles_estudio` AS `personas___areas_niveles_estudio_raw`,
 `personas`.`habilidades_compartir` AS `personas___habilidades_compartir`,
 `personas`.`habilidades_compartir` AS `personas___habilidades_compartir_raw`,
 `personas`.`cargo_desempena` AS `personas___cargo_desempena`,
 `personas`.`cargo_desempena` AS `personas___cargo_desempena_raw`,
 `personas`.`patologias` AS `personas___patologias`,
 `personas`.`patologias` AS `personas___patologias_raw`,
 `personas`.`cirugias` AS `personas___cirugias`,
 `personas`.`cirugias` AS `personas___cirugias_raw`,
 `personas`.`medicamentos_uso_constante` AS `personas___medicamentos_uso_constante`,
 `personas`.`medicamentos_uso_constante` AS `personas___medicamentos_uso_constante_raw`,
 `personas`.`tratamientos_permanentes` AS `personas___tratamientos_permanentes`,
 `personas`.`tratamientos_permanentes` AS `personas___tratamientos_permanentes_raw`,
 `personas`.`observaciones_de_importancia` AS `personas___observaciones_de_importancia`,
 `personas`.`observaciones_de_importancia` AS `personas___observaciones_de_importancia_raw`,
 `personas`.`grupo_sanguineo` AS `personas___grupo_sanguineo`,
 `personas`.`grupo_sanguineo` AS `personas___grupo_sanguineo_raw`,
 `personas`.`sistema_prevision` AS `personas___sistema_prevision`,
 `personas`.`sistema_prevision` AS `personas___sistema_prevision_raw`,
 `personas`.`logia_capitular` AS `personas___logia_capitular_raw`,
 `logia_0`.`nombre_logia` AS `personas___logia_capitular`,
 `personas`.`logia_azul_trabaja` AS `personas___logia_azul_trabaja_raw`,
 `logia`.`nombre_logia` AS `personas___logia_azul_trabaja`,
 `personas`.`grado_actual` AS `personas___grado_actual`,
 `personas`.`grado_actual` AS `personas___grado_actual_raw`,
 `personas`.`fecha_inic_simbolica` AS `personas___fecha_inic_simbolica`,
 `personas`.`fecha_inic_simbolica` AS `personas___fecha_inic_simbolica_raw`,
 `personas`.`fecha_ult_ascenso` AS `personas___fecha_ult_ascenso`,
 `personas`.`fecha_ult_ascenso` AS `personas___fecha_ult_ascenso_raw`,
 `personas`.`id` AS slug
 , `personas`.`id` AS `__pk_val`

FROM `personas`
LEFT JOIN  `cities` AS `cities` ON `cities`.`id_city` = `personas`.`comuna`
LEFT JOIN  `regiones` AS `regiones` ON `regiones`.`id_region` = `personas`.`region`
LEFT JOIN  `logia` AS `logia` ON `logia`.`id` = `personas`.`logia_azul_trabaja`
LEFT JOIN  `paises` AS `paises` ON `paises`.`id` = `personas`.`pais`
LEFT JOIN  `logia` AS `logia_0` ON `logia_0`.`id` = `personas`.`logia_capitular`

Again thanks for your time.
 
$query was just an example, but you don't use that variable.

So, obviously, in your code you'd need to use
Code:
echo (string)$myQuery; die;
 
Update, i got someone to help me with the code and got it working in case anyone wants to know here it is:

Code:
$myDb = FabrikWorker::getDbo();
$myQuery = $myDb->getQuery(true);

$myQuery
    ->select('grados.nombre_grado')
    ->from($myDb->quoteName('historia_de_vh'))
    ->innerjoin($myDb->quoteName('grados') . ' ON ' . $myDb->quoteName('grados.id') . ' = ' . $myDb->quoteName('historia_de_vh.grado'))
    ->where($myDb->quoteName('historia_de_vh.nombre_del_v_h') . ' = ' . $myDb->quote('{personas___id}'));

$myDb->setQuery($myQuery);
$resultado = $myDb->loadResult();
return $resultado;

Regards.
 
Aaah... well, that's quite different from your initial example and, hence, not at all "guessable" for us out here. For next time you know: GIGO. ;)
 
We are in need of some funding.
More details.

Thank you.

Members online

Back
Top