Waarom niet timestamp? Met datetime moet je eerst alles door strtotime() halen voor je date() kan gebruiken?quote:Op dinsdag 1 mei 2007 16:50 schreef hornage het volgende:
datetime dus
Kan toch ook gewoon met timestamp?quote:Op dinsdag 1 mei 2007 17:19 schreef Geqxon het volgende:
Zodat je in je queries kan rekenen.
Volgens mij kun je dan direct in de query al op eigenschappen filteren als "gisteren" of "over een jaar"quote:
Dat is zeer zeker waar. Echter zijn dat ook dingen die je vantevoren in PHP kunt doen. Een timestamp neemt als unsigned int maar 4 bytes in beslag, terwijl een datetime 8 bytes in beslag neemt. Een index op een unsigned int is daardoor ook nog eens kleiner (en waarschijnlijk sneller). Verder kun je je afvragen of je de presentatie al op databaseniveau wilt doen, of juist in de presentatielaagquote:Op woensdag 2 mei 2007 00:36 schreef Geqxon het volgende:
[..]
Volgens mij kun je dan direct in de query al op eigenschappen filteren als "gisteren" of "over een jaar"
Precies, als je dan toch met PHP werkt kan het inderdaad vaak makkelijker om met timestamps te werken. Strtotime is een mooie functie waar je simpelweg "-1 day" als string in kan voeren.quote:Op woensdag 2 mei 2007 00:44 schreef JeRa het volgende:
[..]
Dat is zeer zeker waar. Echter zijn dat ook dingen die je vantevoren in PHP kunt doen. Een timestamp neemt als unsigned int maar 4 bytes in beslag, terwijl een datetime 8 bytes in beslag neemt. Een index op een unsigned int is daardoor ook nog eens kleiner (en waarschijnlijk sneller). Verder kun je je afvragen of je de presentatie al op databaseniveau wilt doen, of juist in de presentatielaagik zie persoonlijk een RDMBS als een opslagplatform waarbij de datatypen het liefst zo simpel en klein mogelijk zijn.
1 |
Zo had ik het ook op php.net gevonden...maar dat werkt helaas nietquote:
1 2 3 4 5 | header("Content-Type: audio/mpeg"); header("Content-Disposition: attachment; filename=$file"); readfile('blablabla.mp3'); ?> |
1 2 3 | "Hans" . $tussennaam . "Dieter" ?> |
Jep je hebt gelijk. Had die quotes ook al gelijk aangepast, maar het werkte toen alsnog niet...quote:Op woensdag 2 mei 2007 12:18 schreef Geqxon het volgende:
Je moet even oppassen dat je quotes 100% zoals op bovenstaand voorbeeld typt, daarnaast raad ik je aan een constructie als:
[ code verwijderd ]
te gebruiken om de variabele in de string te verwerken.
Mooi! Met deze doet ie wel wat ik wil.quote:Op woensdag 2 mei 2007 12:19 schreef ViPeRII het volgende:
Voorbeeltje voor H4ze:
<?php
$filename = "theDownloadedFileIsCalledThis.mp3";
$myFile = "/absolute/path/to/my/file.mp3";
$mm_type="audio/mpeg";
header("Cache-Control: public, must-revalidate");
header("Pragma: hack");
header("Content-Type: " . $mm_type);
header("Content-Length: " .(string)(filesize($myFile)) );
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary");
readfile($myFile);
?>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $filename = "theDownloadedFileIsCalledThis.mp3"; $myFile = "/absolute/path/to/my/file.mp3"; $mm_type="audio/mpeg"; header("Cache-Control: public, must-revalidate"); header("Pragma: hack"); header("Content-Type: " . $mm_type); header("Content-Length: " .(string)(filesize($myFile)) ); header('Content-Disposition: attachment; filename="'.$filename.'"'); header("Content-Transfer-Encoding: binary"); readfile($myFile); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $output = ""; $gegevens = array( array("Voornaam" => "Ans" , "Achternaam" => "Albrechts"), array("Voornaam" => "Bram" , "Achternaam" => "Bertus"), array("Voornaam" => "Carol" , "Achternaam" => "Cyprus"), array("Voornaam" => "Dieter", "Achternaam" => "de Vries"), ); foreach ($gegevens as $persoon){ $output .= """ . $persoon['Voornaam'] . "";"" . $persoon['Achternaam'] . ""n"; } header('Content-type: application/csv'); header('Content-Disposition: attachment; filename="bedrijfsgegevens '.date("H_i - d-m-Y",time()).'.csv"'); echo $output; ?> |
1 2 3 4 5 | FROM movies m JOIN binding b ON m.id = b.movie JOIN actors a ON b.actor = a.id WHERE m.id =1 |
1 2 3 | Titanic Bootje zinkt Leonardo di Caprio Titanic Bootje zinkt Kate Winslet |
1 2 | Titanic Bootje zinkt Leonardo di Caprio Kate Winslet |
Dat is ook onderdeel van het gebrek aan informatiequote:Op woensdag 2 mei 2007 23:01 schreef Piles het volgende:
Ik zou het oplossen met 2 queries: 1 voor de film zelf, en 1 voor de acteurs bij die film. Lijkt me het snelst/handigst toch?
Mjah ik bedacht me dat ik dan met een extra loopje door de variabele velden kan lopen. Dan hoef ik me niet druk te maken over 'in welke film zit ik nu'quote:Op woensdag 2 mei 2007 23:04 schreef JeRa het volgende:
@George.W.Bush
Ik zie twee oplossingen op dit ogenblik. Eén oplossing vereist dat jij gaat specificeren wat je nu precies wilt, wil je echt een variabel aantal kolommen terugkrijgen?
Ik wil het uiteraard presenteren per film. Met bovenstaande query moet ik me dus in php bezig gaan houden of de filmnaam nog gelijk is aan het vorige rondje. En zo ja, dan de gevonden acteur in de tabel spugen, en zo nee de row afsluiten en een nieuwe row aanmaken.quote:Wat is er precies mis met de 'per acteur een record' methode?
Ik ben even snel wat in elkaar an het zetten voor een familielid.... Ik doe het wel met de 'record per acteur' methode.quote:De andere oplossing omvat overstappen op een andere RDBMS die custom group aggregate functions ondersteunt zodat je je acteurs in één veld kunt samenvatten, bijvoorbeeld in een comma separated list
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | m.title, m.description, GROUP_CONCAT(a.name) FROM movies m JOIN binding b, actors a ON m.id = b.movie AND b.actor = a.id GROUP BY m.id |
Ik wil inderdaad een beetje rekening houden met performance.quote:Op woensdag 2 mei 2007 23:05 schreef JeRa het volgende:
[..]
Dat is ook onderdeel van het gebrek aan informatieals het om één film gaat die GWB wil opvragen, dan is dat inderdaad een goede oplossing. Gaat het om meerdere films dan wordt het al gauw slechter.
Twee queries? Eerst alle films opvragen, en daarna aan de hand van het film-id alle acteurs erbij opvragen?quote:Op woensdag 2 mei 2007 23:10 schreef George.W.Bush het volgende:
Ik wil het uiteraard presenteren per film. Met bovenstaande query moet ik me dus in php bezig gaan houden of de filmnaam nog gelijk is aan het vorige rondje. En zo ja, dan de gevonden acteur in de tabel spugen, en zo nee de row afsluiten en een nieuwe row aanmaken.
*denkt* hmz, dat hoeft niet eens want ik weet dat het om 1 film gaat ivm de WHERE clausule. Een simpel tellertje in de while lus is genoeg. Als het tellertje > 1 weet ik dat ik alleen de acteurs moet parsen
[..]
Ah right, ik heb denk ik te lang met MySQL 3.23 en 4.0 gewerkt om die te onthoudenquote:Op woensdag 2 mei 2007 23:11 schreef cyberstalker het volgende:
Zou GROUP_CONCAT niet iets zijn?
[ code verwijderd ]
Dan krijg je de acteurs terug als een kommagescheiden lijst die je vervolgens met php kunt explode()n.
oh wist niet dat er zo'n topic wasquote:Op donderdag 3 mei 2007 08:58 schreef JeRa het volgende:
@Desdinova
Eigenlijk is dit iets voor het Unixtopicmaar goed. Die vijf velden zijn filters en elke minuut wordt er door de crondaemon gecontroleerd of het filter voldoet aan de huidige tijd. Zoals je het nu doet zal er dus om één over zeven elke dag gecontroleerd worden of de dag in de maand even is (voor zover ik weet) en zo ja, dan wordt het uitgevoerd. Als je ook nog een dag van de week instelt zal het dus alleen uitgevoerd worden als béide filters voldoen, dus als de dag in de maand even is én het maandag is, bijvoorbeeld.
Ik hou geen log bij.quote:Op donderdag 3 mei 2007 09:20 schreef JeRa het volgende:
@DJRandall
Er is een aparte DLL die de functies zoals mssql_connect() levert; deze DLL kan tijdens die scheduled tasks kennelijk niet geladen worden. Hou je een log bij met PHP errors zodat je kunt terugzien of het geladen kan worden? Probeer anders eens de mssql.dll (als ie zo heet) in je PHP-map onder extensions eens in C:\windows\system32 te zetten om te zien of ie 'm dan wél kan laden.
Wat let je om het te proberen? Als het dan nog niet werkt kun je 'm weer weghalen uit system32, en zul je dus even achter de reden moeten gaan waarom mssql.dll niet wordt geladenquote:Op donderdag 3 mei 2007 09:35 schreef DJRandall het volgende:
[..]
Ik hou geen log bij.
Moet ik na dll kopieren de server herstarten? ( iig zonder, werkt het niet )
1 2 3 4 | $query = "SELECT klant.Email, klant.C_email, extracontactpersoon.Email FROM klant, extracontactpersoon WHERE klant.Nieuwsbrief ='Ja' AND klant.Email LIKE '%@%' AND klant.Klantvan = '$verkoper' AND klant.Klantvan = extracontactpersoon.Klantvan"; ?> |
Of je past je php.ini gewoon aanquote:Op donderdag 3 mei 2007 10:01 schreef DJRandall het volgende:
Ik heb het antwoord hier gevonden:
http://www.issociate.de/b(...)_-_command_line.html
Ik moet de benodigde DLL's handmatig aanroepen ( en in system32 map zetten )
dus in het begin van de php: dl("php_mssql.dll");
Daarna werkt het prima!
Bedankt voor de input!
echo je query en echo de eventuele mysql_error(). kan je die resultaten even posten?quote:Op donderdag 3 mei 2007 10:19 schreef Xtr3mE het volgende:
Ik heb een probleempje met een SQL query:
Ik wil uit meerdere gegevens uit 2 tabellen halen in 1 query.
Ik heb de tabellen klant en extracontactpersoon en ik wil uit de tabel klant de waardes Email en C_email eruit lezen
Uit de tabel extracontactpersoon wil ik de waarde Emaill uitlezen.
Ik heb de volgende code maar die is denk ik best wel fout, en kom er niet uit zelf..
[ code verwijderd ]
Iemand ?
Met de functie array_rand()quote:Op donderdag 3 mei 2007 21:21 schreef Qunix het volgende:
Ik heb vier kolommen met wat tekst. Ze moeten allemaal getoond worden alleen op welke plek maakt me niet uit. Ieder kolom heeft een nummer. Ik wil dit met een rand(); functie doen.
Als ik rand(1, 4); doe, dan pakt hij een willekeurige nummer. Als ik dit voor iedere kolom doe, dan is er een kans dat hij een kolom 2x toont omdat er bv 2 dezelfde nummers zijn door de rand();. Hoe los ik dit op?
Of kan het op een andere manier?
1 |
Thanks.quote:Op donderdag 3 mei 2007 21:47 schreef doka het volgende:
[..]
Met de functie array_rand()
[ code verwijderd ]
Als $oudearray vier elementen bevat, bevat $newarr hierna die 4 elementen in willekeurige volgorde.
Klein dingetje...quote:
1 2 3 4 5 6 7 8 9 10 | $oldarr = array("left", "leftcenter", "rightcenter", "right"); $kolommen = array_rand($oldarr, 4); echo "<pre>"; print_r($kolommen); echo "</pre><br><br>"; echo $kolommen[3]; ?> |
hierom:quote:Op donderdag 3 mei 2007 22:24 schreef Qunix het volgende:
[..]
Klein dingetje...
[ code verwijderd ]
Ik krijg alleen het getal te zien. Hoe kan dat?
http://nl2.php.net/function.array_randquote:If you are picking only one entry, array_rand() returns the key for a random entry. Otherwise, it returns an array of keys for the random entries. This is done so that you can pick random keys as well as values out of the array.
1 2 3 4 5 6 7 8 9 10 | $oldarr = array("left", "leftcenter", "rightcenter", "right"); $kolommen = array_rand($oldarr, 4); echo "<pre>"; print_r($kolommen); echo "</pre><br><br>"; echo $oldarr[$kolommen[3]]; ?> |
Hij werkt! Tnxquote:Op donderdag 3 mei 2007 22:37 schreef mschol het volgende:
[..]
hierom:
[..]
http://nl2.php.net/function.array_rand
dus als je het goed wilt doen doe je dit:
[ code verwijderd ]
Wat zou ik aan moeten passen in de php.ini?quote:Op donderdag 3 mei 2007 13:05 schreef George.W.Bush het volgende:
[..]
Of je past je php.ini gewoon aan
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |