Problem extending sql_from [message #1856] |
Mon, 17 November 2008 09:29 |
bonzo_bcn
Messages: 152 Registered: June 2008
|
Senior Member |
|
|
I don't know if this is a bug or not..
I want to create a list1 screen that shows some summary data, then with a button I will link it to a detail screen that shows the detailed summary.
I guess the best way to do this is extending the sql manually.
So I created a class and added this code:
function _cm_initialise ($where, $selection){
// if ($GLOBALS['mode'] == 'search' || $GLOBALS['mode'] == 'list') {
$this->sql_from= "(SELECT entidad.noment , 1 as importe
FROM participante
JOIN part_equipo_xref ON participante.participante_id=part_equipo_xref.participante_id
JOIN equipo ON part_equipo_xref.equipo_id = equipo.equipo_id
JOIN entidad ON equipo.entidad_id= entidad.entidad_id
JOIN temporada ON temporada.temporada_id = equipo.temporada_id
WHERE tippart='E'
UNION aLL
SELECT entidad.noment, 1
FROM participante
JOIN equipo ON participante.participante_id = equipo.entrenador_id
JOIN entidad ON equipo.entidad_id= entidad.entidad_id
JOIN temporada ON temporada.temporada_id = equipo.temporada_id
WHERE tippart='N'
UNION ALL
SELECT entidad.noment, 1
FROM participante
JOIN equipo ON participante.participante_id = equipo.delegado_id
JOIN entidad ON equipo.entidad_id= entidad.entidad_id
JOIN deporte ON equipo.deporte_id = deporte.deporte_id
JOIN temporada ON temporada.temporada_id = equipo.temporada_id
WHERE tippart='D'
UNION ALL
SELECT entidad.noment, 1
FROM participante
JOIN equipo ON participante.participante_id = equipo.delegado_id
JOIN entidad ON equipo.entidad_id= entidad.entidad_id
JOIN temporada ON temporada.temporada_id = equipo.temporada_id
UNION ALL
SELECT entidad.noment, 1
FROM entidad) as entidad";
}
I'm getting this error:
Fatal Error: Uncaught exception fron DOMException, message = Invalid Character Error (# 256).
Error in line 286 of file '/Applications/MAMP/htdocs/radicore/includes/error.inc'.
Script: /radicore/ceae/entidad_importes(list1).php
User Id: MGR
Remote Address: ::1
Request URI: /radicore/ceae/entidad_importes(list1).php?session_name=menu0
With the debugger I found that what I'm putting in sql_from is too long and the last lines get truncated.
How can I solve this?
|
|
|
Re: Problem extending sql_from [message #1857 is a reply to message #1856] |
Mon, 17 November 2008 10:48 |
AJM
Messages: 2363 Registered: April 2006 Location: Surrey, UK
|
Senior Member |
|
|
If the FROM clause was being truncated it would result in a invalid SQL statement, and therefore an SQL error. What you have is a DOM error, which would indicate to me that the error was produced by the DOM extension while writing to the XML document. I have seen this in the past when the data array being added to the XML document contains an invalid character in either the array key or the array value. A blank key will also produce an error.
When an error occurs Radicore will display a summary of the details on the screen, but more complete details can be found in file errorlog.html - can you look there to see what it says?
Tony Marston
http://www.tonymarston.net
http://www.radicore.org
|
|
|
Re: Problem extending sql_from [message #1860 is a reply to message #1856] |
Mon, 17 November 2008 13:09 |
bonzo_bcn
Messages: 152 Registered: June 2008
|
Senior Member |
|
|
Here it is:
Page Stack:
[0] main_menu
[1] ceae
[2] ceae_entidad_importes(list1)
0: array =
file: string = /Applications/MAMP/htdocs/radicore/includes/include.xml.php5.inc
line: integer = 89
function: string = createElement
class: string = DOMDocument
type: string = ->
args: array =
0: string = sum(importe)
1: array =
file: string = /Applications/MAMP/htdocs/radicore/includes/include.xml.php5.inc
line: integer = 643
function: string = addData2XMLdoc
args: array =
4: array =
2: array =
file: string = /Applications/MAMP/htdocs/radicore/includes/std.list1.inc
line: integer = 193
function: string = buildXML
args: array =
0: array =
0: array =
1: array =
2: array =
3: array =
file: string = /Applications/MAMP/htdocs/radicore/ceae/entidad_importes(list1).php
line: integer = 19
args: array =
0: string = /Applications/MAMP/htdocs/radicore/includes/std.list1.inc
function: string = require
Can the cause be something that I've put in the php file:?
<?php
// *****************************************************************************
// List the contents of a database table and allow the user to view/modify
// the contents by activating other screens via navigation buttons.
// *****************************************************************************
$table_id = 'entidad_s01'; // table name
$screen = 'entidad_importes.list1.screen.inc'; // file identifying screen structure
// customise the SQL SELECT statement
$sql_select = 'noment,sum(importe)';
$sql_from = null;
$sql_where = null;
$sql_groupby = '1';
$sql_having = null;
$sql_orderby = '1';
$sql_search_table = null;
require 'std.list1.inc'; // activate page controller
?>
[Updated on: Mon, 17 November 2008 13:10] Report message to a moderator
|
|
|
|
|