abonnement Unibet Coolblue Bitvavo
pi_100889309


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL
  donderdag 18 augustus 2011 @ 11:45:09 #2
25889 Sitethief
Fulltime Flapdrol
pi_100889623
@Pakspul

Op die manier :D, misschien is dat een optie in de toekomst, maar ik wil het me nu nog niet te moeilijk maken.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht >:)
pi_100889884
Zeker een aanrader om eens na te kijken, want het past perfect in het MVC model: http://nl.wikipedia.org/wiki/Model-view-controller-model
  donderdag 18 augustus 2011 @ 12:02:37 #4
4159 GI
Nee ik heet geen JOE
pi_100890298
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...
pi_100890474
quote:
3s.gif 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...
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.
  donderdag 18 augustus 2011 @ 12:12:11 #6
4159 GI
Nee ik heet geen JOE
pi_100890635
quote:
0s.gif 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.
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 met

1
2
3
4
5
6
7
8
<?php

function __construct(){
global 
$db;
$this->db=&$db
}

?>
Ook geen extra geheugen in gebruik neem en ik dus "eenmalig in een classe in de __construct opnemen" tegenover "iedere functie die hem nodig heeft een :getinstance() uit laten voeren" als gevolg heb ?
pi_100890875
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.
  donderdag 18 augustus 2011 @ 13:54:21 #8
4159 GI
Nee ik heet geen JOE
pi_100893250
quote:
0s.gif 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.
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...
pi_100895046
quote:
3s.gif 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...
Tijd besparing valt echt reuze mee, je hebt het over een paar miljardste van een seconde wat ik zo heb getest :P
  donderdag 18 augustus 2011 @ 14:50:57 #10
4159 GI
Nee ik heet geen JOE
pi_100895662
quote:
0s.gif 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 :P
Ik had het vooral over ontwikkeltijdbesparing ;)
pi_100896084
quote:
3s.gif Op donderdag 18 augustus 2011 14:50 schreef GI het volgende:

[..]

Ik had het vooral over ontwikkeltijdbesparing ;)
Ik ontwikkel mijzelf om dit soort dingen te proberen :P
  vrijdag 19 augustus 2011 @ 11:24:12 #12
25889 Sitethief
Fulltime Flapdrol
pi_100931935
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?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_100932008
Probeer eens wat met utf8_decode en utf8_encode te spelen over die GET-variabele :)
  vrijdag 19 augustus 2011 @ 11:29:59 #14
91039 mstx
2x1/2 = 1/2 x 1/2
pi_100932103
quote:
0s.gif 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?
Probeer eens htmlentities($data,ENT_QUOTES,"UTF-8")
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_100932175
quote:
0s.gif 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?

Dit kan eventueel ook: header("Content-type: text/html; charset=utf-8");
  vrijdag 19 augustus 2011 @ 11:32:21 #16
25889 Sitethief
Fulltime Flapdrol
pi_100932203
dank je mstx dat was idd het probleem :D . Komt waarschijnlijk omdat ENT_QUOTES zonder moet
:P .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 22 augustus 2011 @ 10:37:47 #17
25889 Sitethief
Fulltime Flapdrol
pi_101032969
Waarom doet dit
1
2
3
4
5
6
<?php

$smt 
"SELECT * FROM products WHERE `ProductName` LIKE :name ";
$this->prepared->execute($smt);

?>
het wel, maar dit
$smt = "SELECT * FROM products WHERE `ProductName` LIKE %:name% ";
$this->prepared->execute($smt);
[/php]
niet?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 22 augustus 2011 @ 10:39:50 #18
25889 Sitethief
Fulltime Flapdrol
pi_101033007
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)
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 22 augustus 2011 @ 10:40:29 #19
75592 GlowMouse
l'état, c'est moi
pi_101033021
Als hij nu :name in zou vullen, ontbreken de ' om de %. Volgens mij kun je dit alleen aanpakken door de % in de string waarmee je :name vult te stoppen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 22 augustus 2011 @ 10:41:42 #20
25889 Sitethief
Fulltime Flapdrol
pi_101033050
Ah ja, dat werkt. Stom dat ik daar niet aan gedacht heb. Dank je :) .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_101033842
quote:
0s.gif 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)
op je werk worden ads geblokkeerd? :+
  maandag 22 augustus 2011 @ 11:15:50 #22
25889 Sitethief
Fulltime Flapdrol
pi_101033961
Yup, :( .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_101040498
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
  maandag 22 augustus 2011 @ 14:48:26 #24
302853 themole
graaft totaal door.
pi_101040575
quote:
0s.gif 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
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. :P
Niet altijd serieus
pi_101040758
quote:
14s.gif 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. :P
en een zipje uploaden met foto's en deze laten unzippen op de server?
pi_101040858
quote:
0s.gif 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?
Jep, dat werkt prima, ook regelmatig ingebouwd. Het is natuurlijk niet erg laagdrempelig want niet iedere gebruiker weet hoe te zippen.
pi_101040908
quote:
0s.gif 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.
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
pi_101040976
quote:
0s.gif 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
http://www.php.net/manual/en/zip.requirements.php
pi_101040991
quote:
0s.gif 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?
Kan, maar als de bestanden groter worden, is dat niet handig meer. Het http-protocol is niet echt geschikt voor het uploaden van bestanden.
  maandag 22 augustus 2011 @ 15:01:36 #30
75592 GlowMouse
l'état, c'est moi
pi_101041046
quote:
0s.gif 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.
Maar het werkt wel goed, zie youtube, flickr, picasa, etc.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 22 augustus 2011 @ 15:08:22 #31
58834 Catbert
The evil HR Director.
pi_101041300
quote:
0s.gif 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.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_101041679
quote:
0s.gif Op maandag 22 augustus 2011 15:01 schreef GlowMouse het volgende:

[..]

Maar het werkt wel goed, zie youtube, flickr, picasa, etc.
Die gebruiken dan ook geen plain html file upload :) Als ze dat wel doen, zouden ze geen progress bar kunnen laten zien :)
pi_101041751
quote:
0s.gif 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 is groot..
alle foto's worden al geresized voordat ze worden geupload
10MB max denk ik

enne..met zlib zou dat moeten kunnen?
  maandag 22 augustus 2011 @ 15:35:58 #34
25889 Sitethief
Fulltime Flapdrol
pi_101042260
Waarom mag dit:
1
2
3
4
5
6
<?php

SELECT 
`ProductName`
FROM `products`

?>
wel van MySQL, waar je de backticks bij ProductName weg mag laten, maar met net zo goed werkt.
Maar dit
SELECT `products.ProductName`
FROM `products`
[/php]
Mag niet, maar moet zo:
SELECT products.ProductName
FROM `products`
[/php]
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 22 augustus 2011 @ 15:36:11 #35
25889 Sitethief
Fulltime Flapdrol
pi_101042268
grr doe ik het weer.....
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 22 augustus 2011 @ 15:42:51 #36
58834 Catbert
The evil HR Director.
pi_101042521
Je kunt een post ook gewoon editen he? Ik vermoed dat `products.ProductName` niet mag omdat het uit 2 delen bestaat, tabel en kolom. Vermoed dat `products`.`ProductName` wel mag. Maar ik doe al jaren niks meer met MySQL.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  maandag 22 augustus 2011 @ 15:45:19 #37
25889 Sitethief
Fulltime Flapdrol
pi_101042596
Niet als je werkgever adds op FOK blokkeert, waardoor alle Javascript functies op FOK niet werken, inclusief, quote, edit etc.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_101042602
Zo geef je aan dat je de kolom "products.ProductName" uit de tabel "products" wilt selecteren:
1
2
SELECT `products.ProductName`
FROM `products`

Zo geef je aan dat je kolom "ProductName" uit de tabel "products" wilt selecteren:
1
2
SELECT `products`.`ProductName`
FROM `products`
pi_101042607
quote:
0s.gif 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.
Andere werkgever zoeken :+
  maandag 22 augustus 2011 @ 15:52:54 #40
25889 Sitethief
Fulltime Flapdrol
pi_101042819
Dank je Light, klinkt eigenlijk ook best logisch :D
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 22 augustus 2011 @ 16:20:52 #41
58834 Catbert
The evil HR Director.
pi_101043882
quote:
0s.gif Op maandag 22 augustus 2011 15:45 schreef Light het volgende:
Andere werkgever zoeken :+
Als je continue Fokt lost dat probleem zichzelf wel op ;)
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  maandag 22 augustus 2011 @ 16:26:52 #42
63192 ursel
"Het Is Hier Fantastisch!
pi_101044103
quote:
0s.gif Op maandag 22 augustus 2011 15:52 schreef Sitethief het volgende:
Dank je Light, klinkt eigenlijk ook best logisch :D
Op welke van de 2 posts reageer je nu? :')
  maandag 22 augustus 2011 @ 16:33:44 #43
25889 Sitethief
Fulltime Flapdrol
pi_101044373
@ursel, de eerste ;) .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_101048709
quote:
0s.gif 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.
Niet in de tijd van je baas FOK!ken? :D
Of toch du vader?
pi_101129241
Weer een htaccess vraagje voor de experts; hoe kan ik er voor zorgen dat mijn 'dynamiche' subdomeinen die beginnen met www.subdomein.domein.nl terecht (geredirected worden naar) komen op subdomein.domein.nl?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 24 augustus 2011 @ 15:29:40 #46
75592 GlowMouse
l'état, c'est moi
pi_101129559
Zoiets? Met %1 wijs je terug naar je RewriteCond

RewriteCond %{HTTP_HOST} ^(.*)\.www\.(.*)$
RewriteRule .* http://%1.%2%{REQUEST_URI} [R=301,L]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_101146487
Ik heb even jullie hulp nodig, kom er zelf echt niet uit.
Ik krijg via een array data binnen met de volgende structuur:
1username (Voornaam Achternaam)

Nu wil ik dat PHP het eerste stukje pakt, dus de 'username'. Nu heb ik het met preg_replace voor elkaar gekregen om 'Voornaam Achternaam' te pakken, maar niet 'username'.

Iemand van jullie die de oplossing weet? :@
  woensdag 24 augustus 2011 @ 22:16:16 #48
75592 GlowMouse
l'état, c'est moi
pi_101146849
Kun je die array niet beter indelen? Je kunt gewoon alles pakken tot de eerste spatie, met strpos en substr.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 24 augustus 2011 @ 23:30:40 #49
12221 Tijn
Powered by MS Paint
pi_101150988
quote:
0s.gif 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.
Tenzij de usernames natuurlijk spaties kunnen bevatten, zoals hier op Fok! :D
  FOK!-Schrikkelbaas woensdag 24 augustus 2011 @ 23:46:54 #50
862 Arcee
Look closer
pi_101151815
quote:
6s.gif Op woensdag 24 augustus 2011 23:30 schreef Tijn het volgende:
Tenzij de usernames natuurlijk spaties kunnen bevatten, zoals hier op Fok! :D
Dan doe je tot positie haakje minus 1. :s) (Hoewel... Jaap ( of Dirk?) :+)

Zo:
1substr($var, 0, strpos($var, '(')-1)
Never in the entire history of calming down did anyone ever calm down after being told to calm down.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')