Je doet het alleen op de plaatsen waar het nodig is. Sommige classes maken geen gebruik van de database, maar bij je voorbeeld geef je toch je database door en wordt er toch geheugen in genomen.quote:Op donderdag 18 augustus 2011 12:02 schreef GI het volgende:
Wat is de meerwaarde eraan om iedere keer zelf de db classe aan te moeten roepen met geinstance ?
Ik heb een $db classe die ik kan benaderen door heel mijn code, wat ik wel in iedere classe moet doen is in de __construct zorgen dat $this->db een referentie is naar de $db.
Hierdoor kan ik overal (hoe diep ik ook zit) met $this->db->runSQL("SQL_SHORT",$parameter1,$parameter2) de query die ik wil uitvoeren...
Dat snap ik. Ik heb alleen geen classes waar de database niet in gebruikt wordt dus het heeft voor mij weinig tot geen meerwaarde. Maar is het niet zo dat ik metquote:Op donderdag 18 augustus 2011 12:08 schreef Pakspul het volgende:
[..]
Je doet het alleen op de plaatsen waar het nodig is. Sommige classes maken geen gebruik van de database, maar bij je voorbeeld geef je toch je database door en wordt er toch geheugen in genomen.
Door gebruik te maken van Singleton patroon kun je op de plaats waar je wil je database oproepen door $db = DataBase::GetInstance(); aan te roepen. De hele database is opgeslagen in de $_Instance variabel in de class en deze wordt tijdelijk doorgegeven aan de variabel.
Conclusie: je hoeft niet lastig steeds je database door te geven.
1 2 3 4 5 6 7 8 | <?php function __construct(){ global $db; $this->db=&$db; } ?> |
Ja, dat snap ik, maar dat moet ik dan iedere keer doen dat ik de database aan wil spreken volgens jouw constructie. Dat vind ik niet echt een tijdbesparende oplossing eigenlijk.quote:Op donderdag 18 augustus 2011 12:18 schreef Pakspul het volgende:
De getinstance functie kijkt alleen maar of er een instance van is, anders zorgt hij er voor dat hij deze aanroept. Mocht die al bestaan dan geeft hij hem terug.
Global vind ik geen nette oplossing. Het is door PHP gemaakt om het programmeren makkelijker te maken. Daarom heb ik voor Singleton gekozen.
Tijd besparing valt echt reuze mee, je hebt het over een paar miljardste van een seconde wat ik zo heb getestquote:Op donderdag 18 augustus 2011 13:54 schreef GI het volgende:
[..]
Ja, dat snap ik, maar dat moet ik dan iedere keer doen dat ik de database aan wil spreken volgens jouw constructie. Dat vind ik niet echt een tijdbesparende oplossing eigenlijk.
Ik snap de use van de singleton wel, maar ik zou als ik hem zo gebruiken hem toch in mijn __construct aanroepen denk ik...
Ik had het vooral over ontwikkeltijdbesparingquote:Op donderdag 18 augustus 2011 14:35 schreef Pakspul het volgende:
[..]
Tijd besparing valt echt reuze mee, je hebt het over een paar miljardste van een seconde wat ik zo heb getest
Ik ontwikkel mijzelf om dit soort dingen te proberenquote:Op donderdag 18 augustus 2011 14:50 schreef GI het volgende:
[..]
Ik had het vooral over ontwikkeltijdbesparing
Probeer eens htmlentities($data,ENT_QUOTES,"UTF-8")quote:Op vrijdag 19 augustus 2011 11:24 schreef Sitethief het volgende:
als in $_GET['test'] ÄÖ zit, dan maakt htmlentities($data,ENT_QUOTES,UTF-8) er Ã�Ã� van, ipv ÄÖ, hoe kan ik er nou voor zorgen dat dit wél goed gaat?
Is de metatag: <meta http-equiv="Content-Type" CONTENT="text/html; charset=UTF-8" /> aanwezig?quote:Op vrijdag 19 augustus 2011 11:24 schreef Sitethief het volgende:
als in $_GET['test'] ÄÖ zit, dan maakt htmlentities($data,ENT_QUOTES,UTF-8) er Ã�Ã� van, ipv ÄÖ, hoe kan ik er nou voor zorgen dat dit wél goed gaat?
1 2 3 4 5 6 | <?php $smt = "SELECT * FROM products WHERE `ProductName` LIKE :name "; $this->prepared->execute($smt); ?> |
op je werk worden ads geblokkeerd?quote:Op maandag 22 augustus 2011 10:39 schreef Sitethief het volgende:
Sorry voor de tag die verkeerde gaat, kan om een of andere reden vanaf werk geen posts editten. (alle Javascript op FOK is hier kaduuk)
Eh die foto's in de database opslaan is niet heel erg handig en snel. Je kan je foto's denk ik beter op de server opslaan en in de database een url naar het plaatje stoppen, mocht je nog meer informatie bij het plaatje willen opslaan.quote:Op maandag 22 augustus 2011 14:46 schreef MrNiles het volgende:
Wat is een handige manier om veel files (foto's) te uploaden voor een foto-album?
En kan dat direct in een database?
Ik wil ze natuurlijk niet 1-voor-1 allemaal aanklikken.
Liever niet met ftp. Graag zou ik het foto album wat meer automatiseren, zodat anderen kunnen inloggen en een fotoalbum kunnen aanmaken.
Dus geen ftp, mapjes aanmaken op de server..dat soort dingen
en een zipje uploaden met foto's en deze laten unzippen op de server?quote:Op maandag 22 augustus 2011 14:48 schreef themole het volgende:
[..]
Eh die foto's in de database opslaan is niet heel erg handig en snel. Je kan je foto's denk ik beter op de server opslaan en in de database een url naar het plaatje stoppen, mocht je nog meer informatie bij het plaatje willen opslaan.
Dus een tabel met:
Id | Beschrijving | URL | andere zinnige info die je wilt opslaan.
En snel veel foto's uploaden is meestal wel ftp.
Jep, dat werkt prima, ook regelmatig ingebouwd. Het is natuurlijk niet erg laagdrempelig want niet iedere gebruiker weet hoe te zippen.quote:Op maandag 22 augustus 2011 14:53 schreef MrNiles het volgende:
[..]
en een zipje uploaden met foto's en deze laten unzippen op de server?
maar degene die ik het wil laten doen die is wel zo handigquote:Op maandag 22 augustus 2011 14:56 schreef Intrepidity het volgende:
[..]
Jep, dat werkt prima, ook regelmatig ingebouwd. Het is natuurlijk niet erg laagdrempelig want niet iedere gebruiker weet hoe te zippen.
http://www.php.net/manual/en/zip.requirements.phpquote:Op maandag 22 augustus 2011 14:57 schreef MrNiles het volgende:
[..]
maar degene die ik het wil laten doen die is wel zo handig
welke functie is dat op de server want niet alles is enabled bij mij hosting
Kan, maar als de bestanden groter worden, is dat niet handig meer. Het http-protocol is niet echt geschikt voor het uploaden van bestanden.quote:Op maandag 22 augustus 2011 14:53 schreef MrNiles het volgende:
[..]
en een zipje uploaden met foto's en deze laten unzippen op de server?
Maar het werkt wel goed, zie youtube, flickr, picasa, etc.quote:Op maandag 22 augustus 2011 15:00 schreef Light het volgende:
[..]
Kan, maar als de bestanden groter worden, is dat niet handig meer. Het http-protocol is niet echt geschikt voor het uploaden van bestanden.
Wat een onzin.quote:Op maandag 22 augustus 2011 15:00 schreef Light het volgende:
Kan, maar als de bestanden groter worden, is dat niet handig meer. Het http-protocol is niet echt geschikt voor het uploaden van bestanden.
Die gebruiken dan ook geen plain html file uploadquote:Op maandag 22 augustus 2011 15:01 schreef GlowMouse het volgende:
[..]
Maar het werkt wel goed, zie youtube, flickr, picasa, etc.
Wat is groot..quote:Op maandag 22 augustus 2011 15:00 schreef Light het volgende:
[..]
Kan, maar als de bestanden groter worden, is dat niet handig meer. Het http-protocol is niet echt geschikt voor het uploaden van bestanden.
1 2 3 4 5 6 | <?php SELECT `ProductName` FROM `products` ?> |
1 2 | SELECT `products.ProductName` FROM `products` |
1 2 | SELECT `products`.`ProductName` FROM `products` |
Andere werkgever zoekenquote:Op maandag 22 augustus 2011 15:45 schreef Sitethief het volgende:
Niet als je werkgever adds op FOK blokkeert, waardoor alle Javascript functies op FOK niet werken, inclusief, quote, edit etc.
Als je continue Fokt lost dat probleem zichzelf wel opquote:
Op welke van de 2 posts reageer je nu?quote:Op maandag 22 augustus 2011 15:52 schreef Sitethief het volgende:
Dank je Light, klinkt eigenlijk ook best logisch
Niet in de tijd van je baas FOK!ken?quote:Op maandag 22 augustus 2011 15:45 schreef Sitethief het volgende:
Niet als je werkgever adds op FOK blokkeert, waardoor alle Javascript functies op FOK niet werken, inclusief, quote, edit etc.
1 | username (Voornaam Achternaam) |
Tenzij de usernames natuurlijk spaties kunnen bevatten, zoals hier op Fok!quote:Op woensdag 24 augustus 2011 22:16 schreef GlowMouse het volgende:
Kun je die array niet beter indelen? Je kunt gewoon alles pakken tot de eerste spatie, met strpos en substr.
Dan doe je tot positie haakje minus 1.quote:Op woensdag 24 augustus 2011 23:30 schreef Tijn het volgende:
Tenzij de usernames natuurlijk spaties kunnen bevatten, zoals hier op Fok!
1 | substr($var, 0, strpos($var, '(')-1) |
Array kan ik zelf niet veel aan doen, wordt geleverd vanuit Twitter. Maar ik ga even kijken naar je strpos/substr idee. Alvast bedankt!quote:Op woensdag 24 augustus 2011 22:16 schreef GlowMouse het volgende:
Kun je die array niet beter indelen? Je kunt gewoon alles pakken tot de eerste spatie, met strpos en substr.
Twitter kent (gelukkig) geen spaties in de usernames, dus dat zou het probleem niet moeten zijn.quote:Op woensdag 24 augustus 2011 23:30 schreef Tijn het volgende:
[..]
Tenzij de usernames natuurlijk spaties kunnen bevatten, zoals hier op Fok!
Dan kun je ook nog exploden op spatie. Het eerste element van de array die daaruit komt, is je username.quote:Op donderdag 25 augustus 2011 00:18 schreef dirkjo het volgende:
[..]
Twitter kent (gelukkig) geen spaties in de usernames, dus dat zou het probleem niet moeten zijn.
Ik ga het nu proberen, zal laten weten hoe het gelukt is
Oke ik ben blind, ik dacht dat de enige manier van zoeken op twitter de volgende was:quote:Op donderdag 25 augustus 2011 00:18 schreef GlowMouse het volgende:
welke twitter api gebruik je dan?
1 | http://search.twitter.com/search.atom?lang=en&q=fok! |
1 2 3 4 5 6 7 8 9 10 11 | <?php <dl> <dt><label>Afgeleverd op:</label></dt> <dd> Woensdag, 24/08/2011 op 14:45 </dd> </dl> ?> |
Pak de source code en gooi deze door een custom geschreven parser?quote:Op donderdag 25 augustus 2011 14:59 schreef cablegunmaster het volgende:
[ code verwijderd ]
Vraagje hoe kan ik deze code van de pagina lenen? ik weet de pagina maar nu is de vraag hoe ik alles tussen <dd> en </dd> eraf kan halen met identifier: <dt><label>Afgeleverd op:</label></dt>
Probleem is dat ik de pagina niet zelf beheer waarop dit staat waardoor simpele preg _matches niet werken. en ik snap nog niet hoe ik het zo van een andere pagina kan halen.
probleem 1 parser?quote:Op donderdag 25 augustus 2011 15:30 schreef Sitethief het volgende:
[..]
Pak de source code en gooi deze door een custom geschreven parser?
DOM standaard in PHP kun je hier heel mooi voor gebruiken, dan pak je gewoon de waarde van bepaalde elementen.quote:Op donderdag 25 augustus 2011 14:59 schreef cablegunmaster het volgende:
[ code verwijderd ]
Vraagje hoe kan ik deze code van de pagina lenen? ik weet de pagina maar nu is de vraag hoe ik alles tussen <dd> en </dd> eraf kan halen met identifier: <dt><label>Afgeleverd op:</label></dt>
Probleem is dat ik de pagina niet zelf beheer waarop dit staat waardoor simpele preg _matches niet werken. en ik snap nog niet hoe ik het zo van een andere pagina kan halen.
Ik gebruik deze: http://simplehtmldom.sourceforge.net/quote:Op donderdag 25 augustus 2011 15:32 schreef Pakspul het volgende:
[..]
DOM standaard in PHP kun je hier heel mooi voor gebruiken, dan pak je gewoon de waarde van bepaalde elementen.
http://www.php.net/manual/en/book.dom.php
Google even naar wat voorbeelden en je kunt het zo toepassen.,
Oeh vet handig, thanks voor de link. Alleen jammer dat het JQuery style is en niet MooTools, maar dan nog.quote:Op donderdag 25 augustus 2011 15:37 schreef mstx het volgende:
[..]
Ik gebruik deze: http://simplehtmldom.sourceforge.net/
Werkt super simpel.
De Mootools $$() functie werkt (bijna) hetzelfde als de JQuery $() functie. Dus in dit geval zit er geen verschil tussen "JQuery style" en "Mootools style".quote:Op donderdag 25 augustus 2011 16:28 schreef Sitethief het volgende:
[..]
Oeh vet handig, thanks voor de link. Alleen jammer dat het JQuery style is en niet MooTools, maar dan nog.
roep applicatie op server aan en retouneer aan de gebruiker een"even wachten" pagina waar je met Jquery elke 5 seconden een check doet op de database?quote:Op vrijdag 26 augustus 2011 17:25 schreef Lamzak_ het volgende:
Ik heb een probleem.
Ik heb een online applicatie.
Deze applicatie zorgt ervoor dat een andere applicatie aangeroepen wordt.
Deze draait op de server en genereerd een PDF bestand.
De site moet checken of de PDF gegenereerd is. Zodra dit klaar is moet die automatisch geopend worden. Dat PDF bestand genereren duurt ongeveer 45 seconden. Ik wil gedurende 90 seconden elke vijf seconden een query op een database uitvoeren, want daaruit kan ik halen of de pdf klaar is.
Als die klaar is, moet hij gelijk geopend worden. Als hij na 90 seconden nog niet klaar is moet er een time-out error komen.
Hoe moet ik dit in hemelsnaam doen.
Heb je ervaring met PHP of is het stellen van deze vraag in dit topic een gokje? Wat is trouwens het doel dat je wilt bereiken met het openen van de PDF als hij klaar is?quote:Op vrijdag 26 augustus 2011 17:25 schreef Lamzak_ het volgende:
Ik heb een probleem.
Ik heb een online applicatie.
Deze applicatie zorgt ervoor dat een andere applicatie aangeroepen wordt.
Deze draait op de server en genereerd een PDF bestand.
De site moet checken of de PDF gegenereerd is. Zodra dit klaar is moet die automatisch geopend worden. Dat PDF bestand genereren duurt ongeveer 45 seconden. Ik wil gedurende 90 seconden elke vijf seconden een query op een database uitvoeren, want daaruit kan ik halen of de pdf klaar is.
Als die klaar is, moet hij gelijk geopend worden. Als hij na 90 seconden nog niet klaar is moet er een time-out error komen.
Hoe moet ik dit in hemelsnaam doen.
JOIN verkeerd? Vooral handig dat je de query niet toont dan kunnen we je heel goed helpenquote:Op vrijdag 26 augustus 2011 17:39 schreef cablegunmaster het volgende:
ik krijg de hele tijd met een count query de verkeerde waarde's eruit. nu vraag ik me af of dit aan de join kan liggen? Ik krijg gekke waarde's als 7- 15, terwijl er maar 3 rijen aan de query voldoen als ik gewoon alle velden oproep met een *.
nah de join is goedquote:Op vrijdag 26 augustus 2011 17:40 schreef Pakspul het volgende:
[..]
JOIN verkeerd? Vooral handig dat je de query niet toont dan kunnen we je heel goed helpen
1 2 3 4 5 6 | SELECT * FROM product_prijzen LEFT JOIN levering_datum ON product_prijzen.lever_id = levering_datum.id WHERE product_id = '45' group by levering |
1 2 3 4 5 | SELECT count( levering_datum.levering ) FROM product_prijzen LEFT JOIN levering_datum ON product_prijzen.lever_id = levering_datum.id WHERE product_id = '45' GROUP BY levering |
En als je een right join doet ipv een left join?quote:Op vrijdag 26 augustus 2011 17:41 schreef cablegunmaster het volgende:
[..]
nah de join is goed, kwam erop neer dat hij de count uitvoert op de tabel waar FROM staat.
zit de hele tijd in phpmyadmin uit te testen. query is niet belangrijk.
count negeert de left join.
[ code verwijderd ]
Dit wil hij gewoon doen. maar zodra ik er een count bij zet count hij alleen
waar product_id = 45 en negeert hij de hele join. dat is het geval.
Resultaat is 37 terwijl er maar 3 regels staan als ik de hele left join weghaal geeft hij alle 37 regels weer die ik niet wil hebben maar alleen de join count wil ik hebben.
dus probeerde ik te specificeren met
[ code verwijderd ]
krijg ik er 7, 15,15 uit wat eigenlijk hetzelfde is.
Dan krijg ik het hetzelfde eruit het probleem is als volgt.quote:Op vrijdag 26 augustus 2011 17:56 schreef The_Terminator het volgende:
[..]
En als je een right join doet ipv een left join?
Ik was er net achter idd, subquery met enkel een COUNT(*) geeft het aantal terug van de query die erbinnen zit.quote:Op vrijdag 26 augustus 2011 17:58 schreef cablegunmaster het volgende:
[..]
Fixed met subquery , voor interesse alsnog een antwoord weten of dit kan met een join.
Dan schrijf je slecht onderhoudbare code.quote:Op vrijdag 26 augustus 2011 17:56 schreef The_Terminator het volgende:
[..]
En als je een right join doet ipv een left join?
True, echter was het maar een probeersel wat uiteindelijk niet bleek te werken. Ik heb namelijk een keer hetzelfde probleem gehad en wist niet meer hoe ik het had opgelost. Mocht het wel werken dan is de boel altijd nog aan te passen zodat het wel duidelijk en goed te onderhouden is.quote:Op vrijdag 26 augustus 2011 19:12 schreef Light het volgende:
[..]
Dan schrijf je slecht onderhoudbare code.
wie heeft je dat verteld?quote:Op vrijdag 26 augustus 2011 19:12 schreef Light het volgende:
[..]
Dan schrijf je slecht onderhoudbare code.
Ik zelfquote:
quote:Op zaterdag 27 augustus 2011 00:41 schreef ursel het volgende:
Wat kan een mens toch blij worden als een geniaal stukje code nog eens blijkt te werken,
1 2 3 4 5 6 7 8 9 10 | <?php $rows = $db->getALL('SELECT "shit" FROM "database" '); $i=""; foreach ( $rows as $row ) { $var[$i] = $row["lol"]; $i++; } print_r($var); ?> |
1 2 3 4 5 6 7 8 | <?php $rows = $db->getALL('SELECT "shit" FROM "database" '); foreach ( $rows as $row ) { $var[] = $row["lol"]; } print_r($var); ?> |
Die curly braces zijn ook niet nodig, evenals het opslaan van het resultaat van $db->getALL in een aparte variabele.quote:Op zaterdag 27 augustus 2011 20:15 schreef Flepke het volgende:
Iemand trouwens nog goede tutorials/trucjes voor betere leesbaarheid/kortere code?
Ik heb bijvoorbeeld nooit geweten dat:
[ code verwijderd ]
Ook kan als:
[ code verwijderd ]
Als ik zoek op shorthand php kom ik alleen maar dingen tegen voor controle structuren / andere basic dingen.
1 2 3 4 5 | <?php foreach ($db->getALL('SELECT "shit" FROM "database" ') as $row) $var[] = $row["lol"]; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 | <?php if(voorwaarde) { $var = iets; } else { $var = iets_anders; } ?> |
1 2 3 4 5 | <?php $var = (voorwaarde) ? iets : iets_anders; ?> |
Dat is best wel basicquote:Op zaterdag 27 augustus 2011 20:15 schreef Flepke het volgende:
Iemand trouwens nog goede tutorials/trucjes voor betere leesbaarheid/kortere code?
Ik heb bijvoorbeeld nooit geweten dat:
[ code verwijderd ]
Ook kan als:
[ code verwijderd ]
Als ik zoek op shorthand php kom ik alleen maar dingen tegen voor controle structuren / andere basic dingen.
Kan ook zo:quote:Op zaterdag 27 augustus 2011 20:44 schreef Tijn het volgende:
Wat ik zelf trouwens vaak gebruik is de alternatieve if syntax, zeker om bv een variabele te zetten op basis van een voorwaarde. Ipv van dit:
[ code verwijderd ]
doe ik vaak dit
[ code verwijderd ]
1 2 3 | <?php ($is_dit_waar) && (print 'ja') || print 'nee' ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $a = 'hoi'; // i.p.v. het volgende echo isset($a) ? "a" : "b"; // geeft a unset($a); // doe dit echo $a ?: "b"; // geeft "b" ?> |
Nergens last van, ik gebruik het gewoon bij ieder soort query. Krijg je een melding terug van je database en/of PDO?quote:Op maandag 29 augustus 2011 11:36 schreef Sitethief het volgende:
Klopt het dat in MyISAM je met PDO->execute alleen parameters kunt meegeven aan SELECT statements en niet aan bijv. INSERT, want daar gaat het bij mij mis. SELECT gaat prima, maar INSERT weigert gewoon de parameters te gebruiken die ik meegeef.
1 2 3 4 5 | <?php INSERT INTO `products` (`ProductName`) VALUES (':name') ?> |
Moet je geen $name gebruiken?quote:Op maandag 29 augustus 2011 14:13 schreef Sitethief het volgende:
Nee
[ code verwijderd ]
Alles wat er gebeurt is dat :name in de database wordt ingevuld, ipv wat ik meegeef. Als ik precies dezelfde functions gebruik om een SELECT te doen werkt het wel.
Je moet :name niet tussen aanhalingstekens zetten, dit doet PDO zelf. Nu gebruik je de string :name als waarde.quote:Op maandag 29 augustus 2011 14:13 schreef Sitethief het volgende:
Nee
[ code verwijderd ]
Alles wat er gebeurt is dat :name in de database wordt ingevuld, ipv wat ik meegeef. Als ik precies dezelfde functions gebruik om een SELECT te doen werkt het wel.
quote:INSERT INTO `products` (`ProductName`) VALUES (:name)
1 2 3 4 5 6 7 8 | <?php <form method="post" action="verwijderext.php" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form> ?> |
Nogal jaquote:Op vrijdag 26 augustus 2011 22:35 schreef Light het volgende:
Ik zelfMaar da's gewoon simpel beredeneerd.
dit is de juiste print_rquote:Op donderdag 1 september 2011 16:12 schreef GlowMouse het volgende:
$_FILES['Name'] werkt, aan je print_r te zien. Ik geloof daarom niet dat je het eerste script voor uploaden gebruikt.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |