abonnement Unibet Coolblue Bitvavo
  maandag 3 december 2007 @ 21:32:12 #152
107951 JortK
Immer kwaliteitsposts
pi_55021261
quote:
Op maandag 3 december 2007 21:26 schreef PiRANiA het volgende:
ik snap eigenlijk nog steeds niet wat classes zijn, wat ze doen en waar ze goed voor zijn...

ik heb ze in 3 jaar nog nooit gebruikt iig...

wie legt het me uit?
http://nl2.php.net/class is een hele goede om mee te beginnen
  maandag 3 december 2007 @ 21:35:35 #153
84926 WyriHaximus
Release the hounds smithers!
pi_55021343
quote:
Op maandag 3 december 2007 21:32 schreef JortK het volgende:

[..]

http://nl2.php.net/class is een hele goede om mee te beginnen
Daarnaast zijn deze ook erg handig:
http://nl3.php.net/oop (Voor PHP4)
http://nl3.php.net/oop5 (Voor PHP5)
phluphy for president!
  maandag 3 december 2007 @ 23:47:01 #154
529 twi
Het lichtje is uit...
pi_55024427
Ik denk dat ik me daar maar eens flink in ga verdiepen, want dat aanklooien wat ik nu doe werkt wel, maar is gewoon veel te omslachtig inderdaad.
pi_55027632
Ik ben ook pas laat met OOP begonnen in PHP, omdat ik het ook nooit echt nodig had. Pas wanneer ik met ASP/VB.NET ging werken en dus meer object-oriënted ging werken had ik er pas de interesse voor. Kan in ieder geval een hoop werk schelen als je veelgebruikte functies bij elkaar in een class stopt en die bij elk(e) website/project kunt gebruiken. En natuurlijk om een beetje met de tijd mee te gaan.
pi_55032265
quote:
Op maandag 3 december 2007 16:20 schreef JortK het volgende:

[..]
[ code verwijderd ]

Of trim() :?
Ik doelde eingelijk meer op een functie dat van het volgende voorbeeld

1
2
3
4
5
6
7
8
9
10
        $this->language = array("ad"    => "Andorra",
                                "ae"    => "United Arab Emirates",
                                "af"    => "Afghanistan",
                                "ag"    => "Antigua and Barbuda",
                                "ai"    => "Anguilla",
                                "al"    => "Albania",
                                "am"    => "Armenia",
                                "an"    => "Netherlands Antilles",
                                "ao"    => "Angola",
                                "aq"    => "Antarctica",


dit maakt

1
2
3
4
5
6
7
8
9
10
$this->language = array("ad"    => "Andorra",
                        "ae"    => "United Arab Emirates",
                        "af"    => "Afghanistan",
                        "ag"    => "Antigua and Barbuda",
                        "ai"    => "Anguilla",
                        "al"    => "Albania",
                        "am"    => "Armenia",
                        "an"    => "Netherlands Antilles",
                        "ao"    => "Angola",
                        "aq"    => "Antarctica",


Zie het verschil in spaties ;)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55035500
Het makkelijkste is om een bestand te openen en dan regel voor regel in te lezen en te evalueren. Tel het aantal spatie-karakters aan het begin van de regel en verwijder deze indien nodig. Schrijf vervolgens de output terug naar dezelfde regel. Ik neem tenminste aan dat het gaat om een bestand via php automatisch te verwerken en niet in een editor o.i.d.? Er zijn zat editors waar je dat met wat simpele shortcuts kunt doen.
Everything is possible, the impossible just takes longer.
pi_55036901
Hooii lieve vrienden! Heb in mijn mysql database een aantal teksten staan. Deze zijn in vershchillende talen. Het probleem is dat deze de pure teksten zijn dus inclusief alle haakjes en streepjes, niet omgezet naar &..; code. Als ik deze weergeef in mijn browser komen er in Firefox blokjes met vraagtekentjes te staan en in internet explorer kleine vierkantjes. Hoe kan ik dit oplossen. De codering in de database is utf-8- unicode.
Hoe kan ik dit oplossen?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  dinsdag 4 december 2007 @ 16:04:03 #159
107951 JortK
Immer kwaliteitsposts
pi_55036926
quote:
Op dinsdag 4 december 2007 16:02 schreef markiemark het volgende:
Hooii lieve vrienden! Heb in mijn mysql database een aantal teksten staan. Deze zijn in vershchillende talen. Het probleem is dat deze de pure teksten zijn dus inclusief alle haakjes en streepjes, niet omgezet naar &..; code. Als ik deze weergeef in mijn browser komen er in Firefox blokjes met vraagtekentjes te staan en in internet explorer kleine vierkantjes. Hoe kan ik dit oplossen. De codering in de database is utf-8- unicode.
Hoe kan ik dit oplossen?
htmlentities?
pi_55036997
quote:
Op dinsdag 4 december 2007 16:04 schreef JortK het volgende:

[..]

htmlentities?
moet daar dan nog iets achter? Zie http://nl2.php.net/manual/en/function.htmlentities.php hier dat er de nodige aanvullingen kunnen zijn..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  dinsdag 4 december 2007 @ 16:07:53 #161
107951 JortK
Immer kwaliteitsposts
pi_55037018
quote:
Op dinsdag 4 december 2007 16:06 schreef markiemark het volgende:

[..]

moet daar dan nog iets achter? Zie http://nl2.php.net/manual/en/function.htmlentities.php hier dat er de nodige aanvullingen kunnen zijn..
Probeer eerst maar gewoon eens

1
2
3
<?php
htmlentities
($string);
?>
pi_55037058
quote:
Op dinsdag 4 december 2007 16:07 schreef JortK het volgende:

[..]

Probeer eerst maar gewoon eens
[ code verwijderd ]
Er zit ook html in de database.. Die wordt dan ook omgezet naar tekst.. en das niet de bedoeling..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55038052
Je HTML pagina ook als UTF-8 coderen helpt niet?
pi_55044457
Tnx Aquaatje, ik zal even een routine schrijven.

Iets anders. Voor mijn statistieken script sla ik nu continue de 'zoekwoorden' appart op, is dit handig of is het handiger om gewoon de zoek zinnen op te slaan?

Anyone?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55044651
Ligt er een beetje aan wat je vervolgens met die zoekwoorden wil gaan doen. Wil je kijken wel woord afzonderlijk het meeste voor komt, dan kun je ze apart opslaan. Maar wil je ook relaties tussen zoekwoorden weten, dan moet je weer andere dingen bijhouden.
pi_55045056
quote:
Op dinsdag 4 december 2007 16:02 schreef markiemark het volgende:
Hooii lieve vrienden! Heb in mijn mysql database een aantal teksten staan. Deze zijn in vershchillende talen. Het probleem is dat deze de pure teksten zijn dus inclusief alle haakjes en streepjes, niet omgezet naar &amp;amp;amp;..; code. Als ik deze weergeef in mijn browser komen er in Firefox blokjes met vraagtekentjes te staan en in internet explorer kleine vierkantjes. Hoe kan ik dit oplossen. De codering in de database is utf-8- unicode.
Hoe kan ik dit oplossen?
Als je met utf-8 wil werken moet *alles* utf-8 zijn, niet alleen je database. Dus zorgen dat je pagina ook in utf-8 is (meta content-type tag goed zetten en vooral ook zorgen dat utf-8 als content-type in de page headers wordt meegestuurd) en in php zorgen dat de mbstring extentie is geinstalleerd en alleen de utf-8 veilige functies gebruiken. Alle standaard string functies zoals strlen etc raken in de war van utf-8 en geven verkeerde resultaten als je niet expliciet instelt dat de utf-8 versie gebruikt moet worden, dus bijv door mb_strlen te gebruiken ipv strlen.
pi_55052921
quote:
Op dinsdag 4 december 2007 21:48 schreef Farenji het volgende:

[..]

Als je met utf-8 wil werken moet *alles* utf-8 zijn, niet alleen je database. Dus zorgen dat je pagina ook in utf-8 is (meta content-type tag goed zetten en vooral ook zorgen dat utf-8 als content-type in de page headers wordt meegestuurd) en in php zorgen dat de mbstring extentie is geinstalleerd en alleen de utf-8 veilige functies gebruiken. Alle standaard string functies zoals strlen etc raken in de war van utf-8 en geven verkeerde resultaten als je niet expliciet instelt dat de utf-8 versie gebruikt moet worden, dus bijv door mb_strlen te gebruiken ipv strlen.
Dat is dus eigenlijk niet te doen.. met htmlentities() werkt het ook niet omdat dan de html code ook wordt omgezet.. hoe kan ik er voor zorgen dat de tekens wel om worden gezet, maar de html niet?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  woensdag 5 december 2007 @ 11:30:29 #168
107951 JortK
Immer kwaliteitsposts
pi_55053497
quote:
Op woensdag 5 december 2007 11:03 schreef markiemark het volgende:

[..]

Dat is dus eigenlijk niet te doen.. met htmlentities() werkt het ook niet omdat dan de html code ook wordt omgezet.. hoe kan ik er voor zorgen dat de tekens wel om worden gezet, maar de html niet?
Dat wordt volgens mij een lastig verhaal
pi_55053893
Gooi anders eens alles om naar ISO-8859-1 / ISO-8859-15, ik heb deze altijd aangehouden en nooit problemen gehad m.b.t. speciale karakters.
pi_55054629
quote:
Op dinsdag 4 december 2007 21:32 schreef HuHu het volgende:
Ligt er een beetje aan wat je vervolgens met die zoekwoorden wil gaan doen. Wil je kijken wel woord afzonderlijk het meeste voor komt, dan kun je ze apart opslaan. Maar wil je ook relaties tussen zoekwoorden weten, dan moet je weer andere dingen bijhouden.
Tja, dat is en blijft de vraag hé.

Maar zou jij relaties leggen? of juist niet?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 5 december 2007 @ 12:45:52 #171
107951 JortK
Immer kwaliteitsposts
pi_55055313
quote:
Op woensdag 5 december 2007 12:15 schreef Chandler het volgende:

[..]

Tja, dat is en blijft de vraag hé.

Maar zou jij relaties leggen? of juist niet?
Ik ben altijd ervoor om je database relationeel te houden.

Zo heb je later ook de mogelijkheid om makkelijker zaken 1:n te maken zonder te veel te hoeven kloten
pi_55056418
quote:
Op dinsdag 4 december 2007 21:21 schreef Chandler het volgende:
Tnx Aquaatje, ik zal even een routine schrijven.
En hier istie dan, als iemand er nog nut voor ziet

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
<?php
    
function checkSpaces($in)
    {
        
$inNew explode("\n"$in);
        
        
$inItems count($inNew);
        
$inMin   1000;
        
        for (
$x 0$x $inItems$x++)
        {
            for (
$y 0$y strlen($inNew[$x]); $y++)
            {
                if (
substr($inNew[$x], $y1) != " ")
                {
                    
$inMin $y;
                    break;
                }
            }
        }
        
        return 
$inMin;
    }
    
    function 
removeSpaces($in$remove)
    {
        
$inNew explode("\n"$in);

        
$inItems count($inNew);
        
        for (
$x 0$x $inItems$x++)
        {
            
$inNew[$x] = substr($inNew[$x], $removestrlen($inNew[$x]) - $remove);
        }
        
        return 
implode("\n"$inNew);
    }
    


$str "    hello world
    moi
       hoi
         lol
            test
         test
       test
    tes"
;
    

<
h2>Original</h2>
<
pre>


echo 
checkSpaces($str);

echo 
"\r\n" $str;

</
pre>
<
h2>Altered</h2>
<
pre>

echo 
removeSpaces($strcheckSpaces($str));

</
pre>
?>


als het sneller kan wil ik dit ook wel horen

[ Bericht 42% gewijzigd door Chandler op 05-12-2007 13:58:44 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55057235
quote:
Op woensdag 5 december 2007 13:35 schreef Chandler het volgende:

[..]

En hier istie dan, als iemand er nog nut voor ziet
[ code verwijderd ]

als het sneller kan wil ik dit ook wel horen
Het kan in ieder geval ietsje korter . Qua snelheid zou de volgende het denk ik moeten winnen, maar niet omdat het écht efficienter is.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function ltrimSpaceColumns($in) {
    if(
preg_match_all('|^ +|m'$in$matches)) {
        
$min 0x7fffffff;
        foreach(
$matches[0] as $match) {
            if((
$newMin strlen($match)) < $min) {
                
$min $newMin;
            }
        }
        if(
$min 0) {
            
$in preg_replace('|^ {'.$min.'}|m'''$in);
        }
    }
    return 
$in;
}
?>

Als het overigens relatief vaak voorkomt dat een stuk tekst geen 'spatie kolom' heeft, dan zou jouw aanpak een stuk sneller kunnen worden (en zijn dan deze) wanneer je stopt met zoeken bij het vinden van een regel met $inMin == 0.

[ Bericht 27% gewijzigd door autocue op 05-12-2007 14:20:12 ]
pi_55066691
Een enorm simpele vraag...

Ik ben bezig een query op te bouwen zodat ik een tekstueele representatie krijg van de laatste 5 acties van elke tabel / tabellengroep. Een voorbeeld:

1
2
3
4
5
6
7
8
9
10
11
SELECT CONCAT('New client: ',c.Name) AS Description, c.DateAdded AS Date
FROM client AS c
WHERE c.DateAdded != 0
ORDER BY c.DateAdded DESC
LIMIT ".$max." 

SELECT CONCAT('Updated client: ',c.Name) AS Description, c.DateUpdated AS Date
FROM client AS c
WHERE c.DateUpdated != 0
ORDER BY c.DateUpdated DESC
LIMIT ".$max." 


Hoe krijg ik dit in PHP mogelijk? Ik wil dus alle 15 queries in één keer runnen en alle records in hetzelfde resultset krijgen.

Ik kan natuurlijk in een loop gaan werken, maar ik vind het het mooist om zo veel als mogelijk in de query te doen, en dat in één keer in een array te stoppen. Of kan dit niet?
pi_55068642
Maak er 1 query van:

1
2
3
4
5
6
7
8
SELECT 
CONCAT('New client: ',c1.Name) AS DescriptionNew, c1.DateAdded,
CONCAT('Updated client: ',c2.Name) AS DescriptionUpdated, c2.DateUpdated,
CONCAT('Bladiebla client: ',c3.Name) AS DescriptionBladiebla, c3.DateBladiebla
FROM client AS c1, client AS c2, client AS c3
WHERE c1.DateAdded != 0 AND c2.DateUpdated != 0 AND c3.DateBladiebla != 0
ORDER BY c.DateAdded DESC, c2.DateUpdated DESC, c3.DateBladiebla DESC
LIMIT $max
pi_55068783
Dat is mogelijk, echter zijn het vijftien queries, met ieder weer één a twéé joins. Dat word te veel rotzooi, nog minder mooi dan alle queries in een array en ze langs te gaan.
pi_55069000
quote:
Op woensdag 5 december 2007 21:59 schreef Geqxon het volgende:
Een enorm simpele vraag...
Zoiets?

1
2
3
4
5
SELECT c.Name, c.DateAdded, c.DateUpdated
FROM client AS c
WHERE c.DateAdded != 0 OR c.DateUpdated != 0
ORDER BY (CASE c.DateUpdated WHEN 0 THEN c.DateAdded ELSE c.DateAdded END) DESC
LIMIT ".$max." 


Warom zijn die datum niet gewoon NULL als er geen datum in staat? (Dan kan je ook gewoon IFNULL gebruiken in plaats van die CASE).
Zijn er ook clients die niet toegevoegd zijn (DateAdded = 0)? :?
Is het niet handiger om de DateUpdated bij het toevoegen gelijk te maken aan DateAdded? (Dat sorteert makkelijker en sneller)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55069097
quote:
Op woensdag 5 december 2007 23:25 schreef SuperRembo het volgende:

[..]

Zoiets?
[ code verwijderd ]

Warom zijn die datum niet gewoon NULL als er geen datum in staat? (Dan kan je ook gewoon IFNULL gebruiken in plaats van die CASE).
Zijn er ook clients die niet toegevoegd zijn (DateAdded = 0)?
Is het niet handiger om de DateUpdated bij het toevoegen gelijk te maken aan DateAdded? (Dat sorteert makkelijker en sneller)
Er zijn clients zonder aanmaakdatum, dit is uit een oude systeemmigratie. Om deze uit het logboek te vermijden staat er deze CASE bij.

DateUpdated en DateAdded zijn twee verschillende eigenschappen, en wil ik ook zo in het logboek terug zien. Added voor het toevoegen van het record, updated voor het wijzigen van het record. Wanneer ik deze samen voeg kan ik niet én de laatste vijf toegevoegde clients én de laatste vijf gewijzigde clients tonen. Correct me if I'm wrong.
pi_55069120
Ongetest:
zorg dat in elke query de kolomnamen hetzelfde zijn en zet alle queries onderaan in 1 string, gescheiden door puntkomma.Voor deze string uit. Als het goed is heb je dan alles in 1 recordset.
pi_55069886
quote:
Op woensdag 5 december 2007 23:31 schreef Farenji het volgende:
Ongetest:
zorg dat in elke query de kolomnamen hetzelfde zijn en zet alle queries onderaan in 1 string, gescheiden door puntkomma.Voor deze string uit. Als het goed is heb je dan alles in 1 recordset.
Dan moet je gewoon een union / union all gebruiken.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 6 december 2007 @ 00:14:46 #181
37634 wobbel
Da WoBBeL King
pi_55069938
Zucht, ik krijg de laatste tijd steeds een 75 jarige man in de winkel die allerlei dingen vraagt over PHP ... werk in een computer winkel, ben geen PHP helpdesk

Kan ik hem niet naar dit topic doorverwijzen?

Hoeft ie bij ons ook de balie niet meer onder te kwijlen, wat ie nu al 2x heeft gedaan
pi_55069956
quote:
Op woensdag 5 december 2007 23:31 schreef Farenji het volgende:
Ongetest:
zorg dat in elke query de kolomnamen hetzelfde zijn en zet alle queries onderaan in 1 string, gescheiden door puntkomma.Voor deze string uit. Als het goed is heb je dan alles in 1 recordset.
quote:
Op donderdag 6 december 2007 00:12 schreef SuperRembo het volgende:

[..]

Dan moet je gewoon een union / union all gebruiken.
Top! Union was exact wat ik zocht. Dank u.

En ja, in de resultset gebruik ik altijd dezelfde kolomnamen: Description en Date.
pi_55070207
quote:
Op woensdag 5 december 2007 21:59 schreef Geqxon het volgende:

Ik kan natuurlijk in een loop gaan werken, maar ik vind het het mooist om zo veel als mogelijk in de query te doen, en dat in één keer in een array te stoppen. Of kan dit niet?
Als je zowel de laatste 5 toevoegingen en de laatste 5 wijzigingen wilt zien dan heb je minimaal 2 queries nodig, omdat je niet kunt sorteren op 2 dingen. Als je een toevoeging ook als een wijziging beschouwt (en bij toevoegen dus wijzigdatum en toevoegdatum gelijk maakt) dan kun je met 1 query toe.

Hoe je bij 15 queries komt is me niet helemaal duidelijk.
pi_55070364
quote:
Op donderdag 6 december 2007 00:31 schreef Light het volgende:

[..]

Als je zowel de laatste 5 toevoegingen en de laatste 5 wijzigingen wilt zien dan heb je minimaal 2 queries nodig, omdat je niet kunt sorteren op 2 dingen. Als je een toevoeging ook als een wijziging beschouwt (en bij toevoegen dus wijzigdatum en toevoegdatum gelijk maakt) dan kun je met 1 query toe.

Hoe je bij 15 queries komt is me niet helemaal duidelijk.
Het totaalproduct, mocht dat het duidelijker maken. Het product van drie (in de applicatie vijftien) verschillende queries:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
+-----------------------------------+------------+
| Description                       | Date       |
+-----------------------------------+------------+
| Added client x to company y       | 05-12-2007 |
| Added client a to company y       | 04-12-2007 |
| Added client d to company y       | 03-12-2007 |
| Added client c to company y       | 02-12-2007 |
| Added client b to company z       | 02-12-2007 |
| Added company y                   | 01-12-2007 |
| Added company ...                 | 30-10-2007 |
| Added company ...                 | 30-10-2007 |
| Added company ...                 | 11-07-2007 |
| Added company ...                 | 05-03-2007 |
| Changed information on company y  | 02-12-2007 |
+-----------------------------------+------------+


Dus de laatste vijf van elke soort actie. Met de union kan ik het nu eventueel alles door elkaar gooien en op de kolom Date sorteren, al heb ik dat liever niet.

Dit is overigens puur als extra zodat de eindgebruiker bij een foutieve invoer kan kijken waar hij de klant per ongeluk aan toegevoegd heeft. (Nogmaals: Als voorbeeld, dit is namelijk wel afgehandeld in de applicatie zelf).
pi_55073869
Misschien een domme vraag :

Ik wil met een query een soort van rapport opbouwen met gegevens die in een formulier zijn ingevuld. Nu is het zo dat als er een optie niet geselecteerd wordt deze niet in de query moet worden meegenomen. Dit is de query:

1
2
3
4
<?php
$query 
mysql_query("SELECT * FROM vrijwilligers_gegevens WHERE YEAR(datum) = YEAR('$jaar') AND geslacht = '$geslacht'
AND nationaliteit = '$nationaliteit' AND YEAR(geboortedatum) = YEAR('$geboortedatum')"
);
?>


dus als bijv. geslacht niet is ingevuld moet de query dus alle geslachten uit de database selecteren. Er komen nog meer opties in , dus het liefst heb ik alles in 1 query.
pi_55073970
1
2
3
4
5
6
7
8
9
<?php
if(isset($year)){
   
$query_where.=" AND year(datum)='".mysql_real_escape_string($year)."'";
}
if(isset(
$geslacht)){
   
$query_where.=" AND geslacht='".mysql_real_escape_string($geslacht)."'";
}
$query=mysql_query("SELECT * FROM vrijwilligers_gegevens WHERE bla=bla".$query_where);
?>


[ Bericht 26% gewijzigd door Tuvai.net op 06-12-2007 14:03:25 ]
pi_55074068
pi_55074202
pi_55076204
quote:
Op woensdag 5 december 2007 14:13 schreef autocue het volgende:

[..]

Het kan in ieder geval ietsje korter . Qua snelheid zou de volgende het denk ik moeten winnen, maar niet omdat het écht efficienter is.
[ code verwijderd ]

Als het overigens relatief vaak voorkomt dat een stuk tekst geen 'spatie kolom' heeft, dan zou jouw aanpak een stuk sneller kunnen worden (en zijn dan deze) wanneer je stopt met zoeken bij het vinden van een regel met $inMin == 0.
Klopt, die van mij had nog iets beter gekund
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 6 december 2007 @ 13:04:12 #190
84926 WyriHaximus
Release the hounds smithers!
pi_55076604
quote:
Op donderdag 6 december 2007 11:03 schreef Farenji het volgende:
[ link | afbeelding ]
die is en blijft goed !
phluphy for president!
pi_55077405
quote:
Op donderdag 6 december 2007 10:58 schreef Tuvai.net het volgende:

[ code verwijderd ]
bedankt
pi_55085666
quote:
Op woensdag 5 december 2007 14:13 schreef autocue het volgende:

[..]

Het kan in ieder geval ietsje korter :P. Qua snelheid zou de volgende het denk ik moeten winnen, maar niet omdat het écht efficienter is.
[ code verwijderd ]

Als het overigens relatief vaak voorkomt dat een stuk tekst geen 'spatie kolom' heeft, dan zou jouw aanpak een stuk sneller kunnen worden (en zijn dan deze) wanneer je stopt met zoeken bij het vinden van een regel met $inMin == 0.
Vraagje; hoe zou je kunnen controlleren of een regel leeg is? in de zin van er zit een enter in je code

(voorbeeld)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$str = "    hello world
    moi
       hoi
         lol
            test
         test
       test
    tes

    hello world
    moi
       hoi
         lol
            test
         test
       test
    tes";


Nu zie je opeens een 'lege' regel.. die moet je dus overslaan? maar hoe kan ik die afvangen? :D

";
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55086375
Matchen op een dubbele \n, dus \n\n.
pi_55086587
quote:
Op donderdag 6 december 2007 20:47 schreef HuHu het volgende:
Matchen op een dubbele \n, dus \n\n.
Wat dan als er alleen een spatie op een regel staat, dan matcht ie al niet meer maar het is wel een lege regel.

Gewoon per regel testen met de regexp /^\s*\n$/
pi_55089642
quote:
Op woensdag 5 december 2007 11:30 schreef JortK het volgende:

[..]

Dat wordt volgens mij een lastig verhaal
Ik heb uit mijn css een regeltje bovenaan weggehaald waar iets over utf-8 stond.. Dat heb ik er uit gehaald. Nu zie ik geen problemen meer.

Het rare is dat hij hem soms wel goed weer geeft, en soms met rare vraagtekentjes (FF) of blokjes (IE). Er veranderd ondertussen niks in de database of in de html..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55091998
quote:
Op donderdag 6 december 2007 20:17 schreef Chandler het volgende:

[..]

Vraagje; hoe zou je kunnen controlleren of een regel leeg is? in de zin van er zit een enter in je code

(voorbeeld)
[ code verwijderd ]

Nu zie je opeens een 'lege' regel.. die moet je dus overslaan? maar hoe kan ik die afvangen?

";
Door (bijvoorbeeld ) te forceren dat de matches waarbij de lengte van de whitespace gecheckt wordt niet enkel whitespace is. Er zal dus een niet whitespace karakter moeten volgen na de spaties, dus alleen de regex zal aangepast moeten worden en er moet verwezen worden naar een andere matching groep (namelijk die voor de spaties). Zoals volgt ongeveer .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function ltrimSpaceColumns($in) {
    if(
preg_match_all('|^( *)\S|m'$in$matches)) {
        
$min 0x7fffffff;
        while((
$pair each($matches[1])) && $min 0) {
            if((
$newMin strlen($pair[1])) < $min) {
                
$min $newMin;
            }
        }
        if(
$min 0) {
            
$in preg_replace('|^ {'.$min.'}|m'''$in);
        }
    }
    return 
$in;
}
?>
pi_55094681
quote:
Op vrijdag 7 december 2007 00:41 schreef autocue het volgende:

[..]

Door (bijvoorbeeld ) te forceren dat de matches waarbij de lengte van de whitespace gecheckt wordt niet enkel whitespace is. Er zal dus een niet whitespace karakter moeten volgen na de spaties, dus alleen de regex zal aangepast moeten worden en er moet verwezen worden naar een andere matching groep (namelijk die voor de spaties). Zoals volgt ongeveer .
[ code verwijderd ]
Werkt idd helemaal perfect, nu heb ik nog 1 andere vraag.

Voor een site van mij wil ik scripts toevoegen en deze net zoals op FOK met code highlight aan gebruikers laten zien. Echter copy en plak ik ook wel eens functies waarbij dus geen <?php en ?> voor en na staan. Deze wil ik dus graag toevoegen maar dat gaat steeds fout m.b.t. een controle.

Nu vraag ik niet om code; maar meer om het idee, hoe kan ik het beste checken of deze aan het begin/end staan.
$start = "<?php";
$end = "?>";

Nu doe ik substr($str, 0, strlen($start)) en controlleer het met $start (!=) en doe het zelfde met end, maar dan op het eind. Echter krijg ik toch steeds een dubbele <?php etc als ik de code opsla!

Anyone?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 7 december 2007 @ 09:47:02 #198
159635 Spike1506
NullPointerException
pi_55095176
* Spike1506 mompelt iets over regular-expressions.
pi_55096187
* Chandler verstopt zich, snapt amper een bal van regex...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55096770
quote:
Op vrijdag 7 december 2007 10:37 schreef Chandler het volgende:
* Chandler verstopt zich, snapt amper een bal van regex...
Daar zou ik dan maar eens wat aan doen, een programmeur kan niet zonder.
Er zijn zat tutorials te vinden.
  vrijdag 7 december 2007 @ 11:49:26 #201
107951 JortK
Immer kwaliteitsposts
pi_55097846
quote:
Op vrijdag 7 december 2007 11:05 schreef Farenji het volgende:

[..]

Daar zou ik dan maar eens wat aan doen, een programmeur kan niet zonder.
Er zijn zat tutorials te vinden.
Post eens wat goede dan
pi_55098695
http://weblogtoolscollection.com/regex/regex.php

Deze heb ik toendertijds veel van geleerd. En regular expressions vind ik inderdaad een van de moeilijkere dingetjes op gebied van programmeren.
pi_55108723
quote:
Op vrijdag 7 december 2007 12:24 schreef Tuvai.net het volgende:

En regular expressions vind ik inderdaad een van de moeilijkere dingetjes op gebied van programmeren.
Het is ook een van de leukere dingen, vind ik
pi_55109454
  zaterdag 8 december 2007 @ 10:28:08 #206
136730 PiRANiA
All thinking men are atheists.
pi_55120846
quote:
Op vrijdag 7 december 2007 20:02 schreef Farenji het volgende:
[ afbeelding ]
geniaal
pi_55142361
Hoe genereer ik dit met PHP?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="300">
  <tr>
    <td width="100">data</td>
    <td width="100">data</td>
    <td width="100">data</td>
  </tr>
  <tr>
    <td width="100">data</td>
    <td width="100">data</td>
    <td width="100">data</td>
  </tr>
  <tr>
    <td width="100">data</td>
    <td width="100">data</td>
    <td width="100">data</td>
  </tr>
</table>

Dus een tabel, 3 bij 3, ieder cel gevuld met data.
Moet ik perse in ieder cel mysql_result(); plaatsen, of is het te 'automatiseren' ?

Iets met mysql_fetch_array?
ne okuyon, bokmu var?
  zondag 9 december 2007 @ 12:33:01 #208
529 twi
Het lichtje is uit...
pi_55142479
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$query
= 'SELECT veld1, veld2, veld3 FROM .....';

$result = mysql_query($query, .......);
...

echo
'<table>';

while (list(
$veld1, $veld2, $veld3) = mysql_fetch_array($result)) {
  echo
'<tr><td>'.$veld1.'</td><td>'.$veld2.'</td>'.$veld3.'</td></tr>';
}

echo
'</table>';
?>
Volgorde van de list correspondeert met de volgorde van de items die je ophaalt in de query.

Als je heel veel items hebt is het overzichtelijker om het op te vangen in een array

1
2
3
<?php
...($arraynaam = mysql_fetch_array($result)...
?>

en dan achteraf de variabelen toe te kennen:
1
2
3
<?php
$veld1
= $arraynaam['veld1'];
?>

etc.
pi_55142565
Het punt is, vooraf is niet bekend hoeveel cellen ik nodig heb.
Ik wil maximaal 3 cellen naast elkaar, maar onder elkaar kunnen het er 4 zijn (4x3 cellen), of kunnen het er 6 zijn (6x3 cellen).
ne okuyon, bokmu var?
  zondag 9 december 2007 @ 12:40:15 #210
529 twi
Het lichtje is uit...
pi_55142591
Als elke rij in de tabel ook een rij in de database is, dan loopt deze code gewoon netjes alle rijen langs totdat hij er geen meer vindt.
pi_55142643
quote:
Op zondag 9 december 2007 12:40 schreef twi het volgende:
Als elke rij in de tabel ook een rij in de database is, dan loopt deze code gewoon netjes alle rijen langs totdat hij er geen meer vindt.
Zal het straks direct uitproberen, bedankt!
Echter is het niet helemaal wat ik wil, het is iets uitgebreider, namelijk;

Table_name
veld1: id
veld2: info

veld1: id
veld2: info

veld1: id
veld2: info

veld1: id
veld2: info

Ieder cel moet veld1 en veld2 bevatten.
ne okuyon, bokmu var?
  zondag 9 december 2007 @ 12:52:24 #212
529 twi
Het lichtje is uit...
pi_55142844
Dan doe je in de while loop:
1
2
3
<?php
echo '<tr><td>Veld 1<br />Veld2</td><td>'.$veld1.'<br />'.$veld2.'</td></tr>';
?>

Je kunt natuurlijk zelf kiezen hoe je de data wilt presenteren. Het gegeven dat deze while loop elke rij resultaten doorloopt is het belangrijkste.

Overigens, hoewel mijn code ongetwijfeld nog veel netter te maken is, zou ik al dat cellpadding en border gebeuren in jouw <table> tag vervangen door CSS in een extern bestand.
pi_55143072
Hij klopt niet helemaal, hij maakt er dit van:
1
2
3
4
5
6
7
8
9
10
<table>
<tr>
<td>40001<br />1,99<br />179,00</td>
<td>40001<br />1,99<br />179,00</td>
</tr>
<tr>
<td>40002<br />2,49<br />239,00</td>
<td>40002<br />2,49<br />239,00</td>
</tr>
</table>
ne okuyon, bokmu var?
  zondag 9 december 2007 @ 13:09:45 #214
529 twi
Het lichtje is uit...
pi_55143232
In de eerste td moet je dan ook de titel zetten die je aan het veld geeft (ID, Prijs of wat de omschrijving van het veld ernaast ook is), niet nog een keer de variabele

Overigens zou ik zelf, afhankelijk van welke data je wilt presenteren, dit niet zo gauw doen met behulp van <br />'s in <td>'s, maar gewoon op de eerstgenoemde manier. Veel overzichtelijker voor de gebruiker.

1
2
3
4
5
6
-------------------------------
ID    Prijs      Omschrijving
-------------------------------
1     9,95       Omschrijving 1
2     8,95       Omschrijving 2
3    12,95       Omschrijving 3

in plaats van:
1
2
3
4
5
6
7
8
9
10
11
12
13
-------------------------------
ID: 1
Prijs: 9,95
Omschrijving: Omschrijving 1
-------------------------------
ID: 2
Prijs: 8,95
Omschrijving: Omschrijving 2
-------------------------------
ID: 3
Prijs: 12,95
Omschrijving: Omschrijving 3
-------------------------------


[ Bericht 26% gewijzigd door twi op 09-12-2007 13:14:54 ]
pi_55143322
quote:
Op zondag 9 december 2007 13:09 schreef twi het volgende:
In de eerste td moet je dan ook de titel zetten die je aan het veld geeft (ID, Prijs) of wat de omschrijving van het veld ernaast ook is), niet nog een keer de variabele :)
Dan zal het als nog niet werken, dan krijg ik alles onderelkaar, dus per TR krijg ik dan 1 TD.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<table>
<tr>
<td>40001<br />1,99</td>
</tr>
<tr>
<td>40002<br />2,49</td>
</tr>
<tr>
<td>40003<br />2,79</td>
</tr>
<tr>
<td>40004<br />2,99</td>
</tr>
</table>


Terwijl ik wil dat per TR minstens(max) 3 TD's moet bevatten, dus';

1
2
3
4
5
6
7
8
<table>
<tr>
<td>40001<br />1,99</td> <td>40002<br />2,49</td> <td>40003<br />2,79</td>
</tr>
<tr>
<td>40004<br />2,99</td> <td></td> <td></td>
</tr>
</table>
ne okuyon, bokmu var?
  zondag 9 december 2007 @ 13:24:44 #216
529 twi
Het lichtje is uit...
pi_55143563
Dan moet je een loopje schrijven wat na elke 3 items een </tr><tr> toevoegt zodat er een nieuwe regel begint. En bovendien lege <td>'s of een colspan toevoegt wanneer je niet genoeg velden hebt om de tabel compleet te maken:

1
2
3
4
5
6
7
 ------------
| x | x | x |
|------------
| x | x | x |
|------------
| x |   |   |
 ------------

Een - voor mijn gevoel - nette manier om dat te doen heb ik nog niet gevonden. Die methode (m.b.v. modulus operator) heb ik zelf destijds vervangen door gewoon een <div> ervan te maken en die op float:left te zetten en een breedte van 1/3 van de container te geve. Dan worden ze gewoon zolang ze passen links gestapeld. Passen ze niet, verdwijnen ze naar de volgende regel. Maar dat is niet echt netjes met tabulaire data, natuurlijk.

[ Bericht 11% gewijzigd door twi op 09-12-2007 13:51:02 ]
pi_55157368
Als je een for-loopje voor de <td>'s schrijft heeft de variabele die je in de for-loop gebruikt als teller ná de for-loop (die je kunt breaken) een waarde die je kunt gebruiken om de overige <td>'s te genereren
pi_55178478
In de hoop dat hier iemand wat meer van regular expression weet.... dit is wat mij so far gelukt is:

1[\\.-]


Dus dat er op die positie een . (punt) of een - (dash) mag staan. Maar ik wil ook dat hij op deze positie spaties accepteert? Een white-space character pakt hij helaas niet. :)
pi_55179967
quote:
Op maandag 10 december 2007 21:45 schreef Geqxon het volgende:
In de hoop dat hier iemand wat meer van regular expression weet.... dit is wat mij so far gelukt is:
[ code verwijderd ]

Dus dat er op die positie een . (punt) of een - (dash) mag staan. Maar ik wil ook dat hij op deze positie spaties accepteert? Een white-space character pakt hij helaas niet.
Met dat ie een white-space character niet pakt, bedoel je dan dat je [.- ] hebt geprobeerd?
Probeer anders [. -] of [.\- ] .
pi_55181377
quote:
Op maandag 10 december 2007 21:45 schreef Geqxon het volgende:
In de hoop dat hier iemand wat meer van regular expression weet.... dit is wat mij so far gelukt is:
[ code verwijderd ]

Dus dat er op die positie een . (punt) of een - (dash) mag staan. Maar ik wil ook dat hij op deze positie spaties accepteert? Een white-space character pakt hij helaas niet. :)
Volgens mij werkt het zo wel

1[\\. -]


Je moet wel de dash aan het eind van de set laten staan.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55181953
Dat werkt prima, de spatie tussen de dot en de dash. Dank u allen, zo simpel had ik het niet verwacht.

Regular expression zijn nog best easy peasy, al ga ik wel aan een boek denken. Ik heb mijn regexxen nu vrij loosely based, maar dat kan veel strakker. Leuk!
pi_55185172
Regexen zijn tof
  dinsdag 11 december 2007 @ 13:49:18 #223
187069 slacker_nl
Sicko pur sang
pi_55190906
Heb een specifieke mysql vraag.

Ik moet een DB dumpen, en daaruit wil ik alleen maar tables met een bepaalde prefix hebben, laten we zeggen XXX.

Is het mogelijk om tegen mysqldump te zeggen, dump DB x, en pak dan alleen de tables XXXsomethingsomething?

Anders moet ik namelijk eerst door die database de tables eruit plukken, dan die ergens in een var knallen en dan die var tegen mysqldump aanleggen. Zit zelf beetje te hopen dat het direct met mysqldump kan. Maar ik kom de optie niet zo snel tegen. Iemand met de wijsheid in pacht?
In theory there is no difference between theory and practice. In practice there is.
pi_55191106
Heb je al eens wildcats geprobeerd? % ?
  dinsdag 11 december 2007 @ 14:08:14 #225
187069 slacker_nl
Sicko pur sang
pi_55191309
quote:
Op dinsdag 11 december 2007 14:00 schreef Geqxon het volgende:
Heb je al eens wildcats geprobeerd? % ?
1
2
3
4
5
6
mysqldump -u user -p -B mydb --no-data --tables XXX%
# arghh...
mysqldump: Couldn't find table: "PPD%"

mysqldump -u user -p -B mydb --no-data --where='tables LIKE "XXX%"'
# dumpt gewoon de hele DB
In theory there is no difference between theory and practice. In practice there is.
pi_55191616
Lastig. Het enige wat ik hiernaast vinden kon was een query in de trant van:

1select table_name from information_schema.tables where table_schema='www-dbname' and table_name like 'test%';


maar goed, die had je al.
pi_55191649
Ik zou hier een simpel perl scriptje voor schrijven...
  dinsdag 11 december 2007 @ 14:27:07 #228
187069 slacker_nl
Sicko pur sang
pi_55191786
quote:
Op dinsdag 11 december 2007 14:20 schreef Farenji het volgende:
Ik zou hier een simpel perl scriptje voor schrijven...
Heb het in de shell gedaan:

get_tables.sql:

1
2
use mydb;
show tables;


En dan dit uitvoeren:

1
2
mysql -u user -p < get_tables.sql | sed  -e 's/|//g' | grep "^XXX" | \
xargs echo mysqldump -u root -p mydb --no-data --tables
In theory there is no difference between theory and practice. In practice there is.
pi_55191916
Perl is inderdaad een goeie, daar acht ik ook al aan. Je moet dan alleen wel op een linux systeem werken.
  dinsdag 11 december 2007 @ 16:56:49 #230
187069 slacker_nl
Sicko pur sang
pi_55195338
quote:
Op dinsdag 11 december 2007 14:31 schreef Geqxon het volgende:
Perl is inderdaad een goeie, daar acht ik ook al aan. Je moet dan alleen wel op een linux systeem werken.
ActiveState perl is er voor windows bakken
In theory there is no difference between theory and practice. In practice there is.
pi_55215403
Grmbl, heb zelf proberen te zoeken maar of ik kijk er enorm overheen of ik zoek verkeerd. Ik wil graag de unieke waardes die in een veld staan uit de database halen. Bijvoorbeeld, ik heb een tabel met producten en daarin staat een veld 'media' waarin allerlei verschillende media-types in staan, CD, LP, 7", Book enz.

Nu zoek ik dus een query die alle unieke waardes (er zijn dus media types die vaker voorkomen) uit dat veld haalt zodat ik voor elk van die unieke waarde een stuk code kan uitvoeren (in dit geval een invoerveld voor een bepaalde waarde toe te kennen aan dat media type die ik opsla in een andere tabel).

Ik hoop dat dat een beetje duidelijk is
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_55215742
select distinct?
pi_55215795
Ja! Super.. d'oh!
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_55215941
Waar kan ik mijn database ontwerp het beste in visualiseren? Heb hem wel op papier, maar dat staat zo lullig in mijn stage verslag. Ik ken Visio, maar dat vind ik niet zo heel handig.. Zijn daar geen eenvoudige tooltjes voor?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  woensdag 12 december 2007 @ 13:41:17 #235
107951 JortK
Immer kwaliteitsposts
pi_55216151
quote:
Op woensdag 12 december 2007 13:30 schreef markiemark het volgende:
Waar kan ik mijn database ontwerp het beste in visualiseren? Heb hem wel op papier, maar dat staat zo lullig in mijn stage verslag. Ik ken Visio, maar dat vind ik niet zo heel handig.. Zijn daar geen eenvoudige tooltjes voor?
Ik gebruik daar altijd Powerpoint voor, dan maak ik een printscreen van die sheet en die plak ik in word
pi_55216273
quote:
Op woensdag 12 december 2007 13:41 schreef JortK het volgende:

[..]

Ik gebruik daar altijd Powerpoint voor, dan maak ik een printscreen van die sheet en die plak ik in word
hehe ok.. die van mij is aardig uitgebreid, een tabelletje of 30. als ik een lijntje trek vanuit de ene tabel naar de andere, blijft deze dan gelinkt wanneer ik een tabel versleep?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55219327
Je kan ook Access gebruiken, daar kan je via de relatie-manager ook een duidelijk beeld scheppen van je database. Of eventueel een simpel "mindmap" programma, daar kan je ook lijntjes trekken van en naar "wolkjes".
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_55220552
quote:
Op woensdag 12 december 2007 15:50 schreef DaFrenk het volgende:
Je kan ook Access gebruiken, daar kan je via de relatie-manager ook een duidelijk beeld scheppen van je database. Of eventueel een simpel "mindmap" programma, daar kan je ook lijntjes trekken van en naar "wolkjes".
Hmmz kan ik inderdaad ook nog wel eens proberen..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55230103
Goedenavond, ik ben als n00b aan het klungelen met dit scriptje... nu heb ik de database en alle tabellen aangemaakt, maar ik loop vast op deze instructies:

# Add a user to the mm2_users table
# Add a crontab for recenttracker.php.

van de eerste weet ik niet hoe ik het moet doen, van de 2e weet ik niet eens wat een crontab is

Iemand die het toevallig leuk vindt om me wat verder op weg te helpen?
  woensdag 12 december 2007 @ 22:52:24 #240
84926 WyriHaximus
Release the hounds smithers!
pi_55231294
quote:
Op woensdag 12 december 2007 22:15 schreef Maartel het volgende:
Goedenavond, ik ben als n00b aan het klungelen met dit scriptje... nu heb ik de database en alle tabellen aangemaakt, maar ik loop vast op deze instructies:

# Add a user to the mm2_users table
# Add a crontab for recenttracker.php.

van de eerste weet ik niet hoe ik het moet doen, van de 2e weet ik niet eens wat een crontab is

Iemand die het toevallig leuk vindt om me wat verder op weg te helpen?
Contab is de *nix versie van geplande taken in windows. Als je de bak zelf host zal ik de docs eens gaan lezen en anders ff met je hosting mailen .
phluphy for president!
pi_55234397
quote:
Op woensdag 12 december 2007 22:15 schreef Maartel het volgende:
Goedenavond, ik ben als n00b aan het klungelen met dit scriptje... nu heb ik de database en alle tabellen aangemaakt, maar ik loop vast op deze instructies:

# Add a user to the mm2_users table
Start een mysql console en tik in "grant all on mm2_users.* to <username>@localhost identified by '<password>';"

Ipv <username> tik je natuurlijk de username (zonder de < en >) en ipv <password> tik je een zelfgekozen password (dat je wel moet onthouden, dat zal je wsch ergens in de config van het script moeten invullen.)
quote:
# Add a crontab for recenttracker.php.
Crontab is het mechanisme onder unix/linux om periodiek / om de zoveel tijd een bepaald commando uit te voeren.
Start een shell en tik in "man crontab", lees die info goed door, en tik daarna in de shell "crontab -e" en maak dan de benodigde wijzigingen. Je moetdus "recenttracker.php" uitvoeren; dit is een php script dus dat wordt alleen door je webserver uitgevoerd. Als commando in je crontab (zie de manual!) wordt dat dan iets als "wget http://hostnaam.van.je.server/pad/recenttracker.php".

Succes!
pi_55250528
quote:
Op donderdag 13 december 2007 00:45 schreef Farenji het volgende:

[..]

Start een mysql console en tik in "grant all on mm2_users.* to <username>@localhost identified by '<password>';"

Ipv <username> tik je natuurlijk de username (zonder de < en >) en ipv <password> tik je een zelfgekozen password (dat je wel moet onthouden, dat zal je wsch ergens in de config van het script moeten invullen.)
dan krijg ik
1044 - Access denied for user: 'blabla@localhost' to database 'mm2_users'
quote:
Crontab is het mechanisme onder unix/linux om periodiek / om de zoveel tijd een bepaald commando uit te voeren.
Start een shell en tik in "man crontab", lees die info goed door, en tik daarna in de shell "crontab -e" en maak dan de benodigde wijzigingen. Je moetdus "recenttracker.php" uitvoeren; dit is een php script dus dat wordt alleen door je webserver uitgevoerd. Als commando in je crontab (zie de manual!) wordt dat dan iets als "wget http://hostnaam.van.je.server/pad/recenttracker.php".

Succes!
hoe start ik een 'shell'? ik weet nog net hoe ik een tabel moest openen in mijn PhpMyAdmin, maar ik weet niet wat een shell is
pi_55252834
quote:
Op donderdag 13 december 2007 18:13 schreef Maartel het volgende:

[..]

dan krijg ik
1044 - Access denied for user: 'blabla@localhost' to database 'mm2_users'

[..]

hoe start ik een 'shell'? ik weet nog net hoe ik een tabel moest openen in mijn PhpMyAdmin, maar ik weet niet wat een shell is
Wat voor hosting heb je? Heb je wel shell access? Anders kun je de crontab meestal vergeten, tenzij je een webinterface hebt waar je dat kan instellen.
Wat betreft die user, misschien heb je maar 1 user en kun je geen extra users aanmaken. In dat geval zal je die user moeten gebruiken voor het script.
pi_55253377
quote:
Op donderdag 13 december 2007 19:51 schreef Farenji het volgende:

[..]

Wat voor hosting heb je? Heb je wel shell access? Anders kun je de crontab meestal vergeten, tenzij je een webinterface hebt waar je dat kan instellen.
Wat betreft die user, misschien heb je maar 1 user en kun je geen extra users aanmaken. In dat geval zal je die user moeten gebruiken voor het script.
http://www.flexwebhosting.nl/hosting.html
en dan de goedkoopste.. er staat wel iets cron-achtigs bij..
Waaronder zou ik die shellaccess moeten vinden? ook in PhpMyAdmin?
pi_55254428
quote:
Op donderdag 13 december 2007 20:13 schreef Maartel het volgende:

[..]

http://www.flexwebhosting.nl/hosting.html
en dan de goedkoopste.. er staat wel iets cron-achtigs bij..
Waaronder zou ik die shellaccess moeten vinden? ook in PhpMyAdmin?
Shell access is via een ssh client inloggen op de server, via de command line dus. Maar inderdaad zit er blijkbaar cronjobs mogelijkheden bij je account, vraag even aan je provider hoe dat werkt; waarschijnlijk is er ergens een control panel voor.
pi_55257906
quote:
Op donderdag 13 december 2007 20:58 schreef Farenji het volgende:

[..]

Shell access is via een ssh client inloggen op de server, via de command line dus. Maar inderdaad zit er blijkbaar cronjobs mogelijkheden bij je account, vraag even aan je provider hoe dat werkt; waarschijnlijk is er ergens een control panel voor.
ik heb ook wel eens een site gemaakt op een server van flexweb. deze bieden geen shell aan..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55259959
Mocht iemand nog interesse hebben dan heb ik even de source voor een random webicon online gezet. Ik zal in de toekomst hier wel even wat meer linken naar scripts/classes/tutorials die ik online zet. Beschouw het niet als spam (ik zie het als leermateriaal) en als dat wel zo is hoor ik dat wel.

Random Webicon http://liebmi.ch/laboratorium/webicon/
Een zeer simpel random webicon script.
  vrijdag 14 december 2007 @ 11:42:44 #248
84926 WyriHaximus
Release the hounds smithers!
pi_55265786
quote:
Op vrijdag 14 december 2007 01:11 schreef colourAgga het volgende:
Mocht iemand nog interesse hebben dan heb ik even de source voor een random webicon online gezet. Ik zal in de toekomst hier wel even wat meer linken naar scripts/classes/tutorials die ik online zet. Beschouw het niet als spam (ik zie het als leermateriaal) en als dat wel zo is hoor ik dat wel.

Random Webicon http://liebmi.ch/laboratorium/webicon/
Een zeer simpel random webicon script.
Zolang het bij PHP related dingen blijft en het niet storend is zal het geen probleem zijn. En zelfs goed zijn voor de beginnen mensen die willen weten hoe ze dingen kunnen doen .
phluphy for president!
pi_55279801
quote:
Op vrijdag 14 december 2007 01:11 schreef colourAgga het volgende:
Random Webicon http://liebmi.ch/laboratorium/webicon/
Een zeer simpel random webicon script.
Ondanks dat het een simpel voorbeeld is, of juist omdat het een voorbeeld is, heb ik er wel wat op aan te merken.
  • Ondanks de if (...opendir(...)) zal het script een fout geven als het openen van de directory niet lukt.
  • Waarom shuffle je de hele array met files als je maar 1 random file wil hebben?
  • Je gebruikt GD om het plaatje te lezen en naar de client te schrijven, dat is niet erg efficient. fopen en passthu is veel efficienter. Of nog efficienter: gebruik een simpele redirect (werkt alleen niet als je een random icon op een statische pagina wil).

    ...en ik haat hungarian prefixes!
  • Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_55280902
    pi_55292476
    Ik zit met een probleempje

    Het heeft met IE en FF te maken. Bij IE geeft hij het wel goed weer maar bij FF niet.

    Kijk maar eens met beide op www.redhotchilipeppers.eu met IE en FF Nee geen spam.
    Bij IE zie je het menu wel goed en bij FF niet

    Ik zal je ff de index-code geven en de CSS gedeeltes
    Index.php:
    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
    <!-- Begin van de container -->
    <div id="container">

    <!-- Begin Header -->
    <div id="header">
       <?php
          include ("header.php")
       ?>
    </div>
    <!-- Einde Header -->

    <!-- Begin navigatie -->
    <div id="navigatie">
       <?php
          if($_GET['navigatie'])  // Hier neemt hij de pagina mee in de URL
          {
             include($_GET['navigatie'].'.php');  // Hier include hij de pagina die in de URL is meegenomen
          }
          else
          {
             $navigatie = "navigatie";
             include("navigatiemenu.php");   // Hier wordt main.php geinclude
          }
       ?>
    </div>
    <!-- Einde navigatie -->

    <!-- Begin content -->
    <div id="content">
       <?php
          if($_GET['page'])  // Hier neemt hij de pagina mee in de URL
          {
             include($_GET['page'].'.php');  // Hier include hij de pagina die in de URL is meegenomen
          }
          else
          {
             $page = "main";
             include("main.php");   // Hier wordt main.php geinclude
          }
       ?>
    </div>
    <!-- Einde content -->


    CSS:
    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
    #header {
       color : #333;
       background-color: #FFFFFF;
       background-image:url(images/header4.jpg);
       width: 898px;
       border: 1pxsolid #FF0000;
       height: 138px;
       float: left;
       margin : 0 0 2px 0;
    }

    #navigatie {
       color : #333;
       margin : 0 2px 2px 0;
       height : 25px;
       width : 898px;
       float: inherit;
       background-color: #000000;
       padding-left: 5px;
       padding-top: 5px;
    }

    #content {
       float: left;
       color: #999999;
       font-family:Verdana, Arial, Helvetica, sans-serif;
       font-size:12px;
       border : 1px solid #c00000;
       margin : 0 0 2px 0;
       height :475px;
       width : 898px;
       display : inline;
       background-color: #000000;
       overflow:auto;
       padding-left: 5px;
       padding-top: 10px;
       scrollbar-arrow-color: #918e8e;
       scrollbar-face-color: #c00000;
       scrollbar-highlight-color: #FFFFFF;
       scrollbar-3dlight-color: #0A439A;
       scrollbar-shadow-color: #445C95;
       scrollbar-darkshadow-color: #0A439A;
       scrollbar-track-color: #d6d6e3;


    Ik heb vast iets verkeerds maar ik heb geen idee wat. Misschien iets met dat float: inherit??

    Ik hoop dat jullie mij kunnen helpen
    pi_55292647
    Best kans dat het gaat werken als je eerst wat foutjes in je html-code gaat oplossen.

    En over welk menu je het hebt is me niet helemaal duidelijk, ik zie geen menu in Safari op die pagina.
    pi_55293003
    Ok
    quote:
    Line 48, Column 68: document type does not allow element "link" here.
    …et" type="text/css" href="menu/halfmoontabs.css"/>✉
    The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

    One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).
    Wat moet ik nou doen daarmee? Ik ben dus echt wel een dummy en ik wil het allemaal leren maar dit snap ik niet zo goed eerlijk gezegd

    …et" type="text/css" href="menu/halfmoontabs.css"/> <<--- die > zou niet mogen op één of andere manier
    pi_55293059
    Een <link> tag mag alleen binnen de <head> staan en nergens anders.
    pi_55293175
    Ok dat is nu idd weg

    Nu ff naar de andere fouten. Zijn er nu 17. Best pittig. Hoop dat ik jullie nog meer mag vragen mocht ik er niet uitkomen
    pi_55293831
    Om je op weg te helpen:

    1<img src="http://www.redhotchilipeppers.eu/images/peppers.jpg" />


    1<img src="http://www.redhotchilipeppers.eu/images/peppers.jpg" alt="The Red Hot Chillipeppers" />


    Dat is de tekst die je krijgt te zien als de pagina niet wilt laden / als je een alternative browser hebt.
    pi_55294084
    En omdat ik zo aardig ben:

    RHCP.txt

    Let goed op de tabs, en waar welke type tags horen. Je hebt de HTML tag, daarbinnen de header en de body, binnen de header weer de meta-tag, title, css en javascript....
    pi_55294316
    quote:
    Op zaterdag 15 december 2007 16:57 schreef RHCPeter het volgende:
    Ok dat is nu idd weg

    Nu ff naar de andere fouten. Zijn er nu 17. Best pittig. Hoop dat ik jullie nog meer mag vragen mocht ik er niet uitkomen
    Een bestand hoort 1 head en 1 body te hebben. En niet halverwege de body nog weer een head. Die CSS-linkjes vanaf regel 33 kun je beter naar boven halen.
    pi_55295864
    Mjah morgen weer een dag. Heb nu nog 13 fouten. Maar het menu is nog niet terug bij FF.

    Krijg het nu niet voor elkaar
    pi_55295906
    quote:
    Op zaterdag 15 december 2007 17:48 schreef Light het volgende:

    [..]

    Een bestand hoort 1 head en 1 body te hebben. En niet halverwege de body nog weer een head. Die CSS-linkjes vanaf regel 33 kun je beter naar boven halen.
    Die snap ik niet? Hoezo naar boven halen?

    Mocht iemand weten waarom het menu niet zichtbaar is bij safari en bij FF alleen het bovenste witte racdje hoor ik het echt heeeeeeeeel graag H
    pi_55297972
    quote:
    Op zaterdag 15 december 2007 19:02 schreef RHCPeter het volgende:
    [..]
    Die snap ik niet? Hoezo naar boven halen?
    Al je referenties naar css files in de <head> zetten, bovenin dus.
    quote:
    Mocht iemand weten waarom het menu niet zichtbaar is bij safari en bij FF alleen het bovenste witte racdje hoor ik het echt heeeeeeeeel graag H
    Volgens mij heb je geen idee hoe floats werken en gebruik je ze waar ze helemaal niet nodig zijn. Het heeft iig weinig met php te maken, maar alles met [CSS] voor dummies - Deel 7.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_55301950
    quote:
    Op zaterdag 15 december 2007 19:00 schreef RHCPeter het volgende:
    Mjah morgen weer een dag. Heb nu nog 13 fouten. Maar het menu is nog niet terug bij FF.

    Krijg het nu niet voor elkaar
    Bij de link die ik je gaf is je website compleet XHTML compatible:

    W3 validator

    Daarnaast zie je ook wat SuperRembo bedoeld. Tussen de <head> en </head> tags laad je alle .css en .js bestanden in. Daarna komt de <body> tag, je content, en dat sluit je weer af met een </body>.
    pi_55302416
    Zowieso is al je HTML gaar. Tabellen dienen niet voor opmaak gebruikt te worden. Een titel dient een hx tag te zijn. Je navigatie is een pagina lijst, maak daar dan ook een lijst van zonder er een div omheen.

    Divjes gebruik je alleen als je geen enkel ander element kan vinden dat semantisch correct is om te gebruiken.

    Verder zou het ook misschien handig zijn om alle browser defaults uit te zetten. Zie: http://www.liebmi.ch/laboratorium/bus/handboek/standaarden.html halverwege de pagina voor meer uitleg plus een standaard stylesheet voor leesbaarheid etc.

    Als je gaat XHTML'en, doe het dan ook goed.

    Je hebt meerdere head tags, je hebt link tags buiten je head. Kortom, het is een zooi. Misschien leuk om de rest van dat handboekje ook te lezen, is een algemene inleiding.
    pi_55304566
    "Semantisch correct" is de grootste bullshit die ik ooit gehoord heb.
    pi_55305605
    quote:
    Op zaterdag 15 december 2007 23:55 schreef Geqxon het volgende:
    "Semantisch correct" is de grootste bullshit die ik ooit gehoord heb.
    Nee, je gebruikt de elementen waarvoor ze bedoeld zijn. Zo kunnen mensen die software gebruiken om alsnog je website te kunnen lezen zoals screenreaders er van uit gaan dat die software de site ook goed interpreteert. In het echte leven gebruik je nou eenmaal ook niet je aansteker om op te koken terwijl het best zal gaan.

    Verder als google ziet dat iets een lijstje is geeft het er een andere waarde aan dan als iets in een div staat. Verder nog gaat het verhaal als we gaan kijken naar hoeveel extra code je verbruikt als je overal divjes omheen zet plus de effecten die dat heeft op rendering engines die de div eromheen als leidraad gaan gebruiken terwijl je dat misschien helemaal niet wil.

    Van mij hoef je je er niet aan te houden maar als webdeveloper heb je de morele 'plicht' om toegankelijkheid hoog in het vaandel te houden, dat betekent dus ook de dingen gebruiken waarvoor ze bedoeld zijn Verder lopen er nog enkele rechtszaken in de Verenigde Staten over sites die niet semantisch en niet genoeg toegankelijk waren voor mensen met screenreaders. Effectief ontzeggen zij namelijk de toegang tot hun site aan mensen die minder valide zijn
    quote:
    If we call ourselves professionals, we owe it to our clients, their clients, and ourselves, to do our job properly. A chef must care about health, a builder must care about safety, and we must care about accessibility.
    bron

    Op een hele andere noot heb ik de source van een simpele template klasse online gezet, lang niks zoals Smarty maar dit is gewoon om beginners te helpen met waar ze moeten beginnen als je met templates aan de slag gaat:
    http://liebmi.ch/laboratorium/template-klasse/

    [ Bericht 3% gewijzigd door colourAgga op 16-12-2007 00:52:33 ]
    pi_55307127
    colourAgga, we hebben het hier over een beginnende developer, met een website die geen miljoenen hits per dag zal genereren. In dit geval is het voldoende als de website het doet onder IE6, FireFox en Safari. Of er dan een DIV of een ander element staat doet er dan niet toe. Om dan gelijk over semantiek te blaten....

    Op een grote grafische websites omkom je hoe dan ook niet aan het gebruik van veel DIV blokken voor de opmaak.

    Overigens is het een goed verhaal wat je post, al vind ik het wel wat hypocriet als ik het homepage icoon naast je username aan klik...
    pi_55309661
    Als je die opmerking maakt over http://liebmi.ch/ dan vraag ik me toch af wat er zo hypocriet aan is Alle pagina's die daaronder vallen hebben maar 1 div op de pagina en dat is diegene om de adsense codeblokken te omvatten daar is momenteel geen betere tag voor. Dus ik vraag me af wat daar hypocriet aan zou zijn? Ze validaten en ik schrijf er zelfs over op mijn weblog :p

    Of is het hypocriet omdat die hele pagina maar twee plaatjes bevat? Ook zeer grafische sites zijn trouwens voor een groot gedeelte op te vullen met background images, etc. Een gallery bijvoorbeeld is een lijst van plaatjes en dus een ul, een tabbed navigatie is ook een ul (tot HTML5 dan hebben we nl). Ik geef natuurlijk ook gewoon toe dat er vaak situaties zijn waarin een div de beste keuze is! Ik geef ook toe dat je bij een sidebar op dit moment nog het beste een div kan gebruiken.

    Als je het hebt over het niet valideren van de pagina's daar dan moet ik je teleurstellen. Zelfs iemand zoals ik kiest er soms bewust voor om de standaarden niet na te leven voor het betere. Het is beter om je javascript onderaan de pagina in te laden omdat gebruikers dan niet lang hoeven te wachten als google weer eens niet reageert (een browser hangt op het laden van javascript, hij wacht dan totdat het binnen is omdat het eventueel gebruikt wordt om de pagina op te maken). Elke pagina met google adsense erop valideert niet als XHTML .

    Wat ik dan weer niet snap is dat mensen vaak een container div gebruiken als ze XHTML'en. Dan style je toch gewoon de html en body tags? Dat soort dingetjes vind ik persoonlijk wat suf

    Trouwens is dat mijn site niet valideert niet van invloed op sites die ik maak in opdracht. Mijn eigen site is een playground met de nieuwste technieken. Klantensites worden 99 uit de 100 keer in HTML 4.01 gemaakt. Mijn eigen site is in XHTML omdat ik dan lekker kan frutselen met MathML en SVG. Als het probleem oplevert wil ik er best een HTML 4.01 doctype overheen leggen, dan valideert ie wel

    [ Bericht 14% gewijzigd door colourAgga op 16-12-2007 12:08:37 ]
    pi_55310744
    Wat mij opvalt is dat je website inderdaad correct geschreven is, maar waar ik dan over val is dat het menu onder Safari niet correct werkt, en dat je een document.write in een XHTML pagina gebruikt.

    Het tweede is zo erg nog niet, maar het eerste is waar ik zelf wel over val. Je bent erg druk bezig geweest om de website semantisch correct te maken, maar als je volgens mijn standaard ontwikkeld had: Er voor zorgen dat de website het onder IE6, FireFox en Safari het goed doet, dan was je website nu voor een groter publiek toegankelijker gemaakt.

    Edit: Om maar te zwijgen van IE6 compatibility. Wat ondermeer fout gaat is dat je een alfatransparante PNG voor je body-background hebt gebruikt, terwijl dit prima een GIF had kunnen zijn. Daarnaast wordt zo te zien ook hier het menu niet correct getoond.

    [ Bericht 10% gewijzigd door Geqxon op 16-12-2007 12:48:50 ]
    pi_55310760
    quote:
    Op zaterdag 15 december 2007 23:55 schreef Geqxon het volgende:
    "Semantisch correct" is de grootste bullshit die ik ooit gehoord heb.
    ;')
    pi_55310918
    quote:
    Op zondag 16 december 2007 12:43 schreef Tuvai.net het volgende:

    [..]

    ;')
    Ik mag hopen dat mijn punt duidelijk is. Dat een website semantisch correct is biedt geen meerwaarde als de website in IE6 amper te openen is, en in Safari slecht gerendered wordt.

    Het is jammer dat IE6 erg ouderwets is, maar veel mensen gebruiken het, en mede daardoor is het vaak niet mogelijk een perfecte website te maken.
    pi_55312074
    Welke versie van safari gebruik jij dan? In 2.0.4 werkt het in ieder geval

    Verder ben ik bezig met de Google Ads ook XHTML 1.1 te maken, dat gaat via javascript en die javascript werkt weer alleen als er ook een application/xhtml+xml header wordt meegegeven, dat slikt IE overall niet en dat is tragisch. Dat is ook de reden dat ik wanneer je met IE kijkt andere headers moet sturen.

    Ik ben er nog mee aan het verfijnen en verwacht dat ik vanavond de site werkend heb in alle grote rendering engines (Webkit, Gecko en IE). Je kijkt nu feitelijk naar een template die nog niet helemaal af is. Wel bedankt dat je even IE6 aankaart. Ik zal daar even mee aan de slag en hoop dat ik dan vanavond eentje heb die wel naar believen werkt.

    Overigens is IE6 en retour. Sinds Microsoft IE7 ook vrij heeft gegeven voor de illegale windows versies neemt het marktaandeel snel toe
    pi_55312133
    Soms loont het om een website aan te passen naar de fouten in sommige browsers. Maar ik juich semantisch correcte en validerende websites erg toe, temeer omdat hoe meer mensen dit doen des te groter de kans wordt dat browsers dit goed gaan ondersteunen en wat strikter worden in het parsen van de DOM tree.

    Het afdoen van semantisch correctheid met 'bullshit' doet mij dan ook alleen getuigen van een gebrek aan inzicht - browsers kunnen op dergelijke sites veel beter de mogelijkheden benutten voor het weergeven (ook middels audio) en besturen van die sites.
    pi_55312605
    quote:
    Op zondag 16 december 2007 13:56 schreef JeRa het volgende:
    Het afdoen van semantisch correctheid met 'bullshit' doet mij dan ook alleen getuigen van een gebrek aan inzicht
    Inderdaad, XHTML is veel grotere bullshit dan semantisch correcte html
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_55314334
    In ieder geval, laten we weer verder gaan met PHP want daar is dit topic voor.

    Mensen nog gekeken naar die simpele template klasse? Kan die nog simpeler dan dit?
    pi_55314434
    Ik zou wel een voorbeeld template zien.
    De class zelf zegt mij niet zo veel, het gebruik er van zegt meer.

    En mag ik vragen waarom jij geen access control modifiers (public/protected/private) gebruikt?
    pi_55315543
    quote:
    Op zondag 16 december 2007 16:04 schreef colourAgga het volgende:
    In ieder geval, laten we weer verder gaan met PHP want daar is dit topic voor.

    Mensen nog gekeken naar die simpele template klasse? Kan die nog simpeler dan dit?
    1    function replace( $str_Needle, $str_Replacement, $bool_File = false )


    Dit vind ik een voorbeeld van bad coding practice. De parameter $bool_File geeft aan of de parameter $str_Replacement een replacement string bevat of de naam van een bestand dat je als replacement gebruikt. Waarom maak je daar niet gewoon 2 functies van, dat levert echt veel beter leesbare code op.
    Dat ik een hekel heb aan hungarian prefixes had ik al eerder gezegd.

    En kan het nog simpeler? Ja, Smarty gebruiken!
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      zondag 16 december 2007 @ 17:06:50 #278
    62215 qu63
    ..de tijd drinkt..
    pi_55315658
    Wat zijn hungarian prefixes
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_55315880
    Prefixes in de variable names waar je aan zou moeten kunnen zien wat voor type waarde er in de variable zit (object, boolean, string, int etc). Vrij gevaarlijk bij loosely typed languages zoals php omdat dat type nooit vaststaat.
      zondag 16 december 2007 @ 17:34:15 #280
    62215 qu63
    ..de tijd drinkt..
    pi_55316340
    quote:
    Op zondag 16 december 2007 17:15 schreef Farenji het volgende:
    Prefixes in de variable names waar je aan zou moeten kunnen zien wat voor type waarde er in de variable zit (object, boolean, string, int etc). Vrij gevaarlijk bij loosely typed languages zoals php omdat dat type nooit vaststaat.
    dus in str_Needle is str de 'hungarian prefix'
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_55316549
    quote:
    Op zondag 16 december 2007 17:34 schreef qu63 het volgende:

    [..]

    dus in str_Needle is str de 'hungarian prefix'
    Ja.
      zondag 16 december 2007 @ 18:27:05 #282
    62215 qu63
    ..de tijd drinkt..
    pi_55317328
    quote:
    Op zondag 16 december 2007 17:42 schreef Farenji het volgende:

    [..]

    Ja.
    en dat is stom omdat str_Needle ook iets anders kan zijn dan een string?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_55317384
    quote:
    Op zondag 16 december 2007 18:27 schreef qu63 het volgende:

    [..]

    en dat is stom omdat str_Needle ook iets anders kan zijn dan een string?
    Klopt. In PHP kun je sowieso niet eisen dat iets van een bepaald type is. Een integer meegeven als een string gevraagd wordt (of andersom) wordt gewoon toegestaan. Daarnaast is het stom, omdat je nu heel lastig van type kunt veranderen. Als je besluit dat iets van een int naar een double gaat, dan kun je alle verwijzingen naar die variabele gaan aanpassen.

    Kortom: niet doen.
    pi_55317751
    Ik heb een keer een PHP boek gelezen waar ze ook classes zo een naam gaven : 'clsFooBar';

    PHP 5 Super Boek was dat geloof ik.
    pi_55320424
    Of "iNumber"
    pi_55322331
    quote:
    Op zondag 16 december 2007 13:53 schreef colourAgga het volgende:
    Welke versie van safari gebruik jij dan? In 2.0.4 werkt het in ieder geval
    Safari 2 is wat achterhaald ondertussen. En in 3.0.4 werkt het menu niet goed, de >> die voor de tekst komen, zorgen ervoor dat de tekst naar de volgende regel gaat. Zonder dat het vakje groter wordt overigens. Maar dat had je zelf vast ook al wel gezien.
    pi_55322449
    quote:
    Op zondag 16 december 2007 17:15 schreef Farenji het volgende:
    Prefixes in de variable names waar je aan zou moeten kunnen zien wat voor type waarde er in de variable zit (object, boolean, string, int etc). Vrij gevaarlijk bij loosely typed languages zoals php omdat dat type nooit vaststaat.
    Nooit is ook niet helmaal meer waar in php5. Je kunt bij functies wel type hinting gebruiken voor objecten en arrays. Niet voor dingen als int of string.
    pi_55326091
    Weet iemand hoe ik alle 7 dagen van een bepaald weeknummer en jaartal kan verkrijgen?

    Ik gebruik op het moment het volgende stukje code:

    1
    2
    3
    4
    // Gegeven: $week (1-53), $year (1990 - 2100), $day (monday-sunday)
    $lastdaylastyear = mktime(0,0,0,12,31,$year-1);
    $lastdaylastweek = strtotime('+' . $week-1 . 'weeks', $lastdaylastyear);
    return strtotime("next " . $day, $lastdaylastweek) ;


    Het punt is echter dat deze natuurlijk niet werkt tijdens de jaarwisseling. Iemand? :)
    pi_55337745
    Type prefixes gebruik ik meestal omdat er normaal nog een verificatie klasse overheen gaat om te checken wat voor iets een variabele is met een hoop is_string en is_int. Is ook nog iets wat is blijven hangen bij mij van andere talen etc. etc. Kunnen jullie denk ik beter overheen kijken
    quote:
    Op zondag 16 december 2007 18:27 schreef qu63 het volgende:

    [..]

    en dat is stom omdat str_Needle ook iets anders kan zijn dan een string?
    Ik gebruik meestal:
    1
    2
    3
    4
    <?php
    $obj_Template
    ->replace'hoi''test' );
    $obj_Template->replace'test''hoi' );
    ?>

    En stop daar dus geen arrays in (ook al zou het kunnen).

    Iemand vroeg nog om een voorbeeld template. Klik hier. Verder is dit ding nog niet met access control modifiers. Die zal ik er even inzetten.

    Ik zal de hungarian prefixes er ook wel uithalen, is iets wat ik normaal gesproken voornamelijk voor mezelf gebruik omdat ik dan duidelijk maak wat ik opsla in een variabele Zelf ben ik het er niet mee eens dat het bad coding practice is. Het is pas bad coding practice als je er een gevoel van veiligheid aan gaat verbinden. Dat gaat in PHP namelijk niet op. Ik zet ze er alleen in zodat ik meteen weet wat er in een bepaalde variabele hoort te zitten.

    En de hele code aanvallen als je van int naar double gaat is ook niet zo lastig met een regular expression in VIM.

    Overigens heb ik dat template ding even gerecode met alle opmerkingen van hierboven meegenomen.

    [ Bericht 4% gewijzigd door colourAgga op 17-12-2007 15:38:08 ]
    pi_55338686
    quote:
    Op maandag 17 december 2007 00:13 schreef Geqxon het volgende:
    Weet iemand hoe ik alle 7 dagen van een bepaald weeknummer en jaartal kan verkrijgen?

    Ik gebruik op het moment het volgende stukje code:
    [ code verwijderd ]

    Het punt is echter dat deze natuurlijk niet werkt tijdens de jaarwisseling. Iemand?
    Deze is simpel aan te passen :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    function WeekCheck($date , $gid = ""){
        # huidige dag
        $currentDay = date ("w", $date);
       
        # om te beginnen wil ik de eerste dag van de week eruit halen (maandag)
        $monday = date("d", $date) - ($currentDay - 1);
        
        # maken van een array met daarin dagen en data van de huidige week (m tm f)
        for ($i=0; $i < 5; $i++){
            $day = mktime(0,0,0,date("m", $date),($monday + $i),date("y", $date));
            $week[$i] = date("d-m-Y", $day); 
        }
        
        return $week;
    }
    ?>
    pi_55341694
    quote:
    Op maandag 17 december 2007 15:27 schreef colourAgga het volgende:
    Ik zal de hungarian prefixes er ook wel uithalen, is iets wat ik normaal gesproken voornamelijk voor mezelf gebruik omdat ik dan duidelijk maak wat ik opsla in een variabele Zelf ben ik het er niet mee eens dat het bad coding practice is. Het is pas bad coding practice als je er een gevoel van veiligheid aan gaat verbinden.
    Mijn opmerking over bad coding practice ging neit over hungarian prefixes maar over de method replace() waarbij de betekenis van de 2e parameter sterk af hangt van de 3e parameter: de content zelf of de naam van een bestand waar de content in staat.

    Waarom gebruik je eigenlijk "if( $clean == true )"? Wat is er mis met "if( $clean )"? Klopt je clean() functie wel?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_55346651
    De replacement is of een tekst of de tekst uit een bestand. In dat geval wordt de replacement dus het bestand. Ik snap wat je bedoelt en hij zou ook in een losse functie kunnen. Ik vind hem daar lekkerder staan.

    De clean() functie doet het, niets meer en niets minder dan newlines en dubbele spaties strippen Omdat ik een $clean == true duidelijker vindt dan een ( $clean ). Persoonlijke voorkeur die bij iedereen anders is. Heel veel mensen zouden ook directory of configuration afkorten. Dingen die ik persoonlijk ook nooit doe.
    pi_55355905
    quote:
    Op maandag 17 december 2007 21:44 schreef colourAgga het volgende:

    De clean() functie doet het, niets meer en niets minder dan newlines en dubbele spaties strippen Omdat ik een $clean == true duidelijker vindt dan een ( $clean ). Persoonlijke voorkeur die bij iedereen anders is.
    Yep, we zijn allemaal anders. En da's maar goed ook. Bij vergelijken met een constante zou ik trouwens true == $clean schrijven, dan gaat php vanzelf zeuren als je een = vergeet. Het voorkomt vaag gedrag.
    pi_55356158
    quote:
    Op dinsdag 18 december 2007 10:46 schreef Light het volgende:

    [..]

    Yep, we zijn allemaal anders. En da's maar goed ook. Bij vergelijken met een constante zou ik trouwens true == $clean schrijven, dan gaat php vanzelf zeuren als je een = vergeet. Het voorkomt vaag gedrag.
    Das wel een goede tip. Ik ben zelf overigens gewend geraakt aan perl ranzigheid als "doSomething() unless $test;" of nog erger: "$test or doSomething();"
    pi_55357138
    Vies programmeren

    Net zoals ik soms als debugging ergens " if (isset($thisvarisprobarlyneverused)) " doe, wat prima ging, tot mijn collega voor de grap eens een variabele met exact deze naam had geinit. Lul
    pi_55359620
    quote:
    Op maandag 17 december 2007 21:44 schreef colourAgga het volgende:
    De clean() functie doet het, niets meer en niets minder dan newlines en dubbele spaties strippen
    Als er tussen 2 woorden eerst een regeleinde of 2 spaties staan dan staan ze daarna opeens aan elkaar vast. Lijkt me niet handig.
    quote:
    Omdat ik een $clean == true duidelijker vindt dan een ( $clean ). Persoonlijke voorkeur die bij iedereen anders is.
    Overbodig en dus lelijk vind ik
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_55359637
    quote:
    Op dinsdag 18 december 2007 10:58 schreef Farenji het volgende:

    [..]

    Das wel een goede tip. Ik ben zelf overigens gewend geraakt aan perl ranzigheid als "doSomething() unless $test;" of nog erger: "$test or doSomething();"
    Dat kan in php ook, doSomething() or die()
    Zelfde constructie, zelfde idee.
    pi_55360754
    Ik gebruik eigenlijk ook wel regelmatig false == $var. Vind ik er eigenlijk stiekem zelfs mooier eruit zien maar ik had het expres niet gedaan omdat het script dan weer 'onlogisch' is voor iemand die net PHP kijkt
    pi_55361828
    Maak er dan true == (false == $var) van
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_55362580
    quote:
    Op dinsdag 18 december 2007 14:48 schreef SuperRembo het volgende:
    Maak er dan true == (false == $var) van
    Daar zou je dan weer wel een functie voor kunnen schrijven
    true_false_var() ofzo, duidelijk wat die doet toch?
    pi_55364727
    Ik ben serieus eens in legacy code een functie: stripSlashesDoublequotesSinglequotesSemicolonsBracketsPointsPipesNumbers(). Tegen.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')