abonnement Unibet Coolblue Bitvavo
  zondag 26 oktober 2008 @ 18:43:10 #51
12221 Tijn
Powered by MS Paint
pi_62696018
Hmm... PHP krijgt definitief namespaces, maar op Slashdot.org zijn ze er toch niet zo over te spreken
pi_62696502
quote:
Op zondag 26 oktober 2008 18:26 schreef CraZaay het volgende:
Waarom gebruik je überhaupt heredoc, en niet gewoon quotes rond je string (die in PHP gewoon linebreaks mag hebben)? Scheelt weer wat code en is volgens mij net zo duidelijk?
dat hele heredoc gebeuren ontgaat me een beetje eerlijk gezegd...
pi_62696617
Het is geen source van mij maar van een vriend, en ik moest daar iets in gaan aanpassen.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_62713009
Pff, wat een gezeik met MATCH AGAINST

Als ik een query doe op een aantal kolommen (MATCH(col1, col2, col3, etc.) duurt ie 1,6 seconden.
Als ik een query doe op MATCH(col1) AND MATCH(col2), etc. duurt ie maar 0,02 seconden, maar kan ik niet op meer dan 1 woord zoeken.
Een query op MATCH(col1) OR MATCH(col2) levert weer de juiste resultaten, maar duur ook 1,6 seconden

Nu doe ik 8 losse queries, die ieder 0,02 seconden duren, en daarvan voeg ik de resultaten samen
Dat moet toch anders kunnen zou je denken...

Het probleem 1,5+ seconden van de 1,6 zit in de "copying to tmp table" actie, maar hoe ik dat kan voorkomen / versnellen wordt me niet duidelijk
pi_62713363
quote:
Op maandag 27 oktober 2008 11:16 schreef Xcalibur het volgende:
Pff, wat een gezeik met MATCH AGAINST

Als ik een query doe op een aantal kolommen (MATCH(col1, col2, col3, etc.) duurt ie 1,6 seconden.
Als ik een query doe op MATCH(col1) AND MATCH(col2), etc. duurt ie maar 0,02 seconden, maar kan ik niet op meer dan 1 woord zoeken.
Een query op MATCH(col1) OR MATCH(col2) levert weer de juiste resultaten, maar duur ook 1,6 seconden

Nu doe ik 8 losse queries, die ieder 0,02 seconden duren, en daarvan voeg ik de resultaten samen
Dat moet toch anders kunnen zou je denken...

Het probleem 1,5+ seconden van de 1,6 zit in de "copying to tmp table" actie, maar hoe ik dat kan voorkomen / versnellen wordt me niet duidelijk
Als het over MySQL gaat kun je altijd met EXPLAIN kijken wat er ongeveer gebeurd.
pi_62713954
Ja, heb ik gedaan... indexen lijken allemaal goed te staan enzo

Als ik alles uit de query sloop behalve de MATCH AGAINST win ik ook niks, dus het zit echt daarin.... en dan met name in die tmp table kennelijk, maar ik zou niet weten hoe ik die moet omzeilen...
  maandag 27 oktober 2008 @ 13:26:11 #57
12880 CraZaay
prettig gestoord
pi_62716760
quote:
Op maandag 27 oktober 2008 11:50 schreef Xcalibur het volgende:
Ja, heb ik gedaan... indexen lijken allemaal goed te staan enzo
Teveel indexen? Of misschien ergens FORCE INDEX gebruiken?
pi_62728158
quote:
Op vrijdag 24 oktober 2008 17:51 schreef Xcalibur het volgende:
De waarde voor first_run moet voor ieder record nog bepaald worden, terwijl je hetzelfde record hier wel op probeert te selecteren, dat gaat niet

Je zou wel "WHERE last_action + 31:15 <= NOW()" (pseudocode) kunnen doen, dan heb je een harde waarde
Ik heb ergens de oplossing gevonden.

In standaard SQL schijnt het niet toegstaan te zijn dat je je WHERE clause op aliasses doet. MySQL heeft hier de clause 'HAVING' voor gemaakt en dit werkt wel

Link: http://dev.mysql.com/doc/refman/6.0/en/problems-with-alias.html

Het staat gewoon in de f-Manual
  dinsdag 28 oktober 2008 @ 08:14:36 #59
137676 TommyGun
Stik er maar in!
pi_62741060
quote:
Op vrijdag 24 oktober 2008 12:22 schreef TommyGun het volgende:

[..]

Dat werkt idd voor specificatie, maar niet voor afdeling vreemd genoeg.
[ code verwijderd ]

echo "<select name='afdeling[]'>\n";
Iemand?
  dinsdag 28 oktober 2008 @ 10:38:56 #60
187069 slacker_nl
Sicko pur sang
pi_62744129
1
2
3
4
5
6
<?php
foreach(array(116118112) as $v) {
    print 
chr($v);
}
print 
"\n";
?>
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 28 oktober 2008 @ 10:42:57 #61
187069 slacker_nl
Sicko pur sang
pi_62744226
quote:
Op zondag 26 oktober 2008 18:57 schreef Xcalibur het volgende:

[..]

dat hele heredoc gebeuren ontgaat me een beetje eerlijk gezegd...
Bijzonder handig voor grote lappen tekst.

$str = <<OEF
Dit is een hele grote lap tekst..
..
..
..
OEF

Ipv:

$str = "Dit is een hele grote lap tekst..\n..\n..\n..\n";
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 28 oktober 2008 @ 10:54:17 #62
137676 TommyGun
Stik er maar in!
pi_62744631
quote:
Op dinsdag 28 oktober 2008 10:38 schreef slacker_nl het volgende:

[ code verwijderd ]
Was dit voor mij bedoeld? En zoja; waar dient dit voor?

B.v.d
  dinsdag 28 oktober 2008 @ 10:57:40 #63
187069 slacker_nl
Sicko pur sang
pi_62744737
quote:
Op dinsdag 28 oktober 2008 10:54 schreef TommyGun het volgende:

[..]

Was dit voor mij bedoeld? En zoja; waar dient dit voor?

B.v.d
Het print tvp, en het was niet voor jou bedoeld

Overigens werkt je code niet omdat afdeling geen array is, maar een scalar value..
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 28 oktober 2008 @ 11:14:21 #64
137676 TommyGun
Stik er maar in!
pi_62745340
quote:
Op dinsdag 28 oktober 2008 10:57 schreef slacker_nl het volgende:

[..]

Het print tvp, en het was niet voor jou bedoeld

Overigens werkt je code niet omdat afdeling geen array is, maar een scalar value..
Hoe bedoel je dat?

Mijn insert.php is nu als volgt:

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
<?php
$current_time 
date("Y-m-d");
$con mysql_connect("localhost","root","password");
if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("urendatabase"$con);

print_r($_POST);

for (
$i 0$i 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$_POST[werknemer]','$_POST[specificatie][$i]','$_POST[afdeling][$i]','$_POST[uren][$i]','$_POST[omschrijving][$i]','$_POST[callnr][$i]','$current_time')"
;

if (!
mysql_query($sql,$con))
  {
  die(
'Error: ' mysql_error());
  }
}

echo 
"Werkzaamheden toegevoegd";
echo 
"<br><br>";
echo(
"<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo(
"<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>


Met deze output:

1
2
3
4
5
6
7
Array ( [werknemer] => 5 
[specificatie] => Array ( [0] => 3 [1] => 1 [2] => 4 [3] => 2 [4] => 3 ) 
[afdeling] => Array ( [0] => 10 [1] => 16 [2] => 14 [3] => 17 [4] => 14 ) 
[uren] => Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 [4] => 7 ) 
[callnr] => Array ( [0] => 2342 [1] => 4234 [2] => 4234 [3] => 5456 [4] => 7657 ) 
[omschrijving] => Array ( [0] => test1 [1] => test2 [2] => ttest3 [3] => test4 [4] => test5 ) 
[submit] => Submit )


Vreemd genoeg laat "afdeling" nu wel de array zijn terwijl ik niks heb aangepast.

In de DB:



B.v.d

[ Bericht 42% gewijzigd door TommyGun op 28-10-2008 11:57:57 ]
  dinsdag 28 oktober 2008 @ 11:52:04 #65
187069 slacker_nl
Sicko pur sang
pi_62746514
quote:
Op dinsdag 28 oktober 2008 11:14 schreef TommyGun het volgende:
Hoe bedoel je dat?
Daarmee wilde ik zeggen dat je een string/int whatever behandeld alsof het een array is, wat het niet is (in je voorgaande voorbeeld). Iets is een scalar als het maar een (1) waarde kan bevatten, een string, integer, float, double, etc. Arrays zijn geen scalar values.
quote:
Vreemd genoeg laat "afdeling" nu wel de array zijn terwijl ik niks heb aangepast.
Kennelijk heeft die user uren verspreid over meerdere afdelingen?!
quote:
In de DB:
[ afbeelding ]
Kloppen die waardes wel met Array[3] enzo?

Als je arrays wilt opslaan in mysql moet je wellicht zoiets doen: http://forums.mysql.com/read.php?101,158517,158517 . Al denk ik niet dat je dat nodig hebt..
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 28 oktober 2008 @ 11:56:03 #66
137676 TommyGun
Stik er maar in!
pi_62746639
Ja, de waardes kloppen. Het is juist de bedoeling dat je per afdeling en specificatie verschillende uren e.d. op kunt geven. Of begrijp ik je nu verkeerd?

Bedankt
  dinsdag 28 oktober 2008 @ 12:58:11 #67
187069 slacker_nl
Sicko pur sang
pi_62748468
quote:
Op dinsdag 28 oktober 2008 11:56 schreef TommyGun het volgende:
Ja, de waardes kloppen. Het is juist de bedoeling dat je per afdeling en specificatie verschillende uren e.d. op kunt geven. Of begrijp ik je nu verkeerd?

Bedankt
Hoe kan je weten wat Array[1] is? Is het niet veel handiger om je uren gewoon als int op te slaan, je omschrijving als tekst, en je callnummer als int?

Als je vervolgens de data ophaalt krijg je een resultset terug die ongeveer er zo uit ziet (select * from table where userid = 5)

array(
0 => array( uurid => 46,userid => 5, afdelingid => 0, uren => 2, omschrijving => "blaat", callnummer => 1234),
1 => array( uurid => 47,userid => 5, afdelingid => 0, uren => 2, omschrijving => "blah", callnummer => 1234),
2 => array( uurid => 48,userid => 5, afdelingid => 0, uren => 2, omschrijving => "nah", callnummer => 1234),
)
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 28 oktober 2008 @ 13:25:58 #68
137676 TommyGun
Stik er maar in!
pi_62749314
Het werkt inmiddels dmv:

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
<?php
$current_time 
date("Y-m-d");
$con mysql_connect("localhost","root","password");
if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("urendatabase"$con);

$werknemer $_POST['werknemer'];
$afdeling $_POST['afdeling'];
$uren $_POST['uren'];
$specificatie $_POST['specificatie'];
$omschrijving $_POST['omschrijving'];
$callnr $_POST['callnr'];

for (
$i 0$i 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$werknemer', '$specificatie[$i]', '$afdeling[$i]', '$uren[$i]', '$omschrijving[$i]', '$callnr[$i]', '$current_time')"
;

if (!
mysql_query($sql,$con))
  {
  die(
'Error: ' mysql_error());
  }
}

echo 
"Werkzaamheden toegevoegd";
echo 
"<br><br>";
echo(
"<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo(
"<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>


Bedankt!
  dinsdag 28 oktober 2008 @ 13:55:24 #69
159761 Arn0
Abbey Road
pi_62750242
Hoi, ben een absolute beginner met MySQL en ik vroeg me af hoe groot de MySQL database van een IPB forum met +100 000 leden en +75 000 berichten? (het is voor een prijsvraag van iets)
By hook or by crook, I'll be last in this book.
  dinsdag 28 oktober 2008 @ 13:58:07 #70
63192 ursel
"Het Is Hier Fantastisch!
pi_62750334
quote:
Op dinsdag 28 oktober 2008 13:55 schreef Arn0 het volgende:
Hoi, ben een absolute beginner met MySQL en ik vroeg me af hoe groot de MySQL database van een IPB forum met +100 000 leden en +75 000 berichten? (het is voor een prijsvraag van iets)
Tja, da's ook lekker te zeggen..
Is elke post een boekwerk of gewoon allemaal tvp's
pi_62751093
Een paar honderd MB? 100.000 leden zal een paar mb's in beslag nemen maar 75.000 posts zou ik toch minimaal een paar honderd mbtjes rekenen, tenzij de opzet brak is
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_62751371
Wel wazig, een forum met meer leden dan posts
pi_62753015
quote:
Op dinsdag 28 oktober 2008 @ 13:55 schreef Arn0 het volgende:
Hoi, ben een absolute beginner met MySQL en ik vroeg me af hoe groot de MySQL database van een IPB forum met +100 000 leden en +75 000 berichten? (het is voor een prijsvraag van iets)
Ik heb wel eens begrepen dan heel FOK! (volgens mij incl. alle subsites) een GB of 60 was.
  dinsdag 28 oktober 2008 @ 15:27:19 #74
159761 Arn0
Abbey Road
pi_62753173
Hmm ok, dan weet ik genoeg. Bedankt!
By hook or by crook, I'll be last in this book.
  dinsdag 28 oktober 2008 @ 15:28:29 #75
136730 PiRANiA
All thinking men are atheists.
pi_62753216
quote:
Op dinsdag 28 oktober 2008 15:21 schreef mcDavid het volgende:

[..]

Ik heb wel eens begrepen dan heel FOK! (volgens mij incl. alle subsites) een GB of 60 was.
Ik denk echt veel en veel meer.
Misschien het 3-dubbele.. minimaal..
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')