HELP: Meerdere tabelen in 1 MYSQL query

Gestart doorJenner5 reacties16 weergaven

6 berichten · pagina 1 van 1

Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo,

Ik heb even op internet gezocht.
Daar staan wel allemaal dingen over meerdere tabelen in 1 query.
Maar ik kon dit niet vinden:

Ik heb een kliksysteem en nu wil ik met 1 query de links laten zien waar hij/zij nog niet op heeft geklikt.
Kan iemand mij helpen?
Dit zijn mijn database gegevens:

CREATE TABLE IF NOT EXISTS `klik_kliks` (
  `id` int(13) NOT NULL AUTO_INCREMENT COMMENT Het id van deze klik,
  `gebruiker_id` int(11) NOT NULL COMMENT Het id van de gebruiker die heeft geklikt,
  `link_id` int(11) NOT NULL COMMENT Het id van de link waarop is geklikt.,
  `datum` varchar(20) NOT NULL COMMENT De datum waarop de klik heeft plaatsgevonden.,
  PRIMARY KEY (`id`),
  KEY `gebruiker_id` (`gebruiker_id`,`link_id`,`datum`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=32 ;



CREATE TABLE IF NOT EXISTS `klik_links` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT Link id,
  `gebruikers_id` int(10) NOT NULL COMMENT Het id van de gebruiker van deze link,
  `naam` varchar(60) NOT NULL COMMENT De naam van de link,
  `url` varchar(255) NOT NULL COMMENT De url van de link,
  `tegoed` int(10) NOT NULL COMMENT Hoeveel kliks heeft deze link nog tegoed.,
  `gehad` int(10) NOT NULL COMMENT Hoeveel kliks deze link al heeft gehad.,
  PRIMARY KEY (`id`),
  KEY `actief` (`url`),
  KEY `gebruikers_id` (`gebruikers_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ;
0
Berichten
3.283
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Op Superkliks heb ik het zo:
Hij maakt een lus van alle geklikte advertenties.
Duwt deze in een array
Nieuwe query, waarin hij kijkt welke er niet in de array zitten.

Geen idee wat de beste manier is.
0
Miel

Lid

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dat is bestwel een faal maniertje..yummieJe kunt gewoon een where clause gebruiken.
iets als
SELECT gebruikersnaam FROM leden WHERE klik_links.gebruiker_id = ++++SESSIE++++
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Met joins?
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik zou het zoiets doen:

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM klik_links WHERE gebruikers_id="[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$userid[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" AND tegoed>gehad AND id NOT IN(SELECT link_id FROM klik_kliks WHERE gebruikers_id=klik_links.gebruikers_id AND datum="[/COLOR][COLOR= #007700].[/COLOR][URL="http://www.php.net/date"]date[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"Y-m-d H:i:s"[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]")"[/COLOR][COLOR= #007700]);[/COLOR]
?>


zoiets yummie
0
Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nee, het werkt niet.
Ik heb een beetje geprobeert maar het lukt niet.
Ik zal hier even de hele code laten zien:

[COLOR= #0000BB]<?php[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<table width="400px">[/COLOR][COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<tr>[/COLOR][COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<td><strong>Naam</strong></td>[/COLOR][COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<td><strong>Tegoed</strong></td>[/COLOR][COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]</tr>[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM `klik_links` WHERE `tegoed` > 0 AND `gebruikers_id` != "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$lid_id[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" ORDER BY `tegoed` DESC"[/COLOR][COLOR= #007700]);[/COLOR]

        [URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$links[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$query[/COLOR][COLOR= #007700])){[/COLOR]
            [COLOR= #0000BB]$query2[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM `klik_kliks` WHERE `gebruiker_id` = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$lid_id[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" AND `link_id` = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$links[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]id[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700]);[/COLOR]
            [URL="http://www.php.net/if"]if[/URL][COLOR= #007700](![/COLOR][URL="http://www.php.net/mysql_num_rows"]mysql_num_rows[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$query2[/COLOR][COLOR= #007700])){[/COLOR]
                [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<tr>[/COLOR][COLOR= #007700];[/COLOR]
                [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<td><a href="?klik=[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$links[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]id[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]" target="_blank">[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$links[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]</a>                               </td>[/COLOR][COLOR= #007700];[/COLOR]
                [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<td>[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$links[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]tegoed[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]</td>[/COLOR][COLOR= #007700];[/COLOR]
                [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]</tr>[/COLOR][COLOR= #007700];[/COLOR]
                [COLOR= #0000BB]$iser[/COLOR] [COLOR= #007700]=[/COLOR] TRUE[COLOR= #007700];
            }
            
        }[/COLOR]    
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]</table>[/COLOR][COLOR= #007700];[/COLOR]
?>
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren