Ik zit alweer met de code voor het samenvoegen van twee tabellen.
Dit blijft ingewikkeld.
Ik heb een tabel "linken" en een tabel "kliks".
Ik wil graag de best bezochte link laten zien.
Dit is de code die ik heb:
<?php
$queryTop = "
SELECT
1.link_id,
1.link_naam,
1.link_website,
1.link_kadobon,
l.link_plaatje,
l.link_omschrijving,
l.link_prijs,
COUNT(k.datumtijd) AS aantal_kliks
FROM
kliks AS k
INNER JOIN
linken AS 1
ON
k.link_id = 1.link_id
WHERE
MONTH(k.datumtijd ) = MONTH( CURDATE( ) )
AND
YEAR(k.datumtijd ) = YEAR( CURDATE() )
GROUP BY 1.link_id
ORDER BY aantal_kliks DESC
LIMIT 0,2";
?>
En dit de foutmelding:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1 ON k.link_id = l.link_id WHERE MONTH(k.datumtijd ) = MONTH( CURDATE( ) ) AND Y' at line 13
Als ik de tekst uit je oorspronkelijke post kopieer, krijg ik:
linken AS 1
Als ik met de hand een kleine letter 'L' typ, krijg ik:
linken AS l
Het was dus wel degelijk een cijfer. Maar: het is opgelost en dat is mooi ;-)
?
Onbekende gebruiker
15-11-2006 08:46
edit: typfout
@Jan
Ik moet je gelijk geven, als ik nu naar boven scroll naar mijn eerste post, zie ik inderdaad eentjes staan en de letter L.
Ik kan dat in Dreamweaver niet zien maar hier zie ik het wel. Vandaar dat er nog iets anders niet helemaal lukte. Misschien de volgende keer beter een andere letter gebruiken.
Even om te testen of ik ze nu allemaal goed heb staan:
<?php
$queryTop = "
SELECT
l.link_id,
l.link_naam,
l.link_website,
l.link_kadobon,
l.link_plaatje,
l.link_omschrijving,
l.link_prijs,
COUNT(k.datumtijd) AS aantal_kliks
FROM
linken AS l
JOIN
kliks AS k
ON
k.link_id = l.link_id
WHERE
MONTH(k.datumtijd ) = MONTH( CURDATE( ) )
AND
YEAR(k.datumtijd ) = YEAR( CURDATE() )
GROUP BY k.link_id
ORDER BY aantal_kliks DESC
LIMIT 0,2";
?>