filteren data uit sql
Hier ben ik weer met een nieuw vraagje (hoop ik toch)
Ik wil de startpunten van mijn wandelingen sorteren naar moeilijkheidsgraad.
Nu wordt het zo uit de database gehaald:
Ik dacht het te kunnen filteren met de toevoeging WHERE `gpx`.`user_id` == 5
Waar 5 dan voor de moeilijkheidsgraad staat.
Helaas werkt dat niet en wat nog jammer is dat er ook geen foutmeldingen op de pagina verschijnen.
Wie ziet de fout of kan mij verder helpen?
Ik wil de startpunten van mijn wandelingen sorteren naar moeilijkheidsgraad.
Nu wordt het zo uit de database gehaald:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
function getWaypoints() {
global $DEBUG, $cfg, $database;
$limit = intval($cfg['result_datalayer_limit']);
$query = "SELECT SQL_CALC_FOUND_ROWS wpt.* , `gpx`.`timezone`,
`gpx`.`name` AS 'gpx_filename', `gpx`.`description` AS `gpx_description`
FROM `${cfg['db_table_prefix']}waypoints` AS `wpt`
LEFT JOIN `${cfg['db_table_prefix']}gpx_files` AS `gpx`
ON `gpx_id` = `gpx`.`id` ";
global $DEBUG, $cfg, $database;
$limit = intval($cfg['result_datalayer_limit']);
$query = "SELECT SQL_CALC_FOUND_ROWS wpt.* , `gpx`.`timezone`,
`gpx`.`name` AS 'gpx_filename', `gpx`.`description` AS `gpx_description`
FROM `${cfg['db_table_prefix']}waypoints` AS `wpt`
LEFT JOIN `${cfg['db_table_prefix']}gpx_files` AS `gpx`
ON `gpx_id` = `gpx`.`id` ";
Ik dacht het te kunnen filteren met de toevoeging WHERE `gpx`.`user_id` == 5
Waar 5 dan voor de moeilijkheidsgraad staat.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
function getWaypoints() {
global $DEBUG, $cfg, $database;
$limit = intval($cfg['result_datalayer_limit']);
$query = "SELECT SQL_CALC_FOUND_ROWS wpt.* , `gpx`.`timezone`,
`gpx`.`name` AS 'gpx_filename', `gpx`.`description` AS `gpx_description`
FROM `${cfg['db_table_prefix']}waypoints` WHERE `gpx`.`user_id` == 5 AS `wpt`
LEFT JOIN `${cfg['db_table_prefix']}gpx_files` AS `gpx`
ON `gpx_id` = `gpx`.`id` ";
global $DEBUG, $cfg, $database;
$limit = intval($cfg['result_datalayer_limit']);
$query = "SELECT SQL_CALC_FOUND_ROWS wpt.* , `gpx`.`timezone`,
`gpx`.`name` AS 'gpx_filename', `gpx`.`description` AS `gpx_description`
FROM `${cfg['db_table_prefix']}waypoints` WHERE `gpx`.`user_id` == 5 AS `wpt`
LEFT JOIN `${cfg['db_table_prefix']}gpx_files` AS `gpx`
ON `gpx_id` = `gpx`.`id` ";
Helaas werkt dat niet en wat nog jammer is dat er ook geen foutmeldingen op de pagina verschijnen.
Wie ziet de fout of kan mij verder helpen?
Enkele = in SQL
1) Ariën bedoelt dat je niet "==" (zoals in PHP), maar "=" moet gebruiken in je WHERE
2) De WHERE komt na alle JOIN-s
3) Het klinkt mij een beetje raar dat je met `user_id` op moeilijkheidsgraad kunt filteren ...
2) De WHERE komt na alle JOIN-s
3) Het klinkt mij een beetje raar dat je met `user_id` op moeilijkheidsgraad kunt filteren ...
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$query = "SELECT SQL_CALC_FOUND_ROWS wpt.* , `gpx`.`timezone`,
`gpx`.`name` AS 'gpx_filename', `gpx`.`description` AS `gpx_description`
FROM `${cfg['db_table_prefix']}waypoints` AS `wpt`
LEFT JOIN `${cfg['db_table_prefix']}gpx_files` AS `gpx`
ON `gpx_id` = `gpx`.`id`
WHERE `gpx`.`user_id` = 5";
`gpx`.`name` AS 'gpx_filename', `gpx`.`description` AS `gpx_description`
FROM `${cfg['db_table_prefix']}waypoints` AS `wpt`
LEFT JOIN `${cfg['db_table_prefix']}gpx_files` AS `gpx`
ON `gpx_id` = `gpx`.`id`
WHERE `gpx`.`user_id` = 5";
Gewijzigd op 31/10/2020 22:11:58 door Rob Doemaarwat
Bedankt voor je antwoord maar een enkele = werkt ook niet.
Edit, ook niet als ik de WHERE achteraan zet.
Wat puntje 3 betreft moet ik uiteraard de titel aanpassen en de moeilijkheidsgraad ingeven in die kolom.
Toevoeging op 31/10/2020 22:52:14:
Sorry het werkt wel, ben weer een stap verder nu, bedankt.
Edit, ook niet als ik de WHERE achteraan zet.
Wat puntje 3 betreft moet ik uiteraard de titel aanpassen en de moeilijkheidsgraad ingeven in die kolom.
Toevoeging op 31/10/2020 22:52:14:
Sorry het werkt wel, ben weer een stap verder nu, bedankt.
Gewijzigd op 31/10/2020 22:28:40 door Jan Bakker




