Recupero dati da tutte le tabelle nel db

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, posto qui.. il mio problema ..

Vorrei con una query prendere tutti i dati di queste tabelle e whererale con l'id post_tags.id_tags='' e tags.name=''

ecco il db:
PHP:
CREATE TABLE `users` (
  `id` bigint(11) NOT NULL auto_increment,
  `fullname` varchar(255) NOT NULL,
  `birthday` varchar(255) NOT NULL,
  `sex` enum('M','F','N') ,
  `username` varchar(255) NOT NULL unique,
  `password` varchar(255) NOT NULL,
  `password_temp`  varchar(255) NOT NULL,
  `password_key` varchar(255) NOT NULL,
  `password_valid`  int,
  `email` varchar(255) NOT NULL unique,
  `isLevel` int NOT NULL,
  `data_reg` datetime,
  `_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`))  ENGINE = MyISAM DEFAULT CHARSET=utf8;
  
  
CREATE TABLE `post_categories` (
  `id` bigint(11) NOT NULL auto_increment,
  `title`  varchar(255) NOT NULL unique,
  `byorder` int,
  `active` int,
  `data_reg` datetime,
  `_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`))  ENGINE = MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `post` (
  `id` bigint(11) NOT NULL auto_increment,
  `id_users` bigint,
  `id_categories` bigint,
  `title`  varchar(255) NOT NULL,
  `content` longtext,
  `active` int,
  `data_reg` datetime,
  `_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`))  ENGINE = MyISAM DEFAULT CHARSET=utf8;
  
  
CREATE TABLE `post_tags` (
  `id` bigint(11) NOT NULL auto_increment,
  `id_tags` bigint,
  `id_news` bigint,
  `data_reg` datetime,
  `_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
   PRIMARY KEY  (`id`))  ENGINE = MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `tags` (
  `id` bigint(11) NOT NULL auto_increment,
  `name` varchar(255) unique,
  `data_reg` datetime,
  `_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
   PRIMARY KEY  (`id`))  ENGINE = MyISAM DEFAULT CHARSET=utf8;


idea come fare?

sul forum ubuntu .. non ho ricevuta risposto provo anche qui..

vi ringrazio molto.
 
così non è risolvibile.
cosa lega post_tags a post ?
forse id_new?
immagino che 'nome' in 'tags' sia una cosa a sè
 
guarda questa query che ho fatto dal manuale di sql join..

recupera tutto .. ma non mi fa stampare il nome row["_name"], che ho definito dentro la query.

Codice:
SELECT post_categories.title as _title, users.username as _username, post.*, tags.name as _name, DATE_FORMAT(post.data_reg,'%d/%M/%Y ore %H:%i') as 'data_it' FROM users 
       INNER JOIN post 
          ON users.id = post.id_users INNER JOIN post_categories 
          ON post_categories.id = post.id_categories INNER JOIN tags INNER JOIN post_tags ON post_tags.id_tags = tags.id  WHERE post_tags.id_tags=".$tags." and tags.name = '".$name."' and post.active=1 order by data_reg desc

questa è la guida dove ho seguito:
Join_SQL

idea?
 
scusa ma continuo a non capire come si legano le tabelle 'post' e 'post_tags o meglio
il gruppo formato da: users, post_categories, post
con il gruppo: post_tags e tags
senza conoscere i contenuti penso che dentro la tabella post_tags debba esserci id_post e così tutto è legabile
oppure viceversa dentro post id_post_tags
deve esserci un legame fra i 2 gruppi così che tutte le tabelle siano legate.
 

Discussioni simili