abonnement Unibet Coolblue Bitvavo
  vrijdag 31 juli 2009 @ 22:10:04 #52
75592 GlowMouse
l'état, c'est moi
pi_71502429
500*50.000/dag is niks, kun je mooi een tabel mee vullen. Beetje letten op je datatypes (medewerkerID unsigned smallint/2 bytes, afdelingID unsigned tinyint/1 byte, meldingID unsigned mediumint 2 bytes, dag date 3 bytes), zit je op 200 MB aan data per dag. Plus indices die erbij komen. Kan je prima een maand bijhouden.

Of als je de tijdstippen niet interesseer, tabel aanmaken met medewerker|afdeling|melding|views, UNIQUE op de eerste drie kolommen en dan views ophogen via INSERT ... IF EXISTS UPDATE ofzo.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  vrijdag 31 juli 2009 @ 22:16:07 #53
74523 BaggerUser
ModderFokker!
pi_71502579
quote:
Op vrijdag 31 juli 2009 22:10 schreef GlowMouse het volgende:
500*50.000/dag is niks, kun je mooi een tabel mee vullen. Beetje letten op je datatypes (medewerkerID unsigned smallint/2 bytes, afdelingID unsigned tinyint/1 byte, meldingID unsigned mediumint 2 bytes, dag date 3 bytes), zit je op 200 MB aan data per dag. Plus indices die erbij komen. Kan je prima een maand bijhouden.
500*50.000 zou inderdaad kunnen, maar is het niet slimmer om per medewerkers (500+/-) per afdelingen (60 +/-) per melding (stuk of 10 +/-) (=maximaal 300.000 entries per dag) een teller bij te houden?

of is het opvragen en vervolgens ophogen van deze gegevens zwaarder voor de database?
De enige echte BaggerUser!
Riemen
fiets kopen
  vrijdag 31 juli 2009 @ 22:18:42 #54
74523 BaggerUser
ModderFokker!
pi_71502658
quote:
Op vrijdag 31 juli 2009 22:10 schreef GlowMouse het volgende:
Of als je de tijdstippen niet interesseer, tabel aanmaken met medewerker|afdeling|melding|views, UNIQUE op de eerste drie kolommen en dan views ophogen via INSERT ... IF EXISTS UPDATE ofzo.
Dat + datum erbij dus, lijkt me het minst zwaarst voor de database
De enige echte BaggerUser!
Riemen
fiets kopen
  vrijdag 31 juli 2009 @ 22:25:52 #55
75592 GlowMouse
l'état, c'est moi
pi_71502872
Oh, die 500 is per afdeling. Dan medewerker|afdeling|melding|datum|views inderdaad. Views zal wel niet meer passen in 2 bytes, 50.000 zit al dicht bij de limiet. Kom je op 11 bytes/rij.

30.000 rijen per dag, 330 kB/dag, goed te doen om jaren bij te houden. Maar 50.000 updates voor elke 30.000 gebruikers is wel een ouch, dat zou me een grotere zorg zijn


http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  vrijdag 31 juli 2009 @ 22:38:37 #56
74523 BaggerUser
ModderFokker!
pi_71503214
quote:
Op vrijdag 31 juli 2009 22:25 schreef GlowMouse het volgende:
Oh, die 500 is per afdeling. Dan medewerker|afdeling|melding|datum|views inderdaad. Views zal wel niet meer passen in 2 bytes, 50.000 zit al dicht bij de limiet. Kom je op 11 bytes/rij.

30.000 rijen per dag, 330 kB/dag, goed te doen om jaren bij te houden. Maar 50.000 updates voor elke 30.000 gebruikers is wel een ouch, dat zou me een grotere zorg zijn


http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
300.000 per dag, maar nog acceptabel inderdaad. Opzich wel jammer dat het tijdstip dan niet opgeslagen wordt.. maar ik vrees dat dat een beetje teveel vreet.
De enige echte BaggerUser!
Riemen
fiets kopen
  vrijdag 31 juli 2009 @ 23:46:40 #57
74523 BaggerUser
ModderFokker!
pi_71505160
Oke laatste vraag voorlopig hoop ik...

Ik heb nu die tabel:
1medewerker|afdeling|melding|views|datum


nu wil ik de gegevens opvragen zodat ik een mooie grafiek kan maken.

Nu wil ik natuurlijk bij een grafiek van een gebruiker opvragen bijvoorbeeld alle views per dag per afdeling opvragen ongeacht de melding

het komt er dus op neer dat alle views per dag per gebruiker per afdeling per dag moet optellen... ik denk dat dit met groupby en sum() moet maar echt ver kom ik niet (op veel foutmeldingen na ) iemand die me een eindje op weg kan helpen?
De enige echte BaggerUser!
Riemen
fiets kopen
  vrijdag 31 juli 2009 @ 23:50:53 #58
75592 GlowMouse
l'état, c'est moi
pi_71505281
Wat had je met GROUP BY en sum?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_71505954
1
2
3
4
5
SELECT melding_id, datum, SUM(views)
FROM log 
WHERE medewerker_id = '1'
GROUP BY `datum`,`melding_id`
ORDER BY melding_id,datum


Krijg nu trouwens geen foutmelding meer en volgens mij klopt het nog ook (sta versteld van mezelf )

enige jammere is dat ik nu nog alle meldingen in 1 array krijg en het niet per melding een aparte array terug krijg..
De enige echte BaggerUser!
Riemen
fiets kopen
  zaterdag 1 augustus 2009 @ 00:27:46 #60
75592 GlowMouse
l'état, c'est moi
pi_71506146
Dan moet je GROUP BY en ORDER BY in dezelfde volgorde zetten, is sneller icm een index op (melding_id, datum, views) (één multicolumn index in deze volgorde dus).
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zaterdag 1 augustus 2009 @ 01:14:23 #61
65516 gieling
Live from NYC
pi_71507024
Ik ben even bezig met een nieuw login systeem, maar loop tegen een klein probleempje aan en alle artikelen via google lijken uit het jaar nul te komen...

Welke data kan je het beste in een cookie zetten om te verifiëren dat iemand ingelogd moet worden? Passwords sowieso niet maar alleen de username(+random data erachter?) lijkt me ook weer niet veilig of ligt dat aan mij?
  zaterdag 1 augustus 2009 @ 01:22:43 #62
75592 GlowMouse
l'état, c'est moi
pi_71507140
sessie-id should do it. En sessies in een db bijhouden. Zie bv. wat voor cookies wat je van FOK! krijgt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zaterdag 1 augustus 2009 @ 01:32:23 #63
65516 gieling
Live from NYC
pi_71507247
had ik naar gekeken maar is het niet zo dat de sessieid bij elk bezoek verandert?
  zaterdag 1 augustus 2009 @ 01:37:37 #64
75592 GlowMouse
l'état, c'est moi
pi_71507302
quote:
Op zaterdag 1 augustus 2009 01:32 schreef gieling het volgende:
had ik naar gekeken maar is het niet zo dat de sessieid bij elk bezoek verandert?
Als je PHP's eigen sessiesysteem gebruikt wel ja.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zaterdag 1 augustus 2009 @ 01:45:34 #65
65516 gieling
Live from NYC
pi_71507387
maar mijn theorie was dan dat bij een volgend bezoek $_COOKIE["session"]!=$result["session"] of maak ik hier een denkfout?
  zaterdag 1 augustus 2009 @ 01:46:49 #66
75592 GlowMouse
l'état, c'est moi
pi_71507404
Ligt er net aan hoe je alles instelt en wat $result is enzo. Op FOK! geldt gelukkig wel een gelijkheid.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zaterdag 1 augustus 2009 @ 01:55:17 #67
65516 gieling
Live from NYC
pi_71507498
$result zou dan de query zijn waar hij de cookie & sessie-id checkt in de database. Als daar een positief result uit zou komen zou je de sessies moeten zetten neem ik aan.

Oh maar wacht.. het sessid in de database is ook die van de vorige keer, dus zou overeen moeten komen met die in de cookie, toch?

Maar moet je je cookie dan elke keer updaten bij elke sessie?
  zaterdag 1 augustus 2009 @ 11:02:25 #68
75592 GlowMouse
l'état, c'est moi
pi_71510490
cookies kun je een lifetime meegeven, dan hoef je hem maar 1x in te stellen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_71514883
Haai, ik ben inmiddels een stuk verder met mijn scriptjes, echter stuit ik op een nieuw probleem.

Ik heb een multilevel array aangemaakt
1$result = array(1 => array(), 2 => array(), 3 => array());


Vervolgens wordt in een loop naar dit multi array weggeschreven, echter is het afhankelijk van de input op welke plaatsen er wordt weggeschreven.

Met mijn huidige code krijg ik deze foutmelding:
Undefined offset

Wat er op neerkomt dat de waarde nog niet geset is. Echter is het voor mij niet handig om bovenstaand array al tot in het oneindige te vullen met de waarde 0. Hoe valt om dit probleem heen te werken?

[edit]
Hmm, na nog veel langer gezocht te hebben het antwoord gevonden: gebruik maken van de isSet functie.
[/edit]

[ Bericht 6% gewijzigd door uppie83 op 01-08-2009 14:44:50 ]
ウプピエ 八十三 << u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_71516590
quote:
Op vrijdag 31 juli 2009 22:02 schreef BaggerUser het volgende:
Database vraagje..

Ik heb een database met simpel gezegd

medewerkers (500+/-)
afdelingen (60 +/-)
melding (stuk of 10 +/-)

een meldingen kan voor 1 of meerdere afdeling gelden en dus ook bekeken worden via verschillende afdelingen.

een buitenstaander kan via elke afdeling een melding zien via een medewerker (een melding is verder niet gekoppeld aan een gebruiker, alleen op het moment van bekijken wordt er een getal opgehoogd bij de medewerker.)

Nu wil ik per dag gaan bijhouden hoe vaak een melding is bekeken door een buitenstaander gekoppeld aan de gebruiker en via welke afdeling (dus dat ik van de afgelopen 7 dagen, en als het haalbaar is van de afgelopen maand hoevaak dat is)

nu komt de grap, zo'n melding kan soms wel 50.000 keer op een dag bekeken worden per gebruiker. Hoe krijg ik dat een beetje normaal in de database?
Als je die waarden alleen gebruikt voor marketing informatie: Niet. Gewoon je statistieken programma voor gebruiken.
pi_71526696
Hmm om een of andere vage reden werkt mijn 'strcasecmp' niet :?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
function compare($string$filename){
  
$stringArray explode(" ",$string); // Array with loose words of the string

  
$fileArray file($filename);
  
printArray($stringArray);
  
printArray($fileArray);
  for(
$index=0;$index<sizeof($stringArray);$index++){
    for(
$counter=0;$counter<sizeof($fileArray);$counter++){
      echo 
"index: $index en counter: $counter <br>";
      echo 
"$stringArray[$index] => $fileArray[$counter] <br>";
      
$compare strcasecmp($stringArray[$index],$fileArray[$counter]);
      echo 
"$compare <br>";
      if(
strcasecmp($stringArray[$index],$fileArray[$counter])==0){
        echo 
"match!!! <br>";
      }
    }
  }
}

compare('hallo dit is een test''F:\\XXX\\UsbWebserver\\Root\\YYY\\ZZZ\\woorden.txt');
?>

Dit geeft de volgende output:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
0 => hallo
1 => dit
2 => is
3 => een
4 => test
0 => hallo
1 => test
index: 0 en counter: 0
hallo => hallo
-2
index: 0 en counter: 1
hallo => test
-12
index: 1 en counter: 0
dit => hallo
-4
index: 1 en counter: 1
dit => test
-16
index: 2 en counter: 0
is => hallo
1
index: 2 en counter: 1
is => test
-11
index: 3 en counter: 0
een => hallo
-3
index: 3 en counter: 1
een => test
-15
index: 4 en counter: 0
test => hallo
12
index: 4 en counter: 1
test => test
0
match!!! 


Kortom hallo en hallo zijn niet hetzelfde |:(
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_71526795
Dit komt omdat file() de newlines bewaard. Je zou een array_map met trim kunnen proberen.
pi_71527410
quote:
Op zaterdag 1 augustus 2009 23:15 schreef Roönaän het volgende:
Dit komt omdat file() de newlines bewaard. Je zou een array_map met trim kunnen proberen.
Bedankt, dat werkt idd.

[edit]
Inmiddels heeft zich het volgende probleem aangediend. Ik probeer een multilevel array te sorteren op key value, waarbij key - value behouden blijft. Hiervoor heb ik deze functie:

1
2
3
4
5
6
7
8
<?php
function sortArray(&$array){
  
ksort($array);
  foreach(
array_keys($array) as $i){
    
sortArray($array[$i]);
  }
}
?>


En uiteindelijk doet dit de truc wel. Ik krijg er echter een shitload aan foutmeldingen bij.

[ Bericht 69% gewijzigd door uppie83 op 02-08-2009 01:22:31 ]
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_71531350
quote:
Op zaterdag 1 augustus 2009 23:42 schreef uppie83 het volgende:

En uiteindelijk doet dit de truc wel. Ik krijg er echter een shitload aan foutmeldingen bij.
Helaas, m'n glazen bol is stuk.
pi_71538385
Wat dacht je van iets als:
1
2
3
4
5
6
7
8
9
10
11
<?php
function sortArray(&$array){
  if(!
is_array($array)) {
     return;
  }
  
ksort($array);
  foreach(
array_keys($array) as $i){
    
sortArray($array[$i]);
  }
}
?>
  zondag 2 augustus 2009 @ 17:33:40 #76
75592 GlowMouse
l'état, c'est moi
pi_71542594
array_map!
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_71543309
Roonaan: ben jij geen ZCE meer, of staat het gewoon niet meer in je sig?

Heeft dat nou in de praktijk meerwaarde?
Ik heb het wel eens overwogen, maar ik heb nog nooit een klant gehad die er naar vroeg zeg maar...
pi_71548630
quote:
Op zondag 2 augustus 2009 17:57 schreef Xcalibur het volgende:
Roonaan: ben jij geen ZCE meer, of staat het gewoon niet meer in je sig?

Heeft dat nou in de praktijk meerwaarde?
Ik heb het wel eens overwogen, maar ik heb nog nooit een klant gehad die er naar vroeg zeg maar...
Voor freelance is ZCE misschien nog enigszins relevant. In mijn werk stukken minder. Hoef me ook niet meer zo nodig als zodanig te positioneren. Werk genoeg.
pi_71550904
Enigszins relevant klinkt ook niet als een vereiste
pi_71551041
quote:
Op zondag 2 augustus 2009 22:42 schreef Xcalibur het volgende:
Enigszins relevant klinkt ook niet als een vereiste
Er zijn veel mensen die zoiets hebben van "ZCE " "Zend "
  maandag 3 augustus 2009 @ 03:38:13 #81
110933 F4T4L_3RR0R
R.I.P. webicon ;(
pi_71555584
Even een stomme vraag:

Ik wil eenl PHP scriptje op een thuisserver draaien. Daarvoor heb ik Apache en PHP geïnstalleerd. Moet ik ook MySQL installeren? Ik ga geen gebruik maken van databases, maar zag wel allemaal SQL verwijzingen in de php.ini.
Een ballonvaarder die door de mand valt is nooit grappig...
  maandag 3 augustus 2009 @ 04:07:11 #82
111382 Ofyles2
Bestemming: onbekend
pi_71555624
quote:
Op maandag 3 augustus 2009 03:38 schreef F4T4L_3RR0R het volgende:
Even een stomme vraag:

Ik wil eenl PHP scriptje op een thuisserver draaien. Daarvoor heb ik Apache en PHP geïnstalleerd. Moet ik ook MySQL installeren? Ik ga geen gebruik maken van databases, maar zag wel allemaal SQL verwijzingen in de php.ini.
Niet alleen Apache installeren, XAMPP installeren.

Overigens moet je voor MySQL de root wel beveiligen met een wachtwoord (veiligheidshalve).
pi_71555751
quote:
Op maandag 3 augustus 2009 03:38 schreef F4T4L_3RR0R het volgende:
Even een stomme vraag:

Ik wil eenl PHP scriptje op een thuisserver draaien. Daarvoor heb ik Apache en PHP geïnstalleerd. Moet ik ook MySQL installeren? Ik ga geen gebruik maken van databases, maar zag wel allemaal SQL verwijzingen in de php.ini.
Nope, je hoeft geen mysql, (dus ook geen xampp) te draaien als je geen db nodig hebt.

De php.ini bevat voor heel veel extensies standaard instellingen, deze worden echter pas gebruikt als de juiste extension/zend_extension aan staat. Daarnaast is het prima mogelijk dat je php de mysql module aan heeft staan, zonder dat je mysql hebt geïnstalleerd. Voor hetzelfde geld heb je mysql op een andere machine staan, en dan zou het wat lullig zijn als je mysql alleen lokaal zou kunnen gebruiken.
pi_71556580
quote:
Op maandag 3 augustus 2009 04:07 schreef Ofyles2 het volgende:

[..]

Niet alleen Apache installeren, XAMPP installeren.

Overigens moet je voor MySQL de root wel beveiligen met een wachtwoord (veiligheidshalve).
Ja, het is EEN antwoord.... maar om nou te zeggen dat dit een antwoord op de gestelde vraag is... neuh
Verder wat Roonaan zegt
pi_71605298
quote:
Op zondag 2 augustus 2009 09:37 schreef Light het volgende:

[..]

Helaas, m'n glazen bol is stuk.
Hmm sorry, ik had het vermoeden dat mensen op jullie niveau de fout al uit de code zouden herkennen ;)

Anyway, dit is de output wanneer ik de volgende code gebruik

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function sortArray(&$array){
  
ksort($array);
  foreach(
array_keys($array) as $i){
    
sortArray($array[$i]);
  }
}

$test analyzeString('blablablablabla');
printArray($test);
sortArray($test);
printArray($test);
?>


waarbij analyzeString de functie is die een multi-array uitspuugt zoals uit de eerste printArray blijkt. Dit stukje code begint met mijn regel 113.

Output
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
1 =>
1 => 111
2 => 11
2 =>
1 => 80
2 => 57
4 => 3
3 => 10
3 =>
1 => 10
3 => 2

Warning: ksort() expects parameter 1 to be array, integer given in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 114

Warning: array_keys() [function.array-keys]: The first argument should be an array in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: Invalid argument supplied for foreach() in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: ksort() expects parameter 1 to be array, integer given in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 114

Warning: array_keys() [function.array-keys]: The first argument should be an array in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: Invalid argument supplied for foreach() in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: ksort() expects parameter 1 to be array, integer given in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 114

Warning: array_keys() [function.array-keys]: The first argument should be an array in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: Invalid argument supplied for foreach() in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: ksort() expects parameter 1 to be array, integer given in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 114

Warning: array_keys() [function.array-keys]: The first argument should be an array in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: Invalid argument supplied for foreach() in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: ksort() expects parameter 1 to be array, integer given in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 114

Warning: array_keys() [function.array-keys]: The first argument should be an array in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: Invalid argument supplied for foreach() in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: ksort() expects parameter 1 to be array, integer given in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 114

Warning: array_keys() [function.array-keys]: The first argument should be an array in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: Invalid argument supplied for foreach() in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: ksort() expects parameter 1 to be array, integer given in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 114

Warning: array_keys() [function.array-keys]: The first argument should be an array in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: Invalid argument supplied for foreach() in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: ksort() expects parameter 1 to be array, integer given in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 114

Warning: array_keys() [function.array-keys]: The first argument should be an array in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115

Warning: Invalid argument supplied for foreach() in F:\XXX\UsbWebserver\Root\YYY\ZZZ\textanalyzer.php on line 115
1 =>
1 => 111
2 => 11
2 =>
1 => 80
2 => 57
3 => 10
4 => 3
3 =>
1 => 10
3 => 2 
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_71605781
quote:
Op dinsdag 4 augustus 2009 20:58 schreef uppie83 het volgende:

[..]

Hmm sorry, ik had het vermoeden dat mensen op jullie niveau de fout al uit de code zouden herkennen
En ik had gehoopt/verwacht dat die uitvoer je in ieder geval in een richting zou helpen.

De eerste keer gaat het sorteren wel goed, het gaat pas mis als je op een dieper niveau gaat sorteren. Dan krijg je namelijk een moment waarop ksort() en array_keys() een array verwachten maar niet krijgen. En dat levert die foutmeldingen op.

Je krijgt de foutmelding acht keer. Dat komt precies overeen met het aantal waarden op het diepste niveau (111, 11, 80, 57, 10, 3, 10, 2).

Roonaan heeft al een oplossing gegeven.
pi_71605989
quote:
Op dinsdag 4 augustus 2009 21:15 schreef Light het volgende:

[..]

En ik had gehoopt/verwacht dat die uitvoer je in ieder geval in een richting zou helpen.
Nee, ik snapte er geen hout van, want ik stopte er een array in, en de foutmelding was dat er een array in moest.
quote:
Roonaan heeft al een oplossing gegeven.
Oh, dat werkt wel , ik snap alleen niet waarom dit wel werkt...
Het enige extra is dat er nu een check op zit of het wel een array is, terwijl ik zelf al 100% zeker was dat het een array was.
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_71606753
quote:
Op dinsdag 4 augustus 2009 21:21 schreef uppie83 het volgende:

[..]

Nee, ik snapte er geen hout van, want ik stopte er een array in, en de foutmelding was dat er een array in moest.
[..]

Oh, dat werkt wel *O* , ik snap alleen niet waarom dit wel werkt... -O-
Het enige extra is dat er nu een check op zit of het wel een array is, terwijl ik zelf al 100% zeker was dat het een array was.
Je hebt een array in een array:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
array(
  
=> array(
    
=> 111,
    
=> 11
  
),
  
=> array(
    
=> 80,
    
=> 57
  
)
);
?>


De eerste keer dat je de functie sortArray() aanroept, geef je die array mee. In de functie sortArray() sorteer je de array en daarna wil je de onderliggende arrays ook sorteren. Met de foreach() doorloop je de array die je hebt meegegeven, en voor iedere waarde roep je weer de functie sortArray() aan.

Bij de tweede aanroep heb je dan
1
2
3
<?php
array(=> 111=> 11);
?>


Op die array haal je weer hetzelfde trucje uit voor het sorteren.
En daarna gaat het mis, je roept dan sortArray() aan met alleen de waarde 111. Dat is geen array.
pi_71606954
Waarom voel ik me nu zo stom
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
  woensdag 5 augustus 2009 @ 20:00:48 #90
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_71631683
Ok ik wordt echt gek, vandaag 8+ uur bezig geweest met een tellertje:

Ik heb een mysql tabel welke er als volgt uitziet:

pair_profile_words_register_test
1
2
3
4
register_ID = id van bedrijf
word_ID = een gekoppeld woord aan dit bedrijf
source_company_word_ID = een ander woord
source_branche_ID = het ID van de branche van de koppeling.


Met de bovenstaande tabel kan ik aantal koppelingen maken.
Nu wil ik echter het volgende weten ( meer dan 3.000.000 records):

Hoeveel (unieke) register_ID's (uniek!) bevinden zich in deze tabel, maar deze zal ik moeten zoeken in combinatie met de overige kolommen.
Echter, deze kolommen bevatten ook weer dubbele nummers....


weet niet of dit verhaal een beetje duidelijk is?
  woensdag 5 augustus 2009 @ 20:02:49 #91
75592 GlowMouse
l'état, c'est moi
pi_71631744
DISTINCT en WHERE al geprobeerd?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 5 augustus 2009 @ 20:14:30 #92
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_71632091
quote:
Op woensdag 5 augustus 2009 20:02 schreef GlowMouse het volgende:
DISTINCT en WHERE al geprobeerd?
Nee, DISTINCT niet, maar daarmee 'verlies' ik toch ook data?
Kijk het volgende zou mogelijk moeten zijn

source_company_word_ID = 50

Nu wil ik weten hoeveel register_ID's hierin voorkomen, echter komt het volgende ook voor in de tabel:

register_ID word_ID
10 30
10 35
11 35
12 30

Probleem met GROUP BY is dat ik dan een flink aantal register_ID's zal gaan missen....
  woensdag 5 augustus 2009 @ 20:17:59 #93
75592 GlowMouse
l'état, c'est moi
pi_71632178
COUNT kun je combineren met DISTINCT Je telt dan unieke waarden.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 5 augustus 2009 @ 20:19:47 #94
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_71632221
Zou dat dus in 1 query kunnen? Ik ga even wat proberen! thanks! Laat over een paar min wat van me horen!
  woensdag 5 augustus 2009 @ 20:40:57 #95
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_71632729
$Q = mysql_query("SELECT DISTINCT COUNT(register_ID) AS totaal_bedrijven FROM pair_profile_words_register WHERE source_word_ID = 27561 GROUP BY word_ID") or print_r(mysql_error());

en hier krijg ik 212 uit, wat boven de 800 zou moeten zijn...doe ik iets fout?
  woensdag 5 augustus 2009 @ 20:43:52 #96
75592 GlowMouse
l'état, c'est moi
pi_71632801
Zoek eens op waarvoor GROUP BY voor is. En bedenk wat DISTINCT hier doet; zie bv. het verschil als je hem weglaat.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 5 augustus 2009 @ 21:10:31 #97
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_71633507
Ik weet wat group by doet, het probleem is nu dus dat hij teveel regels wegfiltert....
  woensdag 5 augustus 2009 @ 21:12:13 #98
75592 GlowMouse
l'état, c'est moi
pi_71633557
Filteren doe je niet met GROUP BY.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_71633558
count + left join + group by oid?
  woensdag 5 augustus 2009 @ 21:31:10 #100
75592 GlowMouse
l'état, c'est moi
pi_71634210
quote:
Op woensdag 5 augustus 2009 21:12 schreef Roönaän het volgende:
count + left join + group by oid?
Het begint bij een duidelijker vraagstelling Maar LEFT JOIN zal er wel niet bij hoeven omdat ik maar één tabel zie.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 5 augustus 2009 @ 22:26:15 #101
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_71635927
Sorry voor de vage vraag idd....probleem ondertussen gevonden

Ik was vergeten een primarykey te zetten op een aantal velden, en had geen mysql_error() op de invoer gezet.
Wat bleek, het totaal klopte dus wel...

Onderstaande werkt:

SELECT DISTINCT COUNT(register_ID) AS totaal_bedrijven FROM pair_profile_words_register WHERE source_word_ID = 27561 GROUP BY word_ID

Maar als ik DISTINCT weghaal, werkt het ook. Heeft het nut?
  woensdag 5 augustus 2009 @ 22:49:57 #102
75592 GlowMouse
l'état, c'est moi
pi_71636601
Probeer dit eens

SELECT word_ID,COUNT(register_ID) AS totaal_bedrijven FROM pair_profile_words_register WHERE source_word_ID = 27561 GROUP BY word_ID

Dan weet je ook wat je telt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')