Hvordan benytter man JOIN, har kigget lidt rundt på nettet og syntes ikke jeg kan finde et ordentligt svar(eller det virker i hvert fald ikke)
Mine databaser
- CREATE TABLE IF NOT EXISTS `bruger` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `name` varchar(255) NOT NULL,
- `mail` varchar(255) NOT NULL,
- `mobil` varchar(20) NOT NULL,
- `pass` varchar(40) NOT NULL,
- `niveau` enum('be','tb','ti','te','tki','tkc','s1','s2','s3','vki') NOT NULL,
- `ins_nr` varchar(30) NOT NULL,
- `createt` datetime NOT NULL,
- `lastvisit` datetime NOT NULL,
- `visits` int(10) NOT NULL,
- `aktiv` enum('yes','no') NOT NULL DEFAULT 'no',
- `adgang` varchar(255) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `mail` (`mail`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8
-
- CREATE TABLE IF NOT EXISTS `makker` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `brugerid` int(11) NOT NULL,
- `makkerid` int(11) NOT NULL,
- `dato` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `status` enum('aktiv','passiv','slettet') NOT NULL DEFAULT 'aktiv',
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8
Min PHP Kode / Skal lige siges at jeg på sammen side henter andet ud med MySQLI så det er ikke forbindelsen til serveren den er galt med
- <select name="makker[]" id="makker" multiple="multiple">
- <?php
- $status = 'aktiv';
- if($champ = $mysqli->prepare("SELECT ´makker.makkerid´,´bruger.name´ FROM ´makker´ LEFT JOIN ´bruger´ ON ´bruger.id´ = ´makker.brugerid´ WHERE ´makker.brugerid´=? AND ´makker.status´=?")){
- $champ->bind_param('is', $_SESSION['id'], $status);
- $champ->execute();
- $champ->bind_result($makker, $navn);
- while ($champ->fetch()) {
- echo "<option value='".$makker."'>".$navn."</option>";
- }
- $champ->close();
- }
- ?>
- </select>
Håber nogle kan hjælpe, for har prøvet lidt af hver!