abonnement Unibet Coolblue Bitvavo
  dinsdag 3 juni 2014 @ 14:59:56 #1
230788 n8n
Pragmatisch
pi_140668992


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

Succes heren met het volgende deeltje!
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:01:31 #2
230788 n8n
Pragmatisch
pi_140669046
PDO staat geïnstalleerd en actief als ik phpinfo en "print_r( get_loaded_extensions() );" mag geloven. Toch krijg ik een error die zegt: "could not find driver". wat is omhoog met deze?
Specialization is for insects”.—Robert Heinlein
pi_140669139
quote:
7s.gif Op dinsdag 3 juni 2014 15:01 schreef n8n het volgende:
PDO staat geïnstalleerd en actief als ik phpinfo en "print_r( get_loaded_extensions() );" mag geloven. Toch krijg ik een error die zegt: "could not find driver". wat is omhoog met deze?
Wat is de code die je gebruikt waarbij je deze error krijgt?
pi_140669143
quote:
7s.gif Op dinsdag 3 juni 2014 15:01 schreef n8n het volgende:
PDO staat geïnstalleerd en actief als ik phpinfo en "print_r( get_loaded_extensions() );" mag geloven. Toch krijg ik een error die zegt: "could not find driver". wat is omhoog met deze?
Wat geeft dit terug?
1
2
3
<?php
print_r
(PDO::getAvailableDrivers());
?>
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  dinsdag 3 juni 2014 @ 15:04:53 #5
25889 Sitethief
Fulltime Flapdrol
pi_140669145
Ben ik echt de enige die dit doet?
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
<?php
if ($foo != 2) {
    echo 
$bar;
} elseif (
$foo == 3) {
    echo 
$bar;
} else {
    echo 
$bar;
}

switch (
$foo) {
    case 
1:
        echo 
$bar;
    break;
    case 
2:
        echo 
$bar;
    break;
    case 
3:
        echo 
$bar;
    break;
    case 
4:
        echo 
$bar;
    break;
        echo 
$bar;
    default:

}
?>

Ik vind het echt raar dat de curly brace die een if statement afsluit niet inspringt en de break die een case afsluit wel, ik vind dat zo onoverzichtelijk, bij mij zitten case en break op dezelfde diepte. Ik merk dat ik de enige ben die dit doet..
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 3 juni 2014 @ 15:05:25 #6
230788 n8n
Pragmatisch
pi_140669159
quote:
0s.gif Op dinsdag 3 juni 2014 15:04 schreef totalvamp het volgende:

[..]

Wat is de code die je gebruikt waarbij je deze error krijgt?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php class database {
    
    public static function 
connect() {

        try {
            
            
$pdo = new PDO('
                mysql:host='
setup::database('host') .';
                dbname='
setup::database('name'), 
                
setup::database('user'), 
                
setup::database('password')
            );

        } catch(
PDOException $error) {
            print 
'Error: ' $error->getMessage();
            die();
        }

    }

}

database::connect();

teringslecht I know
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:06:32 #7
230788 n8n
Pragmatisch
pi_140669195
quote:
7s.gif Op dinsdag 3 juni 2014 15:04 schreef Aether het volgende:

[..]

Wat geeft dit terug?
[ code verwijderd ]

Array ( [0] => mysql [1] => sqlite [2] => dblib [3] => pgsql )
Specialization is for insects”.—Robert Heinlein
pi_140669228
quote:
7s.gif Op dinsdag 3 juni 2014 15:06 schreef n8n het volgende:

[..]

Array ( [0] => mysql [1] => sqlite [2] => dblib [3] => pgsql )
Hij staat dus niet geïnstalleerd.
pi_140669240
quote:
7s.gif Op dinsdag 3 juni 2014 15:07 schreef Scorpie het volgende:

[..]

Hij staat dus niet geïnstalleerd.
Dat zijn de beschikbare PDO drivers, staat er dus wel op.

quote:
7s.gif Op dinsdag 3 juni 2014 15:05 schreef n8n het volgende:

[..]
[ code verwijderd ]

teringslecht I know
Wat als je even je gegevens letterlijk invult? Zonder variabelen aan te roepen.

[ Bericht 35% gewijzigd door #ANONIEM op 03-06-2014 15:09:15 ]
  dinsdag 3 juni 2014 @ 15:09:25 #10
230788 n8n
Pragmatisch
pi_140669298
quote:
0s.gif Op dinsdag 3 juni 2014 15:07 schreef totalvamp het volgende:

[..]

Dat zijn de beschikbare PDO drivers, staat er dus wel op.
PDO is toch ook een interface en geen database-type
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:11:01 #11
25889 Sitethief
Fulltime Flapdrol
pi_140669351
quote:
7s.gif Op dinsdag 3 juni 2014 15:09 schreef n8n het volgende:

[..]

PDO is toch ook een interface en geen database-type
Klopt :).
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 3 juni 2014 @ 15:11:47 #12
230788 n8n
Pragmatisch
pi_140669372
quote:
0s.gif Op dinsdag 3 juni 2014 15:07 schreef totalvamp het volgende:

Wat als je even je gegevens letterlijk invult? Zonder variabelen aan te roepen.
zelfde error helaas
Specialization is for insects”.—Robert Heinlein
pi_140669374
quote:
7s.gif Op dinsdag 3 juni 2014 15:09 schreef n8n het volgende:

[..]

PDO is toch ook een interface en geen database-type
Ja, maar je hebt wel verschillende drivers nodig zodat de interface je queries kan vertalen naar de sql voor dat type database.
  dinsdag 3 juni 2014 @ 15:12:57 #14
230788 n8n
Pragmatisch
pi_140669399
quote:
0s.gif Op dinsdag 3 juni 2014 15:11 schreef totalvamp het volgende:

[..]

Ja, maar je hebt wel verschillende drivers nodig zodat de interface je queries kan vertalen naar de sql voor dat type database.
met mijn vermeende drivers kan ik dus praten met dat lijstje (behalve dat het niet werkt)
Specialization is for insects”.—Robert Heinlein
pi_140669410
quote:
7s.gif Op dinsdag 3 juni 2014 15:12 schreef n8n het volgende:

[..]

met mijn vermeende drivers kan ik dus praten met dat lijstje (behalve dat het niet werkt)
Probeer eens Apache te herstarten (heel soms helpt het)
  dinsdag 3 juni 2014 @ 15:15:00 #16
230788 n8n
Pragmatisch
pi_140669456
quote:
0s.gif Op dinsdag 3 juni 2014 15:13 schreef totalvamp het volgende:

[..]

Probeer eens Apache te herstarten (heel soms helpt het)
dat heb ik al een aantal keer gedaan, ook in php.ini een regel van stackoverflow uncommented maar geen soelaas
Specialization is for insects”.—Robert Heinlein
pi_140669491
quote:
1s.gif Op dinsdag 3 juni 2014 15:15 schreef n8n het volgende:

[..]

dat heb ik al een aantal keer gedaan, ook in php.ini een regel van stackoverflow uncommented maar geen soelaas
Post heel je php.ini hier eens dan. (even in code tags of spoiler)
  dinsdag 3 juni 2014 @ 15:18:21 #18
230788 n8n
Pragmatisch
pi_140669543
quote:
0s.gif Op dinsdag 3 juni 2014 15:16 schreef totalvamp het volgende:

[..]

Post heel je php.ini hier eens dan. (even in code tags of spoiler)
ga ik zo doen, even roken. Moet ook even kijken want heb nu alles via Brew geïnstalleerd en volgens mij installeert dat php op een andere locatie.
Specialization is for insects”.—Robert Heinlein
pi_140669586
quote:
1s.gif Op dinsdag 3 juni 2014 15:18 schreef n8n het volgende:

[..]

ga ik zo doen, even roken. Moet ook even kijken want heb nu alles via Brew geïnstalleerd en volgens mij installeert dat php op een andere locatie.
Ahh je zit op OSX?
pi_140669621
quote:
1s.gif Op dinsdag 3 juni 2014 15:18 schreef n8n het volgende:

[..]

ga ik zo doen, even roken. Moet ook even kijken want heb nu alles via Brew geïnstalleerd en volgens mij installeert dat php op een andere locatie.
Schrijf de eerste parameter (DNS) eens als één regel. Misschien dat de white space problemen geeft.
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_140669667
quote:
7s.gif Op dinsdag 3 juni 2014 15:20 schreef Aether het volgende:

[..]

Schrijf de eerste parameter (DNS) eens als één regel. Misschien dat de white space problemen geeft.
Dit bedoel ik ook met de opmerking even alle vars weghalen :P Misschien was ik niet duidelijk genoeg xD
  dinsdag 3 juni 2014 @ 15:22:45 #22
230788 n8n
Pragmatisch
pi_140669684
quote:
7s.gif Op dinsdag 3 juni 2014 15:20 schreef Aether het volgende:

[..]

Schrijf de eerste parameter (DNS) eens als één regel. Misschien dat de white space problemen geeft.
dat was 'm. had er niet op gerekend dat het uit zou maken :@
quote:
0s.gif Op dinsdag 3 juni 2014 15:19 schreef totalvamp het volgende:

[..]

Ahh je zit op OSX?
Ja eerst met MAMP en toen moest ik naar Homebrew want dat zou alles makkelijker maken
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:23:32 #23
230788 n8n
Pragmatisch
pi_140669705
quote:
0s.gif Op dinsdag 3 juni 2014 15:22 schreef totalvamp het volgende:

[..]

Dit bedoel ik ook met de opmerking even alle vars weghalen :P Misschien was ik niet duidelijk genoeg xD
Oops ja sorry :@ Ben 'gewend' dat code over meerdere regels kan en hou niet van lange regels dus ik zet grote statements vaak in blokken.

Bedankt allemaal ben blij dat het zo simpel was maar moet het maar net weten
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:24:18 #24
187069 slacker_nl
Sicko pur sang
pi_140669728
In theory there is no difference between theory and practice. In practice there is.
pi_140669753
quote:
7s.gif Op dinsdag 3 juni 2014 15:23 schreef n8n het volgende:

[..]

Oops ja sorry :@ Ben 'gewend' dat code over meerdere regels kan en hou niet van lange regels dus ik zet grote statements vaak in blokken
Ik snap je haha, ik probeer ook altijd alles duidelijk te maken op die manier. Je zal dit iig nooit meer fout doen ;)
  dinsdag 3 juni 2014 @ 15:26:21 #26
230788 n8n
Pragmatisch
pi_140669808
quote:
0s.gif Op dinsdag 3 juni 2014 15:24 schreef totalvamp het volgende:

[..]

Ik snap je haha, ik probeer ook altijd alles duidelijk te maken op die manier. Je zal dit iig nooit meer fout doen ;)
Zet eerst het statement wel in een variabele en dan doe ik het alsnog met blokken.
Specialization is for insects”.—Robert Heinlein
pi_140669844
quote:
17s.gif Op dinsdag 3 juni 2014 15:26 schreef n8n het volgende:

[..]

Zet eerst het statement wel in een variabele en dan doe ik het alsnog met blokken.
Dat is ook nog een optie, alleen eigenlijk niet nodig voor deze lijn code.
Niet alles hoeft persee in blokken te staan, zolang je intentie maar duidelijk is (pdo connect lijkt me wel duidelijk)
pi_140669908
quote:
^O^

Doorgestuurt aan mijn baas :+
pi_140669938
quote:
7s.gif Op dinsdag 3 juni 2014 15:23 schreef n8n het volgende:

[..]

Oops ja sorry :@ Ben 'gewend' dat code over meerdere regels kan en hou niet van lange regels dus ik zet grote statements vaak in blokken.

Bedankt allemaal ben blij dat het zo simpel was maar moet het maar net weten
Dan is sprintf een betere in sommige gevallen:
1
2
3
4
5
6
7
8
9
<?php
$pdo 
= new PDO(
   
sprintf('mysql:host=%s;dbname=%s',
      
setup::database('host'), setup::database('name')
   ), 
   
setup::database('user'), 
   
setup::database('password')
);
?>
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_140669993
quote:
0s.gif Op dinsdag 3 juni 2014 15:04 schreef Sitethief het volgende:
Ben ik echt de enige die dit doet?
[ code verwijderd ]

Ik vind het echt raar dat de curly brace die een if statement afsluit niet inspringt en de break die een case afsluit wel, ik vind dat zo onoverzichtelijk, bij mij zitten case en break op dezelfde diepte. Ik merk dat ik de enige ben die dit doet..
Ik vind het vooral moelijk lelijk als de open- en sluit curlybrace niet op dezelfde indent staan. En ook als er na een sluitende curlybrace direct een nieuw statement komt zonder newline.

En ja de break in een switch indent ik ook, gezien dat in principe gewoon onderdeel van de uitgevoerde code in een case is.
  dinsdag 3 juni 2014 @ 15:31:50 #31
230788 n8n
Pragmatisch
pi_140670000
quote:
7s.gif Op dinsdag 3 juni 2014 15:30 schreef Aether het volgende:

[..]

Dan is sprintf een betere in sommige gevallen:
[ code verwijderd ]

_O_
Specialization is for insects”.—Robert Heinlein
pi_140670137
quote:
7s.gif Op dinsdag 3 juni 2014 15:30 schreef Aether het volgende:

[..]

Dan is sprintf een betere in sommige gevallen:
[ code verwijderd ]

Ik vind het alleen maar onduidelijker, daarnaast gebruik je een extra functie die eigenlijk niet nodig hoort te zijn :)
Als je het dan op meerdere lijnen wilt doen, doe het dan zo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php class database {
    
    public static function 
connect() {

        try {
            
            
$pdo = new PDO('
                mysql:host='
setup::database('host') .
                
';dbname='setup::database('name'), 
                
setup::database('user'), 
                
setup::database('password')
            );

        } catch(
PDOException $error) {
            print 
'Error: ' $error->getMessage();
            die();
        }

    }

}

Je kunt bij een variabele wel op een nieuwe lijn springen aangezien hij dit niet ziet als string.

[ Bericht 12% gewijzigd door #ANONIEM op 03-06-2014 15:38:43 ]
pi_140670895
quote:
5s.gif Op dinsdag 3 juni 2014 14:09 schreef Aether het volgende:

[..]
[ code verwijderd ]

Edit: je bedoelt dus iets anders.
Ja klopt, hahaha, maar heb een oplossing.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
    
function fetch_object($query$id) {
        foreach(
$this->properties as $val => $key) {
            
$holder[$key] = '';
            
$reference_properties[$key] =& $holder[$key];
        }
        
$mysqli base::open_connection();
        
$stmt $mysqli->prepare($query);
        
$id $id;
        
$stmt->bind_param("i"$id);
        
call_user_func_array(array($stmt'bind_result'), $reference_properties);
        
$stmt->execute();
        
$stmt->fetch();
        
$stmt->close();
        
$mysqli->close();
        foreach(
$reference_properties as $key => $val)
            
$this->{$key} = $val;
        return 
$this;
    }
?>
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
  dinsdag 3 juni 2014 @ 15:56:16 #34
230788 n8n
Pragmatisch
pi_140670931
quote:
0s.gif Op dinsdag 3 juni 2014 15:35 schreef totalvamp het volgende:

[..]

Ik vind het alleen maar onduidelijker, daarnaast gebruik je een extra functie die eigenlijk niet nodig hoort te zijn :)
Als je het dan op meerdere lijnen wilt doen, doe het dan zo:
[ code verwijderd ]

Je kunt bij een variabele wel op een nieuwe lijn springen aangezien hij dit niet ziet als string.
die werkt ook niet, heb van alles geprobeerd nu, probleem is dat er ; en , in zitten met andere functies dan php verwacht. Beetje vreemd allemaal maar het zal wel, vind de sprintf nu wel oké, wordt toch een basale website dus niet alles hoeft optimaal
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 17:00:27 #35
230788 n8n
Pragmatisch
pi_140672981
Gebruik nu medoo, abstraheert de databaseinteractie dus dat deel is al voor me gedaan. Zocht een simpel framework en dat is wel geslaagd :+

http://medoo.in
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 17:25:55 #36
187069 slacker_nl
Sicko pur sang
pi_140673787
quote:
0s.gif Op dinsdag 3 juni 2014 15:35 schreef totalvamp het volgende:

[..]

Ik vind het alleen maar onduidelijker, daarnaast gebruik je een extra functie die eigenlijk niet nodig hoort te zijn :)
Als je het dan op meerdere lijnen wilt doen, doe het dan zo:
[ code verwijderd ]

Je kunt bij een variabele wel op een nieuwe lijn springen aangezien hij dit niet ziet als string.
Je gebruikt een functie die er niet hoort te zijn? Je bent bezig met een string maken, wat is er mis met sprintf ? (ik ben groot voorstander van sprintf en tegen $x . 'iets' . $anders . "want" . $dit . '\' is echt ' . $kut;
In theory there is no difference between theory and practice. In practice there is.
pi_140674254
quote:
0s.gif Op dinsdag 3 juni 2014 17:25 schreef slacker_nl het volgende:

[..]

Je gebruikt een functie die er niet hoort te zijn? Je bent bezig met een string maken, wat is er mis met sprintf ? (ik ben groot voorstander van sprintf en tegen $x . 'iets' . $anders . "want" . $dit . '\' is echt ' . $kut;
sprintf maakt het er namelijk niet duidelijker op, niet dat een concat wel duidelijk is.
Je kunt altijd nog de vars binnen de quotes plaatsen, al is dat niet overal even slim.
Ook kun je lange strings plaatsen in een HEREDOC om het echt overzichtelijk te houden.

Maar iedereen heeft zo zijn voorkeur natuurlijk.

Beste 2 manieren zijn trouwens HEREDOC en tussen dubble quotes ""

[ Bericht 3% gewijzigd door #ANONIEM op 03-06-2014 17:46:14 ]
  dinsdag 3 juni 2014 @ 17:44:04 #38
91039 mstx
2x1/2 = 1/2 x 1/2
pi_140674450
quote:
0s.gif Op dinsdag 3 juni 2014 15:04 schreef Sitethief het volgende:
Ben ik echt de enige die dit doet?
[ code verwijderd ]

Ik vind het echt raar dat de curly brace die een if statement afsluit niet inspringt en de break die een case afsluit wel, ik vind dat zo onoverzichtelijk, bij mij zitten case en break op dezelfde diepte. Ik merk dat ik de enige ben die dit doet..
Zo doe ik het over het algemeen ook, alleen bij de break; nog 1 extra tabje
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  dinsdag 3 juni 2014 @ 17:51:56 #39
187069 slacker_nl
Sicko pur sang
pi_140674744
quote:
0s.gif Op dinsdag 3 juni 2014 17:39 schreef totalvamp het volgende:

[..]

sprintf maakt het er namelijk niet duidelijker op, niet dat een concat wel duidelijk is.
Je kunt altijd nog de vars binnen de quotes plaatsen, al is dat niet overal even slim.
Ook kun je lange strings plaatsen in een HEREDOC om het echt overzichtelijk te houden.

Maar iedereen heeft zo zijn voorkeur natuurlijk.

Beste 2 manieren zijn trouwens HEREDOC en tussen dubble quotes ""
HEREDOC is ook niet altijd wensenlijk en "" werkt ook niet altijd, want als je met class methods gebruikt wilt het wel/niet interpoleren. IiG, in perl doet dat het niet, ik vermoed dat PHP dat ook niet doet, met sprintf kan je duidelijk zien, wat je verwacht, floats, doubles, etc etc.

$x = <<OEF
DIt is een vet lange $persoon->id gaat volgens mij ook fout in een heredoc.
OEF
In theory there is no difference between theory and practice. In practice there is.
pi_140674832
quote:
0s.gif Op dinsdag 3 juni 2014 17:51 schreef slacker_nl het volgende:

[..]

HEREDOC is ook niet altijd wensenlijk en "" werkt ook niet altijd, want als je met class methods gebruikt wilt het wel/niet interpoleren. IiG, in perl doet dat het niet, ik vermoed dat PHP dat ook niet doet, met sprintf kan je duidelijk zien, wat je verwacht, floats, doubles, etc etc.

$x = <<OEF
DIt is een vet lange $persoon->id gaat volgens mij ook fout in een heredoc.
OEF
Dat gaat dus wel, sinds de latere PHP versies heb je daar ondersteuning in.
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
/* More complex example, with variables. */
class foo
{
    var 
$foo;
    var 
$bar;

    function 
foo()
    {
        
$this->foo 'Foo';
        
$this->bar = array('Bar1''Bar2''Bar3');
    }
}

$foo = new foo();
$name 'MyName';

echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some 
{$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;

?>

Bij lange strings is een sprintf niet echt duidelijk meer.

[ Bericht 0% gewijzigd door #ANONIEM op 03-06-2014 17:56:50 ]
  dinsdag 3 juni 2014 @ 18:01:46 #41
25889 Sitethief
Fulltime Flapdrol
pi_140675071
quote:
0s.gif Op dinsdag 3 juni 2014 17:44 schreef mstx het volgende:

[..]

Zo doe ik het over het algemeen ook, alleen bij de break; nog 1 extra tabje
Het is juist dat tabje wat ik zo raar vind :X.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 3 juni 2014 @ 18:05:08 #42
230788 n8n
Pragmatisch
pi_140675165
quote:
0s.gif Op dinsdag 3 juni 2014 18:01 schreef Sitethief het volgende:

[..]

Het is juist dat tabje wat ik zo raar vind :X.
het is toch een actie binnen de case, aan de andere kant lijkt het ook op een endif; dus beide moet wel kunnen. break zonder extra indent maakt het wel wat leesbaarder voor mij.
Specialization is for insects”.—Robert Heinlein
pi_140678848
quote:
0s.gif Op dinsdag 3 juni 2014 18:01 schreef Sitethief het volgende:

[..]

Het is juist dat tabje wat ik zo raar vind :X.
Dat snap ik echt niet. De break is onderdeel van de switch statement namelijk. :P
  dinsdag 3 juni 2014 @ 19:55:22 #44
230788 n8n
Pragmatisch
pi_140679502
Ik vind php toch erg lastig met het doorsluizen van objecten tussen classes. Moet het nog doorgronden maar het is allemaal wel erg private heb ik het idee. Van JS had ik meer het idee dat je alles heen en weer kan smijten wat het een stuk directer maakt, heb nu het idee dat ik objecten op veel plekken opnieuw aan moet roepen en abstraheren. Klein puntje is nog dat ik nu echt vaak vergeet een $-teken voor een variabele te zetten :+
Specialization is for insects”.—Robert Heinlein
  Moderator dinsdag 3 juni 2014 @ 20:37:40 #45
55052 crew  djkoelkast
www.xms.nl
pi_140681250
Ik wil al een tijd een programma maken waarmee ik mijn videobanden kan indexeren.
Bandnummer, wat er op staat, bijzonderheden, opmerkingen en dus per programma een begintijd/eindtijd.

Ik ben er aan begonnen in het voor mij bekende Autoplay Media Studio. Dat werkt volgens Luascript en die database kan ik gebruiken via sqlite3, maar ik vind het maar heel erg ingewikkeld, vooral omdat er gewoon amper documentatie over is (omdat sqlite3 een 3rd party plugin is voor APMS). Ik kan alle data wel in de db krijgen, maar ik krijg het er niet meer uit :P

Enfin, het is niet meer dan een heleboel inputvelden, drop-downs, textfields en checkboxes eigenlijk en die moeten allemaal in een doorzoekbare database komen. Ik moet uiteindelijk op alles kunnen zoeken.
Dit kan natuurlijk ook gewoon in PHP/MySQL en volgens mij is dat A: makkelijker en B: is er veel meer documentatie over te vinden.

Ik heb wel wat html/php/mysql-kennis, maar ben wat dat betreft echt nog een beginner. Ik kan dingen aanpassen en meestal lukt dat ook wel, maar echt helemaal zelf hier dingen voor gaan schrijven is nieuw. Toch zou ik het willen proberen. Dan is het programma geen programma, maar een online database waarin ik:
Nieuwe records kan maken
Records kan bewerken
Zoeken in de records op alle mogelijke velden
Alle records weergeven in een lijst en die printbaar maken

Later:

Optie om geavanceerd te zoeken, bijvoorbeeld woord AAA maar alleen als bandtype B is.
Optie om andere databases (van andere mensen die hetzelfde gaan doen) te openen
Wellicht een optie om aan te klikken 'dit wil ik' en dat er dan een mailtje naar de recordhouder gaat.
Wachtwoord of liever beveiliging op accountniveau
Optie om een nieuwe database te beginnen

First things first:

Waar kan ik het beste beginnen, ik neem aan met het maken van een databaseconnectie en een database, maar dan. INSERT INTO ik ken het wel, maar ken de syntax niet. Zijn hier simpele voorbeelden van? Ook hoe ik meerdere velden in zo'n record maak.

Wat ik dus in 1 record zou willen hebben is:

Bandnummer
Systeem
Is de opname LP, Stereo, Slechte band, beschadigde band ofzo
Opmerkingenveld
En dan per tijdentry starttijd, eindtijd, omschrijving en een paar vinkjes zoals: compleet, komt onder een andere opname vandaan, gedigitaliseerd
Die tijdentries verschillen nogal, sommige banden heb je gewoon maar 1 ding op staan,
op een andere band kunnen wel 40 of 50 verschillende tijdentries staan. Dit moet dus ook voorzien zijn, dat je bijvoorbeeld 20 tijdentries op het scherm ziet en er met een knop meer bij kunt doen (of een volgende pagina begint, maar die eerste dingen van bandnummer tot opmerkingen blijven hetzelfde).

De primary key is dus eigenlijk het bandnummer.

Hellupie, hullepie :D
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
pi_140681887
Gaan er mensen hier trouwens naar phpconference in Amsterdam?

http://www.phpconference.nl/
pi_140682032
quote:
0s.gif Op dinsdag 3 juni 2014 20:37 schreef djkoelkast het volgende:
Ik wil al een tijd een programma maken waarmee ik mijn videobanden kan indexeren.
Bandnummer, wat er op staat, bijzonderheden, opmerkingen en dus per programma een begintijd/eindtijd.

Ik ben er aan begonnen in het voor mij bekende Autoplay Media Studio. Dat werkt volgens Luascript en die database kan ik gebruiken via sqlite3, maar ik vind het maar heel erg ingewikkeld, vooral omdat er gewoon amper documentatie over is (omdat sqlite3 een 3rd party plugin is voor APMS). Ik kan alle data wel in de db krijgen, maar ik krijg het er niet meer uit :P

Enfin, het is niet meer dan een heleboel inputvelden, drop-downs, textfields en checkboxes eigenlijk en die moeten allemaal in een doorzoekbare database komen. Ik moet uiteindelijk op alles kunnen zoeken.
Dit kan natuurlijk ook gewoon in PHP/MySQL en volgens mij is dat A: makkelijker en B: is er veel meer documentatie over te vinden.

Ik heb wel wat html/php/mysql-kennis, maar ben wat dat betreft echt nog een beginner. Ik kan dingen aanpassen en meestal lukt dat ook wel, maar echt helemaal zelf hier dingen voor gaan schrijven is nieuw. Toch zou ik het willen proberen. Dan is het programma geen programma, maar een online database waarin ik:
Nieuwe records kan maken
Records kan bewerken
Zoeken in de records op alle mogelijke velden
Alle records weergeven in een lijst en die printbaar maken

Later:

Optie om geavanceerd te zoeken, bijvoorbeeld woord AAA maar alleen als bandtype B is.
Optie om andere databases (van andere mensen die hetzelfde gaan doen) te openen
Wellicht een optie om aan te klikken 'dit wil ik' en dat er dan een mailtje naar de recordhouder gaat.
Wachtwoord of liever beveiliging op accountniveau
Optie om een nieuwe database te beginnen

First things first:

Waar kan ik het beste beginnen, ik neem aan met het maken van een databaseconnectie en een database, maar dan. INSERT INTO ik ken het wel, maar ken de syntax niet. Zijn hier simpele voorbeelden van? Ook hoe ik meerdere velden in zo'n record maak.

Wat ik dus in 1 record zou willen hebben is:

Bandnummer
Systeem
Is de opname LP, Stereo, Slechte band, beschadigde band ofzo
Opmerkingenveld
En dan per tijdentry starttijd, eindtijd, omschrijving en een paar vinkjes zoals: compleet, komt onder een andere opname vandaan, gedigitaliseerd
Die tijdentries verschillen nogal, sommige banden heb je gewoon maar 1 ding op staan,
op een andere band kunnen wel 40 of 50 verschillende tijdentries staan. Dit moet dus ook voorzien zijn, dat je bijvoorbeeld 20 tijdentries op het scherm ziet en er met een knop meer bij kunt doen (of een volgende pagina begint, maar die eerste dingen van bandnummer tot opmerkingen blijven hetzelfde).

De primary key is dus eigenlijk het bandnummer.

Hellupie, hullepie :D
Hmm, wellicht is het handig om te beginnen met het leren van normaliseren van databases. :)

http://www.phphulp.nl/php/tutorial/overig/normaliseren/150/

Dus je zult het vast in één record willen hebben in de applicatie zelf, maar dat zou ik niet in de database doen. Eerst zou ik nadenken over je data, dan wat je allemaal wil doen daarmee.

Wellicht is het een leukere oefening om zelf eens wat met PHP te stoeien alvorens je met een PHP-framework gaat werken. Frameworks maken het ontwikkelen eenvoudiger, maar het kan zijn dat je de basis dan een beetje mist.

Op http://codecademy.com/ hebben ze leuke PHP-tutorials. Volgens mij gaan ze daar ook in op OOP. :)

Veel succes!

Je kunt denk ik het beste beginnen bij waar jij wilt beginnen. Werk voor jezelf in iteraties. Welke functionaliteit wil jij als eerste af hebben, welke daarna, etc. Het überhaupt hebben van een database met banden en daarin kunnen kijken lijkt me dus de eerste iteratie. Daarna kun je daarop steeds verder bouwen.
  dinsdag 3 juni 2014 @ 21:26:09 #48
187069 slacker_nl
Sicko pur sang
pi_140683659
sqlite is wel makkelijk hoor, daar heb je geen mysql voor nodig..
In theory there is no difference between theory and practice. In practice there is.
pi_140684050
quote:
0s.gif Op dinsdag 3 juni 2014 18:01 schreef Sitethief het volgende:

[..]

Het is juist dat tabje wat ik zo raar vind :X.
Die tab zorgt ervoor dat je alle case-statements op 1 lijn hebt en alle code die uitgevoerd wordt voor een case een niveau dieper. En je kunt ook meerdere case-statements hebben zonder break ertussen, dat is dan een reden voor een groter blok op de indent van de case:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
switch ($x) {
    case 
1:
    case 
3:
    case 
5:
        echo 
'$x is oneven';
        break;
    case 
2:
    case 
4:
    case 
6:
        echo 
'$x is even';
        break;
    default:
        echo 
'Ik weet niet wat $x is';
        break;
}
?>
  dinsdag 3 juni 2014 @ 21:41:10 #50
91039 mstx
2x1/2 = 1/2 x 1/2
pi_140684362
quote:
0s.gif Op dinsdag 3 juni 2014 21:34 schreef Light het volgende:

[..]

Die tab zorgt ervoor dat je alle case-statements op 1 lijn hebt en alle code die uitgevoerd wordt voor een case een niveau dieper. En je kunt ook meerdere case-statements hebben zonder break ertussen, dat is dan een reden voor een groter blok op de indent van de case:
[ code verwijderd ]

Precies, zo vind ik het veel mooier :)
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')