14. november 2004 - 16:36Der er
4 kommentarer og 2 løsninger
Hjælp med at lave en inner join eller hvad det kaldes
Hej Eksperter,
Jeg har følgende 2 ting:
$get_auctions2 = mysql_query("SELECT * FROM auc_product WHERE auction_end < $tid ORDER BY auction_end ASC LIMIT 0,1");
Men vil gerne have at den gør lidt ligesom det jeg skriver nu: mysql_query("SELECT * FROM auc_product WHERE auction_end < $tid *og hvor product_id fra tabellen auc_bid_history er ens med member_id'et $_COOKIE[usercookie]* ORDER BY auction_end ASC LIMIT 0,1");
Hvor: *og hvor product_id fra tabellen auc_bid_history er ens med member_id'et $_COOKIE[usercookie]*
er noget jeg har skrevet, men jeg ved ikke hvordan man tager data/sammensætter 2 tabeller osv. i én sql query.
Er det noget, som i kan hjælpe mig med?
Jeg tror vidst det hedder noget med inner join osv.
SELECT * FROM auc_product, auc_bid_history WHERE auc_product.auction_end < $tid AND auc_bid_history.product_id='$_COOKIE[usercookie]' ORDER BY auc_product.auction_end ASC LIMIT 0,1
SELECT * FROM auc_product, auc_bid_history WHERE auction_end < $tid AND auc_bid_history.product_id = auc_product.product_ID AND auc_product.product_ID = $_COOKIE[usercookie] ORDER BY auction_end ASC LIMIT 0,1
// Dette er "byde tabellen" på auktioner jeg har lavet:
CREATE TABLE `auc_bid_history` ( `id` int(11) NOT NULL auto_increment, `product_id` int(11) NOT NULL default '0', `member_id` int(11) NOT NULL default '0', `price` varchar(10) NOT NULL default '', `bid_time` bigint(20) NOT NULL default '0', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=17 ;
// Dette er tabellen som medlemmerne er i.
CREATE TABLE `auc_members` ( `member_id` int(11) NOT NULL auto_increment, `nick` varchar(20) NOT NULL default '', `password` varchar(50) NOT NULL default '', `firstname` varchar(30) NOT NULL default '', `lastname` varchar(30) NOT NULL default '', `street_address` varchar(50) NOT NULL default '', `zip` smallint(5) NOT NULL default '0', `email` varchar(50) NOT NULL default '', `phone` varchar(12) NOT NULL default '', `mobile` varchar(12) NOT NULL default '', `created` bigint(20) NOT NULL default '0', PRIMARY KEY (`member_id`) ) TYPE=MyISAM AUTO_INCREMENT=15 ;
// Dette er auktions tabellen med auktionerne i.
CREATE TABLE `auc_product` ( `product_id` int(11) NOT NULL auto_increment, `cat_id` int(11) NOT NULL default '0', `heading` varchar(100) NOT NULL default '', `description` text NOT NULL, `auction_end` bigint(20) NOT NULL default '0', `ship_id` int(11) NOT NULL default '0', `bid_price` varchar(10) NOT NULL default '10', PRIMARY KEY (`product_id`) ) TYPE=MyISAM AUTO_INCREMENT=26 ;
// det jeg vil, er at jeg vil finde alle de auktioner fra den person som er logget ind (er en cookie ved navn $_COOKIE[usercookie] som indeholder member_id'et), som personen har vundet, ved at kigge i auc_bid_history og tage det produkt som har samme member_id som personen som er logget ind, og tage den pris som er højest (order by price desc limit 0,1) og udskrive.
Hvis der er noget som kan gøre en i tvivl, må i lige sige til.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.