Dan vraag je toch niet om enters weergeven Maar goed, dan zal minq opzoek zijn naar EOL'squote:Op dinsdag 26 augustus 2008 16:13 schreef JortK het volgende:
Ik kan me best voorstellen dat je zaken niet in de browser hoeft te zien, je kan namelijk ook PHP schrijven die niets hoeft te laten zien, zoals ik zelf met een data mining project bezig ben waarbij er geen output op het scherm komt maar alles in een database geknald word
Nee hoor. Daarom heb ik dos2unix tools nodig om die ^M characters weg te halen uit files die vanuit Windows aangemaakt worden....quote:Op dinsdag 26 augustus 2008 16:21 schreef Swetsenegger het volgende:
[..]
Dan vraag je toch niet om enters weergeven Maar goed, dan zal minq opzoek zijn naar EOL's
tip daarvoor, gebruik gewoon altijd \r\n, werkt op elk OS goed.
Hier ook. De meeste webservers gebruiken Linux, ken niemand met Windows die voor ieder bestand voor 'ie het gaat uploaden de regeleindes moet converteren.quote:Op dinsdag 26 augustus 2008 16:25 schreef Swetsenegger het volgende:
Mijn windows aangemaakte PHP's werken prima op een OSX php installatie en op een linux installatie. Inclusief \r\n
Nee klopt, ook in mailbody's en dergelijke gebruik ik gewoon \r\n en dat gaat altijd goed, ook als die mail op een OSX systeem binnen komt. Ik heb die tip ook ergens van een developper site getrokken. Zo van, de quick & dirty methode is gewoon altijd \r\n gebruiken dat werkt prima op elk OS. Tot op heden ben ik er geen probleem mee tegen gekomen, en ik ontwikkel altijd door elkaar op windows en OSX.quote:Op dinsdag 26 augustus 2008 16:31 schreef CraZaay het volgende:
[..]
Hier ook. De meeste webservers gebruiken Linux, ken niemand met Windows die voor ieder bestand voor 'ie het gaat uploaden de regeleindes moet converteren.
Uploaden met FTP in ASCII mode.quote:Op dinsdag 26 augustus 2008 16:31 schreef CraZaay het volgende:
[..]
Hier ook. De meeste webservers gebruiken Linux, ken niemand met Windows die voor ieder bestand voor 'ie het gaat uploaden de regeleindes moet converteren.
Dan is het niet meer portable denk ikquote:Op dinsdag 26 augustus 2008 17:29 schreef Xcalibur het volgende:
Zinloze discussie over het weergeven van linebreaks zeg![]()
@Swets: waarom wil je die dingen in je database zetten? Waarom sla je niet gewoon de locatie van het bestand op?
OMdat ze al fysiek op een locatie staan van gemapte schijven en die locatie kan wijzigen. Om ze nu op een andere server weer fysiek weg te zetten is niet handig, dus vandaar in een blob. Maar ik ga wel eens kijken of het anders kanquote:Op dinsdag 26 augustus 2008 17:29 schreef Xcalibur het volgende:
Zinloze discussie over het weergeven van linebreaks zeg![]()
@Swets: waarom wil je die dingen in je database zetten? Waarom sla je niet gewoon de locatie van het bestand op?
Het gaat mis met bijzondere tekens. Ik heb al gevonden op internet dat dat een bug lijkt te zijn in php 4.x Ik heb dus vandaag de server geupdate morgen even kijken of het nu wel werkt. Zo niet, ga ik toch kijken of ik relatief naar filesystem kan linken.quote:Op dinsdag 26 augustus 2008 18:38 schreef SuperRembo het volgende:
@Swetsenegger
Ik weet niet wat je nu voor "oplossing" hebt, maar addslashes() is als je met MSSql werkt so wie so zinloos. (In MSSql moet je een ' niet escapen met een \ maar met een '). M<et base64 omzelf je dat, maar efficient is 't zeker niet.
In MySQL eigenlijk stiekem ook toch, ook al gebruikt iedereen backslashes?quote:Op dinsdag 26 augustus 2008 18:38 schreef SuperRembo het volgende:
(In MSSql moet je een ' niet escapen met een \ maar met een ').
Dat wist ik niet, maar het werkt inderdaad op beide manieren.quote:Op dinsdag 26 augustus 2008 20:08 schreef CraZaay het volgende:
[..]
In MySQL eigenlijk stiekem ook toch, ook al gebruikt iedereen backslashes?
Document wellformdness nagekeken?quote:Op dinsdag 26 augustus 2008 23:23 schreef ursel het volgende:
Is er trouwens iemand een beetje bekend met Smarty, of heeft iemand anders een verklaring voor het volgende:
De klant logt in op de test-site. Alles werkt goed qua lay-out. Echter, als hij naar het beheer van de site gaat zou hij een lijst moeten zijn met alle pagina's die er zijn. Maar dat ziet hij dus niet.
Heb voor gemak even snel in een table geknalt om verder te testen en deze table een border gegeven. Dat ziet hij allemaal, echter de desbetreffende tekst en lijst met alle pagina's niet.
Hij ziet dus alleen een lege table en wel de borders van deze table.
Log ik nu in op de site met zijn inlog gegevens, dan zie ik wel alles gewoon..
Het ligt dus niet aan het user profiel.
Nu weet ik wel dat hij op een wat ouderen IE draait (IE6 en Win 2000), maar dat kan toch geen reden van dit probleem zijn??
Kan je dan niet beter het pad naar de schijf in de config zetten ofzo?quote:Op dinsdag 26 augustus 2008 18:18 schreef Swetsenegger het volgende:
OMdat ze al fysiek op een locatie staan van gemapte schijven en die locatie kan wijzigen. Om ze nu op een andere server weer fysiek weg te zetten is niet handig, dus vandaar in een blob. Maar ik ga wel eens kijken of het anders kan
Vergeten te melden dat ik dat geinstalleerd heb en ermee getest..quote:Op dinsdag 26 augustus 2008 23:56 schreef frenchfries het volgende:
http://tredosoft.com/Multiple_IE is daar handig voor.
Wat je kan doen is vragen of hij de bron van de pagina een keer door wil sturen, als die gewoon overeen komt met die die jij hebt, ligt het in ieder geval aan een verschil aan de client-side.
Gevaar hierbij is wel dat als je een kopie van de DB verplaatst naar je andere omgeving dat je dan niet moet vergeten dit ook aan te passen mocht de 2 locaties niet identiek zijn.quote:Op woensdag 27 augustus 2008 08:27 schreef Xcalibur het volgende:
[..]
Kan je dan niet beter het pad naar de schijf in de config zetten ofzo?
Zodat je die alleen hoeft te wijzigen als het nodig is, of wisselt het te onvoorspelbaar daarvoor?
Mja, daarom snap ik het ook niet..quote:@ursel: lijkt me geen Smarty probleem, maar gewoon HTML
Ik heb hetzelfde probleem gehad met een LI met floatende elementen erin, waarbij ik van de UL een Scriptaculous Sortable had gemaakt (javascript dus). Daar viel ineens de content van de spans weg in IE6. FF2/3 en IE7 was niks aan de hand
1 2 3 4 5 6 7 8 | $getal = (int)$_POST['dag']; if ($dag >= 1 && $dag <= 31) { // De dag is goed } else { // De dag is niet goed } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function toJsArray($arr) { $num = count($arr); $str = ""; $x = 0; foreach ($arr AS $id => $key) { $x++; $str .= "[" . $id . "," . $key . "]" . (($x < $num) ? "," : ""); } return $str; } ?> |
1 2 3 4 5 6 7 8 9 10 11 | function toJsArray($arr) { $str = ''; foreach ($arr AS $id => $key) { $str .= '[' . $id . ',' . $key . '],'; } return substr($str, 0, -1); } ?> |
1 2 3 4 5 6 7 8 9 10 | function toJsArray($arr) { $result = array(); foreach ($arr as $id => $key) { $result[] = '[' . $id . ',' . $key . ']'; } return implode(',', $result); } ?> |
1 2 3 4 5 6 7 | function toJsArray($ar) { foreach($ar as $k => &$it) $it="[{$k}, {$it}]"; return join(', ',$ar); } ?> |
Ik weet niet wat je van plan bent, maar als het de bedoeling is om die array in javascript te gebruiken kan json_encode() erg handig zijn.quote:Op woensdag 27 augustus 2008 21:05 schreef Chandler het volgende:
Iemand een idee hoe ik het volgende simpel kan realiseren?
Stel ik heb een array
$arr = array(1 => 20, 2 => 32, 3 => 12, 4 => 40, 5 => 25, 6 => 75);
en ik wil dit zo in een string krijgen
[1, 29], [2, 32], [3, 12], [4, 40], [5, 25], [6, 75]
Ik zou welquote:Op woensdag 27 augustus 2008 19:26 schreef HuHu het volgende:
[ code verwijderd ]
Je kunt dit ook in de HTML al een beetje doen door de gebruiker geen tekstveld te geven die hij kan invullen, maar een drop-down box waarin alleen de getallen 1 t/m 31 staan. Dat is alleen niet genoeg, maar voorkomt wel fouten.
en een is_numeric() test erbij gooien zodat je geen warnings krijgt op je int conversie.. en dus de user kan teruggooien naar je input scherm ofzo.quote:
Ik vind het overigens erg verwarrend dat de value in je foreach key noemt, in plaats van de keyquote:Op woensdag 27 augustus 2008 21:05 schreef Chandler het volgende:
Iemand een idee hoe ik het volgende simpel kan realiseren?
Stel ik heb een array
$arr = array(1 => 20, 2 => 32, 3 => 12, 4 => 40, 5 => 25, 6 => 75);
en ik wil dit zo in een string krijgen
[1, 29], [2, 32], [3, 12], [4, 40], [5, 25], [6, 75]
want nu doe ik het zo:
[ code verwijderd ]
Of gewoon intval() gebruiken.quote:Op donderdag 28 augustus 2008 01:51 schreef slakkie het volgende:
[..]
en een is_numeric() test erbij gooien zodat je geen warnings krijgt op je int conversie.. en dus de user kan teruggooien naar je input scherm ofzo.
Schopje.quote:Op donderdag 21 augustus 2008 21:16 schreef Xcalibur het volgende:
ik probeer PostgreSQL te installeren, maar m'n PHP begrijpt het niet![]()
PostgreSQL draait op zich prima, ik heb de bijbehorende DLL in m'n extensionmap staan, maar als ik de regel in php.ini uitcomment krijg ik de melding "Unable to load dynamic library". Ik weet zeker dat het pad goed is, bovendien heb ik geexpirimenteerd met verschillende versies van het bestand wat me verschillende foutmeldingen heeft opgeleverd...
Mis ik een ander bestand? Moet ik een bepaalde versie hebben? Moet er nog iets in m'n php.ini gebeuren?
Onder Windows neem ik aan, staat het path goed?quote:Op donderdag 28 augustus 2008 19:49 schreef Xcalibur het volgende:
[..]
Schopje.
Dit werkt nog steeds niet?
Het mag dan wat verwarrend zijn, maar hoe je het ook noemt het gaat om de outputquote:Op donderdag 28 augustus 2008 09:00 schreef Xcalibur het volgende:
Ik vind het overigens erg verwarrend dat de value in je foreach key noemt, in plaats van de key
Niemand die hier iets op weet? Of een andere manier om een INSERT te voorkomen middels MySQL?quote:Op donderdag 21 augustus 2008 19:04 schreef HuHu het volgende:
Weet iemand of het mogelijk is met MySQL middels een TRIGGER een INSERT te voorkomen?
Dus iets als:
[ code verwijderd ]
Een DELETE bij een AFTER INSERT gaat niet, omdat de zojuist ingevoegde rij dan nog gelocked is.
$_ENV['path'] toont dat ook (staat hier op oa. d:\program files (x86)\php)? Dat is een van de weinige dingen die fout kan gaan. Hier draait postgresql prima onder de php-5.2.5 win32 binary.quote:Op donderdag 28 augustus 2008 20:29 schreef Xcalibur het volgende:
Ah, die path. Ja, die staat ook goed
Hoe heb je die zo snel gevonden... ik kon niets vinden met Google. Zat waarschijnlijk weer op de verkeerde woorden te zoekenquote:Op vrijdag 29 augustus 2008 09:32 schreef GlowMouse het volgende:
[..]
$_ENV['path'] toont dat ook (staat hier op oa. d:\program files (x86)\php)? Dat is een van de weinige dingen die fout kan gaan. Hier draait postgresql prima onder de php-5.2.5 win32 binary.
HuHu: http://www.brokenbuild.co(...)lete-with-a-trigger/
http://www.google.nl/search?hl=nl&safe=off&q=mysql+abort+insert&btnG=Zoeken&meta=quote:Op vrijdag 29 augustus 2008 09:41 schreef HuHu het volgende:
[..]
Hoe heb je die zo snel gevonden... ik kon niets vinden met Google. Zat waarschijnlijk weer op de verkeerde woorden te zoeken.
Maar het is wel een beetje vieze manier, er is dus blijkbaar geen nette oplossing. Zelf had ik het nu al opgelost door ongeldige waarden in een kolom te stoppen, waardoor er een error optrad die vervolgens werd genegeerd. Eens kijken of deze manier geen error oplevert, dat is dan wel beter.
Ja:quote:Op vrijdag 29 augustus 2008 09:32 schreef GlowMouse het volgende:
[..]
$_ENV['path'] toont dat ook (staat hier op oa. d:\program files (x86)\php)? Dat is een van de weinige dingen die fout kan gaan. Hier draait postgresql prima onder de php-5.2.5 win32 binary.
1 2 3 4 5 6 7 8 9 10 11 12 13 | fish.user_id, fish.catchdate, fish_categories.name, users.username, media.id AS photo_id FROM fish LEFT JOIN users ON users.id = fish.user_id LEFT JOIN media ON media.source_id = fish.id LEFT JOIN fish_categories ON fish_categories.id = fish.fish_id GROUP BY fish.id ORDER BY fish.id DESC LIMIT 0,4 |
1 2 3 4 | 1 SIMPLE users ref id id 4 nl_visfreaks.fish.user_id 2 1 SIMPLE media ALL NULL NULL NULL NULL 135 1 SIMPLE fish_categories ref id id 4 nl_visfreaks.fish.fish_id 8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | fish.user_id, fish.catchdate, fish_categories.name, users.username, media.id AS photo_id FROM fish FORCE INDEX(id) LEFT JOIN users ON users.id = fish.user_id LEFT JOIN media ON media.source_id = fish.id LEFT JOIN fish_categories ON fish_categories.id = fish.fish_id GROUP BY fish.id ORDER BY fish.id DESC LIMIT 0,4 |
Nu zie ik dat de voorbeelden andersom moesten, dan klopt het!quote:The name index is an index over the last_name and first_name columns. The index can be used for queries that specify values in a known range for last_name, or for both last_name and first_name. Therefore, the name index is used in the following queries
Als je een index hebt op (lastname, firstname) dan kun je queries doen als:quote:Op zondag 31 augustus 2008 22:04 schreef Chandler het volgende:
In het voorbeeld dat ik net las stond het volgende:
[..]
Nu zie ik dat de voorbeelden andersom moesten, dan klopt het!
nog een mooie quote:
MySQL cannot use an index if the columns do not form a leftmost prefix of the index gewoon index volgen in je where parameters beginnend van links naar rechter en eventueel meer toevoegen... ?
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE UNIX_TIMESTAMP( stats_ip_link.lastdate ) > ( UNIX_TIMESTAMP( NOW( ) ) - ( 60 *15 ) ) GROUP BY stats_ip_link.stat_id |
1 2 3 | 1 SIMPLE stats_ip_link ALL NULL NULL NULL NULL 70168 Using where; Using temporary; Using filesort 1 SIMPLE stats_ip eq_ref PRIMARY PRIMARY 4 gfxstatcom_db.stats_ip_link.ip_id 1 Using index |
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE UNIX_TIMESTAMP( stats_ip_link.lastdate ) > ( UNIX_TIMESTAMP( NOW( ) ) - ( 60 *15 ) ) GROUP BY stats_ip_link.stat_ |
En die query moet ook wachten als de tabel geüpdatet wordt, dus dat kan wel wat traagheid veroorzaken, maar met een rij of 80 is het anders heel snel als die index benut kan worden.quote:Die index moet wel benut kunnen worden, en als je een functie op een kolom loslaat, kan dat niet meer. Zelf werk ik altijd met unix timestamps in een database, maar jouw aanpak moet ook kunnen werken. Kun je niet iets doen als lastdate > mysqls datetime formaat van 15 minuten geleden?
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE stats_ip_link.lastdate > ....... GROUP BY stats_ip_link.stat_id |
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE stats_ip_link.lastdate > ( NOW( ) - ( 60 *15 ) ) GROUP BY stats_ip_link.stat_id |
1 2 3 4 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE stats_ip_link.lastdate > ( NOW( ) - ( 60 *15 ) ) |
http://bitfilm.net/2007/08/25/choosing-optimal-mysql-data-types/quote:TIMESTAMP requires 4 bytes.
DATETIME requires 8 bytes.
1 2 3 4 5 | RewriteBase /project RewriteCond %{REQUEST_FILENAME} \.^(gif|jpe?g|png)$ [NC] RewriteRule ^([A-Za-z0-9-\-.\/]+)$ index.php?input=$1 |
En waarom zou je dat dan willenquote:Op maandag 1 september 2008 18:45 schreef Xcalibur het volgende:
Je kunt geen twee timestamps in 1 tabel gebruiken... in ieder geval geen timestamps die automatisch geupdate worden iig.
1 2 | modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
Vreemd. Maar dan maak je gewoon 1 autoupdate kolom (modified) en de ceated insert je zelf. (Dat insert statement heb je uiteraard maar op 1 plaats staan, dus dat pas je ze aanquote:MySQL said:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Wat is het nut van twee kolommen waar altijd dezelfde waarde in staat?quote:Op maandag 1 september 2008 20:00 schreef Chandler het volgende:
je kunt wel twee timestamps gebruiken maar zit er een máár aan!. De eerste timestamp zal automatisch geupdated worden en de tweede niet, beetje vervelend![]()
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |