abonnement Unibet Coolblue Bitvavo
  maandag 24 oktober 2011 @ 11:52:36 #1
22273 Dizer
Save the beard!
pi_103491174


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL
Friends don't let friends remain beardless...
  maandag 24 oktober 2011 @ 11:53:24 #2
22273 Dizer
Save the beard!
pi_103491197
Hehe was LaPo.. dus hierbij mijn vraag nog een keer :)

Hoi ik heb een vraagje, kan iemand mij helpen met het plaatsen van deze code in php?

1
2
3
4
5
6
7
<script language="javascript" type="text/javascript">
 function resizeIframe(obj)
 {
   obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
   obj.style.width = obj.contentWindow.document.body.scrollWidth + 'px';
 }
</script>

Alvast bedankt!
Friends don't let friends remain beardless...
pi_103491353
Eh, dat is javascript, client-side code. Dat heeft niets in PHP te zoeken.

[html, css, js] voor dummies #18
  maandag 24 oktober 2011 @ 11:59:11 #4
22273 Dizer
Save the beard!
pi_103491423
quote:
0s.gif Op maandag 24 oktober 2011 11:57 schreef KomtTijd... het volgende:
Eh, dat is javascript, client-side code. Dat heeft niets in PHP te zoeken.

[html, css, js] voor dummies #18
Ok dan stel ik de vraag anders, hoe kan ik in php ervoor zorgen dat iframes automatische hoogtes krijgen zonder te scrollen. Dus alleen een scrollbar van de site zelf? En dus niet dubbel.. zowel de iframe als de website...
Friends don't let friends remain beardless...
pi_103491745
quote:
7s.gif Op maandag 24 oktober 2011 11:59 schreef Dizer het volgende:

[..]

Ok dan stel ik de vraag anders, hoe kan ik in php ervoor zorgen dat iframes automatische hoogtes krijgen zonder te scrollen. Dus alleen een scrollbar van de site zelf? En dus niet dubbel.. zowel de iframe als de website...
Niet. Dat moet je met CSS, Javascript en HTML doen.
  maandag 24 oktober 2011 @ 12:07:17 #6
12221 Tijn
Powered by MS Paint
pi_103491753
quote:
7s.gif Op maandag 24 oktober 2011 11:59 schreef Dizer het volgende:

[..]

Ok dan stel ik de vraag anders, hoe kan ik in php ervoor zorgen dat iframes automatische hoogtes krijgen zonder te scrollen. Dus alleen een scrollbar van de site zelf? En dus niet dubbel.. zowel de iframe als de website...
Dat is ook iets voor de client. PHP gaat alleen over de server.
pi_103491901
quote:
7s.gif Op maandag 24 oktober 2011 11:59 schreef Dizer het volgende:

[..]

Ok dan stel ik de vraag anders, hoe kan ik in php ervoor zorgen dat iframes automatische hoogtes krijgen zonder te scrollen. Dus alleen een scrollbar van de site zelf? En dus niet dubbel.. zowel de iframe als de website...
Ik denk dat je je moet gaan afvragen waarom je met uberhaupt iframes wilt werken...
  maandag 24 oktober 2011 @ 12:12:53 #8
14612 _GdR_
3.1415926536
pi_103491943
quote:
0s.gif Op maandag 24 oktober 2011 11:57 schreef KomtTijd... het volgende:
Eh, dat is javascript, client-side code. Dat heeft niets in PHP te zoeken.

[html, css, js] voor dummies #18
ach help die knul gewoon ff man.

1
2
3
4
5
6
7
$javascript = "<script language='javascript' type='text/javascript'>";
$javascript .= "function resizeIframe(obj) {";
$javascript .= "obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';";
$javascript .= "obj.style.width = obj.contentWindow.document.body.scrollWidth + 'px';";
$javascript .= "} </script>";

print $javascript;
Out! out! flapoor your father! | DaFan's moeder
  maandag 24 oktober 2011 @ 12:52:08 #9
324709 baaart
¯¯¯¯¯¯¯
pi_103493374
quote:
0s.gif Op maandag 24 oktober 2011 12:12 schreef _GdR_ het volgende:

[..]

ach help die knul gewoon ff man.
[ code verwijderd ]

_O-
  maandag 24 oktober 2011 @ 17:36:58 #10
218617 YazooW
bel de wouten!
pi_103504695
Sorry dat ik jullie hier weer moet lastig vallen maar mijn scriptje heeft mij nu alweer enkele uren hoofdpijn bezorgd en ik kom er maar niet uit... 1 script haalt alle urls op, 2e script moet uitgevoerd worden op alle urls die ik uit mijn eerste script haal.

haalt url's op
1
2
3
4
5
6
<?php
$html 
file_get_html($url);
 
foreach(
$html->find('table#speler td[class="naam"] a[href]') as $all)
    echo 
$all->getAttribute('href') . '<br>';
?>

haalt info speler op
1
2
3
4
5
6
<?php
$html 
file_get_html($url);

foreach(
$html->find('dd') as $all)
    echo 
$all->innertext '<br>';
?>

Ik weet (denk ik) hoe ik het kan oplossen, ik schiet alleen totaal niet op in de uitvoering omdat ik vrij onbekend ben met php.
Output van het eerste script is een lijst met Url's, die moeten opslagen worden in een array. Vervolgens moet ik op de 1 of andere manier in het tweede script de file_get_html vullen met die array.
pi_103504871
In een session opslaan. of gewoon in één script gooien.
Of toch du vader?
pi_103504919
quote:
0s.gif Op maandag 24 oktober 2011 17:36 schreef YazooW het volgende:
Sorry dat ik jullie hier weer moet lastig vallen maar mijn scriptje heeft mij nu alweer enkele uren hoofdpijn bezorgd en ik kom er maar niet uit... 1 script haalt alle urls op, 2e script moet uitgevoerd worden op alle urls die ik uit mijn eerste script haal.

haalt url's op
[ code verwijderd ]

haalt info speler op
[ code verwijderd ]

Ik weet (denk ik) hoe ik het kan oplossen, ik schiet alleen totaal niet op in de uitvoering omdat ik vrij onbekend ben met php.
Output van het eerste script is een lijst met Url's, die moeten opslagen worden in een array. Vervolgens moet ik op de 1 of andere manier in het tweede script de file_get_html vullen met die array.
Enkel script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

$url_array 
= array();

$html file_get_html($url);
 
foreach(
$html->find('table#speler td[class="naam"] a[href]') as $all) {
    
$url_array[] = $all->getAttribute('href');
}

foreach(
$url_array as $get_url) {
    
$html file_get_html$get_url);

    foreach(
$html->find('dd') as $all) {
        echo 
$all->innertext '<br>';
    }
}

?>

Twee losse scripts:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

session_start
();

$url_array = array();

$html file_get_html($url);
 
foreach(
$html->find('table#speler td[class="naam"] a[href]') as $all) {
    
$url_array[] = $all->getAttribute('href');
}

$_SESSION['url_array'] = $url_array;

?>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

session_start
();

$url_array $_SESSION['url_array'];

foreach(
$url_array as $get_url) {
    
$html file_get_html($get_url);

    foreach(
$html->find('dd') as $all) {
        echo 
$all->innertext '<br>';
    }
}

?>


[ Bericht 64% gewijzigd door The_Terminator op 24-10-2011 17:50:39 ]
  maandag 24 oktober 2011 @ 18:30:04 #13
218617 YazooW
bel de wouten!
pi_103506791
Na er een kwartier lang over gedaan te hebben om erachter te komen dat de DOM niet included was in het bovenstaande voorbeeld van The_Terminator heb ik hem dus eindelijk werkend gekregen nu 8)7 Krijg nu precies de data die ik nodig heb, hartelijk bedankt hiervoor!

Nu kom ik bij het verhaal dat alles naar mijn database geschreven moet worden, en ga ik jullie ook mijn allerlaatste vraag stellen voordat ik jullie met rust laat :P

1
2
3
4
<?php
foreach($html->find('dd') as $all) {
        echo 
$all->innertext '<br>';
?>
Bovenstaande stukje code geeft mij deze output:
quote:
Daniel
Sturridge
England
1 September 1989
22
England
Birmingham
Attacker
188 cm
76 kg
Nu wil ik dus elk van die regels gaan opslaan in een eigen variabele, waarna ik vervolgens die variabelen op kan nemen in mijn sql query. Dus ik wil een variable $voornaam, $achternaam, $land, $geboordedatum, etc etc, toekennen aan de juiste regel, hoe ga ik dit doen?
pi_103506842
quote:
0s.gif Op maandag 24 oktober 2011 08:51 schreef Pakspul het volgende:

[..]
[ code verwijderd ]

Niet in één preg_replace, maar ik denk dat je de oplossing niet verkeerd zal vinden.
En als ik [faq=123][b]Test[/b][/faq] probeer, gaat dat dan ook goed?

Zo wordt [url=http://www.google.com]G[b]oo[/b]gle[/url] ook gewoon Google :)
pi_103512949
quote:
0s.gif Op maandag 24 oktober 2011 18:30 schreef YazooW het volgende:
Na er een kwartier lang over gedaan te hebben om erachter te komen dat de DOM niet included was in het bovenstaande voorbeeld van The_Terminator heb ik hem dus eindelijk werkend gekregen nu 8)7 Krijg nu precies de data die ik nodig heb, hartelijk bedankt hiervoor!

Nu kom ik bij het verhaal dat alles naar mijn database geschreven moet worden, en ga ik jullie ook mijn allerlaatste vraag stellen voordat ik jullie met rust laat :P
[ code verwijderd ]

Bovenstaande stukje code geeft mij deze output:

[..]

Nu wil ik dus elk van die regels gaan opslaan in een eigen variabele, waarna ik vervolgens die variabelen op kan nemen in mijn sql query. Dus ik wil een variable $voornaam, $achternaam, $land, $geboordedatum, etc etc, toekennen aan de juiste regel, hoe ga ik dit doen?
wat je kunt doen is een array definieren, dan natuurlijk wel in de volgorde die je krijgt uit je script.

1
2
3
4
5
6
7
8
9
10
<?php
$array = array('name', 'surname','city', 'etc');
$output = array();

foreach($html->find('dd') as $all) {
        $output[] = $all->innertext;
}

array_merge($array, $output);
?>

iets in deze trant dus.
pi_103523778
quote:
0s.gif Op maandag 24 oktober 2011 08:36 schreef Intrepidity het volgende:

[..]

Waarschijnlijk omdat zijn properties variabel zijn. Hoe wil je dit formuleren in 1 tabel?
Het ruikt hier overigens naar NoSQL, maar ik neem gemakshalve maar even aan dat dat geen optie is.
Hier zat ik zelf ook mee, ik heb een bepaalde tabel voor bv vangsten (van visjes ja) en daaraan wil ik best veel gegevens kunnen koppelen dan kan ik daarvoor het zelfde tabel gebruiken en die steeds aanpassen qua structuur door het toevoegen van velden maar nog gemakkelijker is een extra tabel om al deze 'opties' te kunnen koppelen.

Leuk stukje discussie :)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 25 oktober 2011 @ 00:45:49 #17
218617 YazooW
bel de wouten!
pi_103529489
quote:
0s.gif Op maandag 24 oktober 2011 20:23 schreef totalvamp het volgende:

[..]

wat je kunt doen is een array definieren, dan natuurlijk wel in de volgorde die je krijgt uit je script.
[ code verwijderd ]

iets in deze trant dus.
Ik sla nu mijn data op in een array, vervolgens stuur ik het naar de database, en dan leeg ik de array zodat hij weer opnieuw gevuld kan worden.

Ik krijg nu een een foutmelding ( unexpected T_VARIABLE ) op deze regel:
1
2
3
<?php
mysql_query
("INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES ("$info_array[0]", "$info_array[1]", "$info_array[2]", "$info_array[3]", "$info_array[4]", "$info_array[5]", "$info_array[6]", "$info_array[7]", "$info_array[8]", "$info_array[9]")" ;
?>

1
2
3
4
5
6
<?php
print_r $info_array
[0];
print_r $info_array[1];
print_r $info_array[2];
etc etc
?>
Als ik in plaats van het te versturen, de arrays uitlees met print_r (zie code hierboven), dan kloppen de waardes wel gewoon wat dus betekent dat er geen fout zit in mijn array. Wat doe ik fout?
pi_103529662
Wat dacht je ervan om koppeltekens tussen je strings te gebruiken?

Of, aangezien je dubbele quotes gebruikt, gewoon de variables in de sting zetten zonder 'm iedere keer te sluiten (dus de quotes voor en na de variables gewoon weg te laten)
  dinsdag 25 oktober 2011 @ 01:00:19 #19
218617 YazooW
bel de wouten!
pi_103529831
quote:
14s.gif Op dinsdag 25 oktober 2011 00:52 schreef KomtTijd... het volgende:
Wat dacht je ervan om koppeltekens tussen je strings te gebruiken?

Of, aangezien je dubbele quotes gebruikt, gewoon de variables in de sting zetten zonder 'm iedere keer te sluiten (dus de quotes voor en na de variables gewoon weg te laten)
Dus je bedoelt die dubbele quotes weghalen? Dat werkt namelijk ook niet.
pi_103529927
Weird, it should.
Maar ik zou sowieso gewoon enkele qoutes gebruiken en een punt ertussen zetten, vind ik persoonlijk (meestal) overzichtelijker.
  dinsdag 25 oktober 2011 @ 01:06:22 #21
302853 themole
graaft totaal door.
pi_103529979
quote:
0s.gif Op dinsdag 25 oktober 2011 01:00 schreef YazooW het volgende:

[..]

Dus je bedoelt die dubbele quotes weghalen? Dat werkt namelijk ook niet.
Dan kan je zo koppelen
1
2
3
4
5
6
7
8
<?php
//Manier 1: Concateneren(koppelen) van strings via .
$string1 "abc";
$string2 "def";
$string3 $string1." ".$string2." Hello World";
//$string3 = "abc def Hello World";
?>

Andere optie zou zijn:
1
2
3
4
5
6
7
8
<?php
//Manier 2: Concateneren(koppelen) van strings via andere manier
$string1 "abc";
$string2 "def";
$string3 "$string1 $string2 Hello World";
//$string3 = "abc def Hello World";
?>
Niet altijd serieus
pi_103531526
quote:
2s.gif Op dinsdag 25 oktober 2011 01:03 schreef KomtTijd... het volgende:
Weird, it should.
Maar ik zou sowieso gewoon enkele qoutes gebruiken en een punt ertussen zetten, vind ik persoonlijk (meestal) overzichtelijker.
Ik zou, indien mogelijk, PDO gebruiken. :)
  dinsdag 25 oktober 2011 @ 11:02:10 #23
324709 baaart
¯¯¯¯¯¯¯
pi_103535216
quote:
0s.gif Op dinsdag 25 oktober 2011 07:14 schreef Light het volgende:

[..]

Ik zou, indien mogelijk, PDO gebruiken. :)
Wat heeft dat te maken met dat hij niet weet hoe een string op te bouwen :') ... en sowieso PDO voor mysql, nah.
  dinsdag 25 oktober 2011 @ 11:05:00 #24
324709 baaart
¯¯¯¯¯¯¯
pi_103535287
quote:
0s.gif Op dinsdag 25 oktober 2011 00:45 schreef YazooW het volgende:

[..]

Ik sla nu mijn data op in een array, vervolgens stuur ik het naar de database, en dan leeg ik de array zodat hij weer opnieuw gevuld kan worden.

Ik krijg nu een een foutmelding ( unexpected T_VARIABLE ) op deze regel:
[ code verwijderd ]

[ code verwijderd ]

Als ik in plaats van het te versturen, de arrays uitlees met print_r (zie code hierboven), dan kloppen de waardes wel gewoon wat dus betekent dat er geen fout zit in mijn array. Wat doe ik fout?
Als je array uit niet meer dan die waardes bestaat (en in de juiste volgorde) kan je ook implode gebruiken.

1
2
3
<?php
mysql_query
("INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES (".implode(',',$info_array).")" ;
?>
  dinsdag 25 oktober 2011 @ 11:14:50 #25
58834 Catbert
The evil HR Director.
pi_103535542
quote:
0s.gif Op dinsdag 25 oktober 2011 11:02 schreef baaart het volgende:
Wat heeft dat te maken met dat hij niet weet hoe een string op te bouwen :') ... en sowieso PDO voor mysql, nah.
Hoezo "Nah"?
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  dinsdag 25 oktober 2011 @ 15:50:59 #26
218617 YazooW
bel de wouten!
pi_103544797
Gisteren mezelf een paar uur kapot zitten ergeren dat het maar niet lukte, nu ben ik weer helemaal fris en ik kan er weer tegenaan 8-) Helaas pindakaas kom ik er nog steeds niet uit. Ik heb nu geleerd hoe je array's maakt, hoe je array's kan laten zien, hoe je alleen bepaalde items uit een array kan laten zien, hoe je een bepaald item uit een array kan opslaan in een variabele. Ik loop nu dus alleen vast op het gedeelte waar ik het wil gaan versturen naar de database.

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
<?php
    
// urls ophalen en in array plaatsen

// url's plaatsen in de file_get_html
    
foreach($url_array as $get_url) {
    
$html file_get_html$get_url);
  

        
// data ophalen en in array zetten
        
foreach($html->find('dd') as $output) {
            
$info_array[] = $output->innertext;       
             
        }
         
         
// arrayitems koppelen aan een variabele
         
$voornaam $info_array[0];
         
$achternaam  $info_array[1];
         
$land $info_array[2];
         
$geboortedatum $info_array[3];
         
$leeftijd $info_array[4];
         
$land2 $info_array[5];
         
$geboorteplaats $info_array[6];
         
$positie $info_array[7];
         
$lengte $info_array[8];
         
$gewicht $info_array[9];
         
         
// variabelen printen om te checken of data goed is doorgekomen
         
print_r ($voornaam);
         
print_r ($achternaam);
         
print_r ($land);
         
print_r ($geboortedatum);
         
print_r ($leeftijd);
         
print_r ($land2);
         
print_r ($geboorteplaats);
         
print_r ($positie);
         
print_r ($lengte);
         
print_r ($gewicht);       
         
        
        
// databaseverbinding en query verzenden naar tabel
        // $query ff in een commentline gezet omdat het toch niet werkt...
       
        
$con mysql_connect("localhost","root","") or die("Geen verbinding met mysql");;
        
$selected mysql_select_db("vbal") or die("Geen verbinding met database");
        
// $query = "INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES (".implode(',',$info_array).")" ;
        // $query = "INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES ('$voornaam', '$achternaam', '$and', '$geboortedatum', '$leeftijd', '$land2', '$geboorteplaats', '$positie', '$lengte', '$gewicht')" ;
        
mysql_query($query);
         
         
//alles leeg maken zodat het weer gebruikt kan worden voor de volgende url
         
unset($info_array);
         
         unset(
$voornaam);
         unset(
$achternaam);
         unset(
$land);
         unset(
$geboortedatum);
         unset(
$leeftijd);
         unset(
$land2);
         unset(
$geboorteplaats);
         unset(
$positie);
         unset(
$lengte);
         unset(
$gewicht);
        
    }
    
// mysql_close();
?>

In principe werkt dit script zo, ik extract van een pagina bepaalde url's, die vervolgens worden opgeslagen in een array. (niet in de code hierboven te zien). Vervolgens gebruik ik deze urls om 1 voor 1 de code hierboven op los te laten. Ik kan alles heel makkelijk outputten op mijn scherm, de data die outgeput wordt klopt ook gewoon. Probleem waar ik nu dus mee zit is dat ik het niet geschreven krijg naar mijn database.
  dinsdag 25 oktober 2011 @ 15:53:51 #27
324709 baaart
¯¯¯¯¯¯¯
pi_103544873
Geef de print_r eens van je array. Een print_r doe je niet op 1 variabele, die kan je gewoon met print of echo neerzetten. Dus, print_r($info_array).

Heb je overigens wel mijn optie geprobeerd om je query op te bouwen?

/Edit; print ook je $query eens voordat je 'm uitvoert.

/Edit2; doe dit eens, dan zie je tenminste ook de sql fout:

1
2
3
4
5
<?php

mysql_query
($query) or die(mysql_error() . ' Error nr:' mysql_errno());

?>
  dinsdag 25 oktober 2011 @ 15:59:08 #28
58834 Catbert
The evil HR Director.
pi_103545055
Print de query en de errormessage eens. Je geeft gewoon niet aan wat er misgaat en niemand hier heeft een glazen bol.

(en mensen raken geirriteerd door dit soort vragen)
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  dinsdag 25 oktober 2011 @ 16:01:33 #29
118585 Crutch
Filantroop || Taalzwengel
pi_103545136
quote:
0s.gif Op dinsdag 25 oktober 2011 15:59 schreef Catbert het volgende:
Print de query en de errormessage eens. Je geeft gewoon niet aan wat er misgaat en niemand hier heeft een glazen bol.

(en mensen raken geirriteerd door dit soort vragen)
Hij weet niet wat er misgaat blijkbaar. Voorgaande tip is een goede tip om in het vervolg je fouten te controleren.

Overigens weet ik bijna zeker dat er iets niet deugt in je SQL_query.
Je moeder is een hamster
  dinsdag 25 oktober 2011 @ 16:03:01 #30
218617 YazooW
bel de wouten!
pi_103545192
print_r van de array waar ik de spelersinfo in opsla, voorbeeld van 1 speler:
quote:
Array ( [0] => Ross [1] => Turnbull [2] => England [3] => 4 January 1985 [4] => 26 [5] => England [6] => Bishop Auckland [7] => Goalkeeper [8] => 193 cm [9] => 85 kg )
ik heb ff die query met die implode uit de commenttags gehaald en daar de print_r op los gelaten:
quote:
INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES (Ross,Turnbull,England,4 January 1985,26,England,Bishop Auckland,Goalkeeper,193 cm,85 kg)
quote:
0s.gif Op dinsdag 25 oktober 2011 15:59 schreef Catbert het volgende:
Print de query en de errormessage eens. Je geeft gewoon niet aan wat er misgaat en niemand hier heeft een glazen bol.

(en mensen raken geirriteerd door dit soort vragen)
Kan ik begrijpen, ben ik misschien niet helemaal duidelijk over geweest. Er komt dus geen fout, het script runt, en als hij klaar is kijk ik in mijn phpmyadmin en zie ik dat er niks is gebeurd. Heb ook al in het script ipv die variabelen bij de VALUES gewoon een handmatige invoer geprobeerd, wat wel gewoon werkte.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')