Ben al een tijdje bezig, maar kom er echt niet uit.
Ik probeer uit de lijst van websites de website te pakken en dan moet die in users kijken of die account wel credits heeft om de website te laten zien.
$query = mysql_query("Select * from users WHERE user = '".$_SESSION['user']."' AND credits != '0'");
$res = mysql_fetch_array($query);
$bottom = mysql_fetch_assoc(mysql_query("SELECT * FROM `websites` WHERE credits != '".$res['credits']."' AND active = '1' ORDER BY RAND() LIMIT 1"));
maar dan kijkt die heletijd alleen of de website active is.
heb al een paar methodes geprobeerd, daarom vraag ik nu of iemand me kan helpen.
Dit klinkt alsof je een JOIN moet gebruiken. Hoe ziet je data-structuur eruit?
Welke velden wil je precies ophalen? Je haalt nu alles op (*), maar dat lijkt mij zwaar overkill!
Verder wil ik je er op wijzen dat je nu nog de oude mysql_.....() functies gebruikt. Deze zijn in PHP 7 verdwenen. Daarom is mijn advies om dit te herschrijven naar mysqli_....() functies. Nu heb je kans dat je site elk moment kan 'breken' als je hosting overschakelt op PHP 7, en dan is het een kwestie van ombouwen tot je site weer werkt.
Heb een table voor de websites en voor de users.
Nu wil ik dat die uit users de credits van de site haald die geopend gaat worden, in de table van websites staat ook de username van de gene die de site heeft toegevoegd.
Hij draait op vps, dus kan zelf bepalen waneer update naar php 7 dus dat komt later nog wel.
Ik zou er niet te lang mee wachten, en al met de ombouw naar mysqli gaan beginnen.
PHP 5.5 t/m 7.0 is momenteel al End Of Life en krijgen geen security-patches meer.
Maar laat je databasestructuur van die twee tabellen eens zien, en welke velden je wilt tonen?
Ik hoop eigenlijk dat je een uniek ID-nummer hebt voor de koppelingen, en niet op de naam data aan elkaar koppelt. Want als de naam aangepast moet worden (privacy, mogelijk zelfs AVG), dan wordt het een complex verhaal.
CREATE TABLE `website` (
`id` int(11) NOT NULL,
`link` varchar(150) NOT NULL,
`kliks` int(15) NOT NULL DEFAULT '0',
`gebruiker` varchar(150) NOT NULL DEFAULT '',
`gehad` int(15) NOT NULL DEFAULT '0',
`active` varchar(255) NOT NULL DEFAULT 'Yes'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Dit is van de users
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`user` varchar(32) NOT NULL,
`pass` varchar(32) NOT NULL,
`vip` varchar(4) NOT NULL DEFAULT 'no',
`credits` decimal(10,1) NOT NULL DEFAULT '0.0',
`ip` varchar(15) NOT NULL,
`referral` varchar(32) DEFAULT NULL,
`slot` int(15) NOT NULL DEFAULT '3',
`totalhits` int(15) NOT NULL DEFAULT '0',
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
[size=xsmall]Toevoeging op 15/03/2019 17:42:41:[/size]
heb nu zo iets maar nu pakt die geen website. uit de database
$bottom = mysqli_query ( "SELECT * FROM `website` WHERE `active` = '1' AND (SELECT `kliks` FROM `users` WHERE `user` = `website`.`gebruiker` ) ORDER BY RAND() LIMIT 1" );