http://nl2.php.net/class is een hele goede om mee te beginnenquote: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?
Daarnaast zijn deze ook erg handig: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
Ik doelde eingelijk meer op een functie dat van het volgende voorbeeldquote:
1 2 3 4 5 6 7 8 9 10 | "ae" => "United Arab Emirates", "af" => "Afghanistan", "ag" => "Antigua and Barbuda", "ai" => "Anguilla", "al" => "Albania", "am" => "Armenia", "an" => "Netherlands Antilles", "ao" => "Angola", "aq" => "Antarctica", |
1 2 3 4 5 6 7 8 9 10 | "ae" => "United Arab Emirates", "af" => "Afghanistan", "ag" => "Antigua and Barbuda", "ai" => "Anguilla", "al" => "Albania", "am" => "Armenia", "an" => "Netherlands Antilles", "ao" => "Angola", "aq" => "Antarctica", |
htmlentities?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?
moet daar dan nog iets achter? Zie http://nl2.php.net/manual/en/function.htmlentities.php hier dat er de nodige aanvullingen kunnen zijn..quote:
Probeer eerst maar gewoon eensquote: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..
1 2 3 | htmlentities($string); ?> |
Er zit ook html in de database.. Die wordt dan ook omgezet naar tekst.. en das niet de bedoeling..quote:Op dinsdag 4 december 2007 16:07 schreef JortK het volgende:
[..]
Probeer eerst maar gewoon eens
[ code verwijderd ]
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.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?
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?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 wordt volgens mij een lastig verhaalquote: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?
Tja, dat is en blijft de vraag hé.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.
Ik ben altijd ervoor om je database relationeel te houden.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?
En hier istie dan, als iemand er nog nut voor zietquote:Op dinsdag 4 december 2007 21:21 schreef Chandler het volgende:
Tnx Aquaatje, ik zal even een routine schrijven.
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 | 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], $y, 1) != " ") { $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], $remove, strlen($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($str, checkSpaces($str)); </pre> ?> |
Het kan in ieder geval ietsje korterquote: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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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; } ?> |
1 2 3 4 5 6 7 8 9 10 11 | 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." |
1 2 3 4 5 6 7 8 | 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 |
Zoiets?quote:Op woensdag 5 december 2007 21:59 schreef Geqxon het volgende:
Een enorm simpele vraag...
1 2 3 4 5 | 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." |
Er zijn clients zonder aanmaakdatum, dit is uit een oude systeemmigratie. Om deze uit het logboek te vermijden staat er deze CASE bij.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)
Dan moet je gewoon een union / union all gebruiken.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 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.
Top! Union was exact wat ik zocht. Dank u.quote:Op donderdag 6 december 2007 00:12 schreef SuperRembo het volgende:
[..]
Dan moet je gewoon een union / union all gebruiken.
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.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?
Het totaalproduct, mocht dat het duidelijker maken. Het product van drie (in de applicatie vijftien) verschillende queries: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.
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 | +-----------------------------------+------------+ |
1 2 3 4 | $query = mysql_query("SELECT * FROM vrijwilligers_gegevens WHERE YEAR(datum) = YEAR('$jaar') AND geslacht = '$geslacht' AND nationaliteit = '$nationaliteit' AND YEAR(geboortedatum) = YEAR('$geboortedatum')"); ?> |
1 2 3 4 5 6 7 8 9 | 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); ?> |
Klopt, die van mij had nog iets beter gekundquote: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.
Vraagje; hoe zou je kunnen controlleren of een regel leeg is? in de zin van er zit een enter in je codequote: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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | moi hoi lol test test test tes hello world moi hoi lol test test test tes"; |
Wat dan als er alleen een spatie op een regel staat, dan matcht ie al niet meer maar het is wel een lege regel.quote:Op donderdag 6 december 2007 20:47 schreef HuHu het volgende:
Matchen op een dubbele \n, dus \n\n.
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.quote:Op woensdag 5 december 2007 11:30 schreef JortK het volgende:
[..]
Dat wordt volgens mij een lastig verhaal
Door (bijvoorbeeldquote: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?
";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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; } ?> |
Werkt idd helemaal perfect, nu heb ik nog 1 andere vraag.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 ]
Daar zou ik dan maar eens wat aan doen, een programmeur kan niet zonder.quote:Op vrijdag 7 december 2007 10:37 schreef Chandler het volgende:
* Chandler verstopt zich, snapt amper een bal van regex...
Post eens wat goede danquote: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.
Het is ook een van de leukere dingen, vind ikquote: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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <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> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $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>'; ?> |
1 2 3 | ...($arraynaam = mysql_fetch_array($result)... ?> |
1 2 3 | $veld1 = $arraynaam['veld1']; ?> |
Zal het straks direct uitproberen, bedankt!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.
1 2 3 | echo '<tr><td>Veld 1<br />Veld2</td><td>'.$veld1.'<br />'.$veld2.'</td></tr>'; ?> |
1 2 3 4 5 6 7 8 9 10 | <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> |
1 2 3 4 5 6 | ID Prijs Omschrijving ------------------------------- 1 9,95 Omschrijving 1 2 8,95 Omschrijving 2 3 12,95 Omschrijving 3 |
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 ------------------------------- |
Dan zal het als nog niet werken, dan krijg ik alles onderelkaar, dus per TR krijg ik dan 1 TD.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 :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <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> |
1 2 3 4 5 6 7 8 | <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> |
1 2 3 4 5 6 7 | | x | x | x | |------------ | x | x | x | |------------ | x | | | ------------ |
1 |
Met dat ie een white-space character niet pakt, bedoel je dan dat je [.- ] hebt geprobeerd?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 welquote: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. :)
1 |
quote:Op dinsdag 11 december 2007 14:00 schreef Geqxon het volgende:
Heb je al eens wildcats geprobeerd? % ?
1 2 3 4 5 6 | # arghh... mysqldump: Couldn't find table: "PPD%" mysqldump -u user -p -B mydb --no-data --where='tables LIKE "XXX%"' # dumpt gewoon de hele DB |
1 |
Heb het in de shell gedaan:quote:Op dinsdag 11 december 2007 14:20 schreef Farenji het volgende:
Ik zou hier een simpel perl scriptje voor schrijven...
1 2 | show tables; |
1 2 | xargs echo mysqldump -u root -p mydb --no-data --tables |
ActiveState perl is er voor windows bakkenquote: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.
Ik gebruik daar altijd Powerpoint voor, dan maak ik een printscreen van die sheet en die plak ik in wordquote: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?
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?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
Hmmz kan ik inderdaad ook nog wel eens proberen..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".
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 mailenquote: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?
Start een mysql console en tik in "grant all on mm2_users.* to <username>@localhost identified by '<password>';"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
Crontab is het mechanisme onder unix/linux om periodiek / om de zoveel tijd een bepaald commando uit te voeren.quote:# Add a crontab for recenttracker.php.
dan krijg ikquote: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.)
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 isquote: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!
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.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
http://www.flexwebhosting.nl/hosting.htmlquote: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.
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.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?
ik heb ook wel eens een site gemaakt op een server van flexweb. deze bieden geen shell aan..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.
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 doenquote: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.
Ondanks dat het een simpel voorbeeld is, of juist omdat het een voorbeeld is, heb ik er wel wat op aan te merken.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.
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 | <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 --> |
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 | 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; |
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 gezegdquote: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).
1 |
1 |
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.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
Die snap ik niet? Hoezo naar boven halen?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.
Al je referenties naar css files in de <head> zetten, bovenin dus.quote:Op zaterdag 15 december 2007 19:02 schreef RHCPeter het volgende:
[..]
Die snap ik niet? Hoezo naar boven halen?
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.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 graagH
Bij de link die ik je gaf is je website compleet XHTML compatible: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
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.quote:Op zaterdag 15 december 2007 23:55 schreef Geqxon het volgende:
"Semantisch correct" is de grootste bullshit die ik ooit gehoord heb.
bronquote: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.
quote:Op zaterdag 15 december 2007 23:55 schreef Geqxon het volgende:
"Semantisch correct" is de grootste bullshit die ik ooit gehoord heb.
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.quote:
Inderdaad, XHTML is veel grotere bullshit dan semantisch correcte htmlquote: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
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 |
dus in str_Needle is str de 'hungarian prefix'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.
Ja.quote:Op zondag 16 december 2007 17:34 schreef qu63 het volgende:
[..]
dus in str_Needle is str de 'hungarian prefix'
en dat is stom omdat str_Needle ook iets anders kan zijn dan een string?quote:
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.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?
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.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
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.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.
1 2 3 4 | $lastdaylastyear = mktime(0,0,0,12,31,$year-1); $lastdaylastweek = strtotime('+' . $week-1 . 'weeks', $lastdaylastyear); return strtotime("next " . $day, $lastdaylastweek) ; |
Ik gebruik meestal: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?
Deze is simpel aan te passenquote: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?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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; } ?> |
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.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 variabeleZelf 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.
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.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 strippenOmdat ik een $clean == true duidelijker vindt dan een ( $clean ). Persoonlijke voorkeur die bij iedereen anders is.
Das wel een goede tip. Ik ben zelf overigens gewend geraakt aan perl ranzigheid als "doSomething() unless $test;" of nog erger: "$test or doSomething();"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.
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: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![]()
Overbodig en dus lelijk vind ikquote:Omdat ik een $clean == true duidelijker vindt dan een ( $clean ). Persoonlijke voorkeur die bij iedereen anders is.
Dat kan in php ook, doSomething() or die()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();"
Daar zou je dan weer wel een functie voor kunnen schrijvenquote:Op dinsdag 18 december 2007 14:48 schreef SuperRembo het volgende:
Maak er dan true == (false == $var) van
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |