Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    Unknown column 'f.forum_cat_id' in 'on clause' + domanda su COUNT()

    Errore:

    Unknown column 'f.forum_cat_id' in 'on clause' in query:

    SELECT c.cat_id AS cid, c.cat_name, f.forum_id AS fid, f.*, u.url_self, COUNT(s.sess_key) AS viewers
    FROM #__categories AS c
    INNER JOIN #__forums AS f ON c.cat_id = f.forum_cat_id
    LEFT JOIN #__sef_urls AS u ON u.url_info_id = f.forum_id AND u.url_info = 'forum'
    LEFT JOIN #__sessions AS s ON s.sess_forum = f.forum_id
    ORDER BY c.cat_disp_position, c.cat_id, f.forum_disp_position

    Ovviamente 'forum_cat_id' esiste

    CREATE TABLE IF NOT EXISTS `#__forums` (
    `forum_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `forum_name` varchar(80) NOT NULL DEFAULT '',
    `forum_desc` text,
    `forum_private` text,
    `forum_num_topics` mediumint(8) unsigned NOT NULL DEFAULT '0',
    `forum_num_posts` mediumint(8) unsigned NOT NULL DEFAULT '0',
    `forum_last_post` varchar(120),
    `forum_last_post_url` tinytext,
    `forum_last_poster` varchar(20) DEFAULT NULL,
    `forum_last_poster_url` tinytext,
    `forum_last_poster_avatar` tinytext,
    `forum_date` int(10) unsigned NOT NULL DEFAULT '0',
    `forum_icon_new_posts` varchar(200) DEFAULT NULL,
    `forum_icon_no_new_posts` varchar(200) DEFAULT NULL,
    `forum_disp_position` int(10) NOT NULL DEFAULT '0',
    `forum_cat_id` int(10) unsigned NOT NULL DEFAULT '0',
    PRIMARY KEY (`forum_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2;


    Altro enigma, ricordo che con una nuova versione di MySQL (è da molto che non programmo) dava errori quando dovevo fare il COUNT inserendolo in una query che doveva estrarre più informazioni e che era consigliato fare una query separata come:
    SELECT COUNT(column) FROM table

    Di conseguenza siccome cerco di estrarre anche il numero di utenti che stanno visualizzando quel forum (prendendo l'informazione dalla tabella sessioni che contiene anche le pagine che l'utente visualizza) nella index accanto al nome della sezione mi scoccia un pò eseguire una query dentro il ciclo che estrae forums e categorie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Ok ho risolto semplicemente riavviando mysql...

    Ripropongo il secondo quesito essendo più dettagliato:

    CREATE TABLE #__sessions(
    sess_key VARCHAR(64) NOT NULL DEFAULT '',
    sess_ip VARCHAR(50) NOT NULL DEFAULT '',
    sess_agent TINYTEXT NOT NULL DEFAULT '',
    sess_time INT(10) UNSIGNED NOT NULL DEFAULT '0',
    sess_user MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
    sess_private VARCHAR(10) NOT NULL DEFAULT '',
    sess_forum SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',

    UNIQUE KEY (sess_key)
    ) ENGINE=MyISAM;

    sess_forum si riempie con il valore del forum che l'utente visualizza, riproponendo questa query:

    SELECT c.cat_id AS cid, c.cat_name, f.forum_id AS fid, f.*, u.url_self, COUNT(s.sess_key) AS viewers
    FROM #__categories AS c
    INNER JOIN #__forums AS f ON c.cat_id = f.forum_cat_id
    LEFT JOIN #__sef_urls AS u ON u.url_info_id = f.forum_id AND u.url_info = 'forum'
    LEFT JOIN #__sessions AS s ON s.sess_forum = f.forum_id
    ORDER BY c.cat_disp_position, c.cat_id, f.forum_disp_position

    posso continuare ad utilizzarla in maniera indisturbata o devo fare

    ciclo while: data = fetch query
    nuova_query =
    COUNT(s.sess_key) AS viewers FROM #__sessions WHERE sess_forum = data[forum_id]
    end while;

    solo che così ovviamente eseguo una query per ogni forum... non molto professionale imho...

  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    penso che quella query possa funzionare, ma dovrai definire un GROUP BY

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.