select en count probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robin

Robin

21/11/2006 12:46:00
Quote Anchor link
Hallo,

ik heb een probleem met het uitbreiden van een query. onderstaande query werkt goed, maar ik krijg de uitbreiding niet werkend.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
SELECT p.page_url AS url,
                           COUNT(*) AS occurrences
                           FROM page p, word w, occurrence o
                           WHERE p.page_id = o.page_id AND
                           w.word_id = o.word_id AND
                           w.word_word = 'dames'
                           GROUP BY p.page_id
                           ORDER BY occurrences DESC;

?>


Na de uitbreiding komt de query als volgt uit te zien (zie onderstaande code). echter blijft de query hangen en doet hij dus helemaal niets.

Het is de bedoelint dat "count" word berekend adhv "p.page_url" FROM page p, maar de rest van de gegevens moet ook uit de tabel gehaald worden om naar het scherm geschreven te worden...iets wat me dus niet lukt met deze code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

SELECT
c.categorie_url AS categorie,
l.leeftijd_url AS leeftijd,
n.naam_oms AS naam,
s.naamsite_url AS naamsite,
x.omschrijving_url AS omschrijving,
p.page_url AS url,
y.website_url AS website,
z.woonplaats_url AS woonplaats,

COUNT(p.page_url) AS occurrences FROM
categorie c, leeftijd l, naam n, naamsite s, omschrijving x, page p, website y,
woonplaats z, word w, occurrence o

WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'

GROUP BY p.page_id
ORDER BY occurrences DESC;

?>



met de eerste code (die werkt) kan ik de volgende regel naar het scherm schrijven

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
print "$i. <a href='".$row['url']."'>".$row['url']."</a>\n";
?>


echter hoort er bij $row['url']. dus ook een omschrijving, naam en dergelijk dus moet ik uiteindelijk iets als dit naar het scherm kunnen schrijven:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
print "$i. <a href='".$row['url']."'>".$row['url']."</a>\n";
print "$i. <a href='".$row['url']."'>".$row['naam']."</a>\n";
print "$i. <a href='".$row['url']."'>".$row['omschrijvingl']."</a>\n";
?>


iemand enig idee hoe ik dit voor elkaar kan schrijven en wat ik momenteel fout doe ?

groeten

Robin
Gewijzigd op 01/01/1970 01:00:00 door Robin
 
PHP hulp

PHP hulp

19/11/2024 02:31:38
 
Robin

Robin

21/11/2006 12:53:00
Quote Anchor link
ik zat ook aan het volgende te denken, maar ook dat werkte niet :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

SELECT * FROM database AND
COUNT(p.page_url) AS occurrences

FROM page p, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'

GROUP BY p.page_id
ORDER BY occurrences DESC;


?>
 
Joren de Wit

Joren de Wit

21/11/2006 12:53:00
Quote Anchor link
Het lijkt erop dat er niks klopt van je datamodel. Je hebt allemaal aparte tabellen voor naam, naamsite, omschrijving, etc? Dit zijn gewoon allemaal kolommen die in 1 tabel thuishoren.

En trouwens zoals je je query nu hebt, je selecteerd gegevens uit 10 verschillende tabellen maar waar is de afhankelijkheid tussen die tabellen gebleven? Ik zie er maar 2...
 
Robin

Robin

21/11/2006 13:14:00
Quote Anchor link
ieder tabel heeft zijn eigen id nummer, dus bijvoorbeeld categorie bestaat uit: categorie_url en categorie_id

1 regel bestaat dus uit = page_id categorie_id, naam_id etc....

Maar hoe beslis je dan of iets in 1 kolom thuis hoort of dat je het in meerdere tabellen moet opsplitsen ?

Denk je dat ik het beste iets als dit kan doen :

tabel page maken bestaande uit:

- page id
- url
- omschrijving
- naam
- etc

en dan een query in de richting van dit ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
SELECT p.page_url AS url,
            p.page_omschrijving AS omschrijving,
            p.page_naam AS naam,
            p.page_etc AS etc,
                           COUNT(*) AS occurrences
                           FROM page p, word w, occurrence o
                           WHERE p.page_id = o.page_id AND
                           w.word_id = o.word_id AND
                           w.word_word = 'dames'
                           GROUP BY p.page_id
                           ORDER BY occurrences DESC;

?>
Gewijzigd op 01/01/1970 01:00:00 door Robin
 
Joren de Wit

Joren de Wit

21/11/2006 13:22:00
Quote Anchor link
Quote:
Maar hoe beslis je dan of iets in 1 kolom thuis hoort of dat je het in meerdere tabellen moet opsplitsen ?
Daar hebben we een hele mooie tutorial over normaliseren voor.

Hoe jouw datamodel eruit moet komen te zien kan ik je zo niet zeggen, ik weet immers niet welke gegevens je hebt, wat je met die gegevens wilt en wat de onderlinge relatie tussen die gegevens is.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.