Lastige query!
Dit is de query tot nu toe:
$pm_sql = "SELECT * FROM pm WHERE user = '". $user_array['id'] . "' AND deleted = '0' AND (SELECT id FROM friends WHERE user = '" . $user_array['id'] . "' AND friend = '" . $Hier_dus_de_id_van_de_user_die_het_bericht_heeft_verzonden . "') ORDER BY date DESC LIMIT 0,1001";
Dit zijn mijn tabellen:
Tabel pm:
`id` int(225) NOT NULL auto_increment,
`user` int(10) default NULL,
`from` int(10) default NULL,
`title` varchar(99) collate latin1_general_ci default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`mess` text collate latin1_general_ci,
`opend` int(1) default '0',
`replied` int(1) default '0',
`deleted` int(1) NOT NULL,
UNIQUE KEY `id` (`id`)
Tabel friends:
`id` int(255) NOT NULL auto_increment,
`user` int(10) NOT NULL,
`friend` int(10) NOT NULL,
PRIMARY KEY (`id`)
Mijn vraag is, hoe kan ik in die query er al achter komen wie de PM heeft verstuurd en die dan ipv $Hier_dus_de_id_van_de_user_die_het_bericht_heeft_verzonden?
Bvd, Tommy!
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
Ten tweede zou ik eens zoeken naar INNER JOIN voor die afzenders als ik jou was. Je komt dan zoiets tegen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?
$pm_sql= "SELECT
u.nickname
FROM
users AS u
INNER JOIN
pm AS pm
ON
pm.from = u.id
WHERE
pm.id = " . $Hier_dus_de_het_id_van_het_bericht_dat_de_andere_gebruiker_heeft_gevonden;
?>
$pm_sql= "SELECT
u.nickname
FROM
users AS u
INNER JOIN
pm AS pm
ON
pm.from = u.id
WHERE
pm.id = " . $Hier_dus_de_het_id_van_het_bericht_dat_de_andere_gebruiker_heeft_gevonden;
?>
Succes ermee!
En als je soms weet wat voor berichten er worden verstuurd..
EDIT: ik kom er niet uit.. Ik snap het niet echt;(
EDIT2: Dan maar geen friend list hea;)
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
Bij het verzenden natuurlijk wel controleren of de begunstigde wel een friend is.
Dan is dat ook weer opgelsot :) voor alles is een oplossing, ik zou de moed niet te snel opgeve!
Succes!
Ee, bedankt zo had ik het nog nooit bekeken!