Waarom? Het is gewoon een andere order. Ik ga toch niet dezelfde order 0 of meer keer laten afrekenen? Dat vind ik onlogisch. Een order kan WEL of NIET betaald worden dus er zeker geen n relatie mbt betalen.quote:Op zaterdag 2 februari 2013 11:18 schreef papernote het volgende:
Persoonlijk vind ik het beter om één order te hebben, waar dan [0, n] (nul of meer) betalingen aan hangen. Als mensen een iDeal betaling annuleren omdat ze toch liever een overschrijving doen, dan lijkt het me raar als je daarvoor een nieuwe order aan maakt?
Zo doe ik het inderdaad ook. En die codes die hierboven worden genoemd worden dan bij de betaling/transactie opgeslagen.quote:Op zaterdag 2 februari 2013 11:18 schreef papernote het volgende:
Persoonlijk vind ik het beter om één order te hebben, waar dan [0, n] (nul of meer) betalingen aan hangen. Als mensen een iDeal betaling annuleren omdat ze toch liever een overschrijving doen, dan lijkt het me raar als je daarvoor een nieuwe order aan maakt?
Iemand kan toch één order betalen met een cadeaubon en het restant met iDeal? Dan heb je twee betalingen. Wellicht niet in je huidige opzet, maar wie weet ga je ooit nog cadeaubonnen uitgeven, de vvv-cadeaubon accepteren, enz...quote:Op zaterdag 2 februari 2013 18:07 schreef Swetsenegger het volgende:
[..]
Waarom? Het is gewoon een andere order. Ik ga toch niet dezelfde order 0 of meer keer laten afrekenen? Dat vind ik onlogisch. Een order kan WEL of NIET betaald worden dus er zeker geen n relatie mbt betalen.
Daarnaast zijn er allerlei terugkoppelingen van de internet kassa, onder andere:
"Authorization limit exceeded"
"Authorization refused"
"Invalid card number or invalid Card Security Code"
"Fraud suspicion"
"Security breach detected, transaction stopped"
"The number of attempts to enter the card number has been exceeded"
Die wil ik eigenlijk wel opgeslagen hebben bij desbetreffende orders.
Neequote:Op zaterdag 2 februari 2013 18:21 schreef papernote het volgende:
[..]
Iemand kan toch één order betalen met een cadeaubon en het restant met iDeal?
In een webshop? Hoe wil je dat doen?quote:Dan heb je twee betalingen. Wellicht niet in je huidige opzet, maar wie weet ga je ooit nog cadeaubonnen uitgeven, de vvv-cadeaubon accepteren, enz...
Tja, ik heb er voor gekozen dat het een nieuwe order word. Overigens net als elke internet kassa ook verlangt. Ik moet bij elke order een transactie reference meesturen die uniek moet zijn.quote:Terugkoppelingen sla je ook op als een betaling, maar dan met een andere (mislukte) status. Zo kun je bij één order de historie van betalingen terugzien. Een order is pas volledig betaald als de som van alle betalingen met de status "succesvol" gelijk is aan het totaal van de order.
Nee, want de kassaomgeving is anders dan de webshop omgeving en het is heel duidelijk wanneer je betaling niet slaagt.quote:Ik zou niet zeggen dat het een andere order is. De klant is nog steeds met dezelfde order bezig en vanuit zijn opzicht is het natuurlijk wel gewoon dezelfde order. Het lijkt me ook verwarrend voor de klant als zijn betaling mislukt hij een nieuw ordernummer krijgt voor hetzelfde.
Ken ik, maar wil alles graag in eigen beheer hebben...quote:
Dus je wil zelf Word en Excel gaan nabouwen in PHP?quote:Op dinsdag 5 februari 2013 09:28 schreef webbyplus het volgende:
[..]
Ken ik, maar wil alles graag in eigen beheer hebben...
Nee, dat gaat misschien te ver ;-)quote:Op dinsdag 5 februari 2013 09:39 schreef Tijn het volgende:
Dus je wil zelf Word en Excel gaan nabouwen in PHP?
Alsof je gedachten kunt lezen; ik dacht al bij mezelf, waarom niet zelf maken...quote:Op dinsdag 5 februari 2013 09:45 schreef Tijn het volgende:
Ah zo. Geen idee of er zoiets bestaat, maar zelf maken is niet erg ingewikkeld lijkt me
Ligt maar net aan de complexiteit van de queries. Meten = weten :-)quote:Op dinsdag 5 februari 2013 09:31 schreef Swetsenegger het volgende:
Korte vraag,
Zijn 2500 tot 6000 queries per seconden als "ernstig veel" te classificeren voor een SQL server?
En indien ja, hoe kan je dat aantal verminderen zonder het obvious "minder queries per pageview gebruiken"?
Ja dat begrijp ik, maar in het algemeen bedoelde ik. We hebben hier een performance probleem en ICT roept elke keer een andere reden. Nu dus weer het aantal queries.quote:Op dinsdag 5 februari 2013 10:26 schreef rekenwonder het volgende:
[..]
Ligt maar net aan de complexiteit van de queries. Meten = weten :-)
Ik zou een regex proberen te vermijden als het niet hoeft. In dit geval kun je ook met strpos wel uit de voeten.quote:
array_filterquote:Op dinsdag 5 februari 2013 15:53 schreef wobbel het volgende:
Er zijn allemaal manieren voor, maar wat is nou de beste manier om bepaalde waardes te zoeken in een array?
Ik heb de volgende waardes, en wil alles selecteren wat begint met "VD20130130", en de rest hoeft hij niet weer te geven.
VD201301281628.jpg
VD201301281630.jpg
VD201301281632.jpg
VD201301281634.jpg
VD201301301020.jpg
VD201301301044.jpg
VD201301301146.jpg
HybridAuth?quote:Op maandag 11 februari 2013 02:47 schreef ursel het volgende:
Enige tijd geleden kwam ik ergens (geen flauw idee meer waar, volgens mij via twitter) een link tegen naar een PHP library die van de meeste social media's de API's hadden samengevat. Facebook, Twitter, Google, Foursquare etc. zaten hierin verwerkt.
Nu raad je het al, blijkbaar geen bookmark hierop gezet en niet meer terug te vinden in mijn favorieten.![]()
Iemand hier toevallig bekend mee welke ik bedoel?
| 1 2 3 4 5 | <?php header("Content-type:image/png"); $im = imagecreatefrompng("./images/Horizontal Banner2.png"); imagepng($im); ?> |
ik heb geen live test urlquote:Op dinsdag 12 februari 2013 17:26 schreef GlowMouse het volgende:
heb je een url? Waarom gebruik je geen readfile? Spatie voor image/png? Type met een hoofdletter?
ga ik zeker (nog vaker) doen.. (al kwam er geen plaatje maar echt rauwe tekst, incl png header)quote:Op dinsdag 12 februari 2013 17:33 schreef KomtTijd... het volgende:
ctrl+f5 doen als je met zulke output bezig bent. Images worden automatisch gecached.
| 1 2 3 4 5 6 7 | CREATE TABLE `user_statics` ( `users` INT(10) NULL DEFAULT NULL, `time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `server` VARCHAR(64) NOT NULL DEFAULT '' ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB; |
| 1 | INSERT INTO user_statics (users, server) SELECT `currentusers`, `server` FROM server WHERE VERSION LIKE 'unreal%' |
quote:Op zaterdag 16 februari 2013 12:50 schreef GlowMouse het volgende:
SELECT UNIX_TIMESTAMP(time) FROM user_statics
timezone veranderen, is dat ook als er zomertijd / wintertijd ingaat, of ziet mysql dat zo?quote:Op zaterdag 16 februari 2013 12:58 schreef Farenji het volgende:
Er komt gewoon een timestamp in maar mysql converteert die bij ophalen automatisch van UTC naar een leesbare datum volgens de tijdzone-instellingen van de server. En bij opslaan converteert ie de meegegeven datum op dezelfde manier naar UTC.
Gevolg is dus ook dat mocht je de tijdzone van de server veranderen, de tijden in de database meeveranderen. Dat kan zijn wat je wil, maar vaak wil je dat niet. Als je zeker wil dat er altijd dezelfde datum/tijd in blijft staan die je erin hebt gestopt dan moet je een datetime ipv timestamp gebruiken. Omrekenen naar een echte timestamp is voor beide kolomtypes hetzelfde, zoals glowmouse zegt.
| 1 2 3 4 5 | <?php Warning: require(/app/config/boot.php) [function.require]: failed to open stream: No such file or directory in /home/.../domains/.../public_html/share/index.php on line 7 Fatal error: require() [function.require]: Failed opening required '/app/config/boot.php' (include_path='.:/usr/local/lib/php') in /home/.../domains/.../public_html/share/index.php on line 7 ?> |
| 1 2 3 4 5 6 | <?php define('APPPATH', realpath(__DIR__).'/app'); define('APPDIR', realpath(__DIR__).'/'); require APPPATH.'/config/boot.php'; ?> |
Ik ben niet bepaald een PHP ster, waar wil je dat ik dit invoer?quote:Op donderdag 21 februari 2013 16:14 schreef Tijn het volgende:
Wat krijg je hieruit?
[ code verwijderd ]
en
[ code verwijderd ]
Correct, hij staat op een subdomein. Het is overigens nog niet gelukt.quote:Op donderdag 21 februari 2013 16:50 schreef Tijn het volgende:
Ik zou gewoon een bestandje maken op de plek waar je nu index.php ook hebt staan en vervolgens dat bestandje opvragen.
Het lijkt er namelijk op dat __DIR__ niet wordt gevuld, aangezien er wordt geprobeerd om "/app/config/boot.php" te includen. Daar zou nog iets voor moeten staan (namelijk de plek op je schijf waar dit allemaal staat). Ik neem ten minste aan dat je webapplicatie niet in de root van je partitie staat, wel?
| 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 | <?php class User { public $RealFirstName; public $RealLastName; public $RegDate; public $Nickname; public $Email; function AddUser($Fname,$Lname,$Nick,$Mail) { $this->RealFirstName = $Fname; $this->RealLastName = $Lname; $this->RegDate = date("d-m-Y"); $this->Nickname = $Nick; $this->Email = $Mail; } function DelUser() { $this->RealFirstName = ""; $this->RealLastName = ""; $this->Nickname = ""; $this->Email = ""; $this->RegDate = ""; } function EditUser() { //pas gebruiker aan } function GetNickname() { return $this->Nickname; } function GetRealname() { $realname = $this->RealFirstName." ".$this->RealLastName; return $realname; } function GetEmail() { return $this->Email; } function GetRegdate() { return $this->RegDate; } } $user = new User(); $user->AddUser("John","doe","Jdoe","Doe@Joh.nl"); ?> |
In wezen wel. De grote vraag van mijn kant is: wat is het voor een object? Dan kan je er functioneel of architectuur-technisch pas iets zinnigs over zeggen.quote:Op vrijdag 22 februari 2013 12:21 schreef mschol het volgende:
ik ben eens wat aan het proberen met classes (OOP is nooit echt mijn ding geweest) en vraag mij af of de basis opzet correct is:
[ code verwijderd ]
dus afgezien van escapes enzo, klopt deze opzet?
dit is voor mij puur een zeer simpel probeerseltje, waarmee ik dan een gebruiker (b.v. van een site) kan aanmaken, informatie kan tonen en weer kan verwijderen...quote:Op vrijdag 22 februari 2013 14:55 schreef rekenwonder het volgende:
[..]
In wezen wel. De grote vraag van mijn kant is: wat is het voor een object? Dan kan je er functioneel of architectuur-technisch pas iets zinnigs over zeggen.
Ik ga het doornemen.., bedankt iigquote:Paar opmerkingen:
• Member variabelen maak je over het algemeen private of protected (data-hiding in OOP)
• Ik zou de methods (functies) expliciet van een visibility scope voorzien. Dus in dit geval waarschijnlijk public.
• Check even het hoofdstukje in de PHP manual over naming conventions van methods en variabelen.
Wat opmerkingen:quote:Op vrijdag 22 februari 2013 12:21 schreef mschol het volgende:
ik ben eens wat aan het proberen met classes (OOP is nooit echt mijn ding geweest) en vraag mij af of de basis opzet correct is:
[ code verwijderd ]
dus afgezien van escapes enzo, klopt deze opzet?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php class User { private $realFirstName_; // ... public function __construct($realFirstName, ...) { $this->realFirstName_ = $realFirstName; // ... } public function getRealFirstName() { return $this->realFirstName_; } public function setRealFirstName($realFirstName) { $this->realFirstName_ = $realFirstName; } // ... } $user = new User('Jan', 'Modaal', ...); ?> |
Weet niet of er een PHP library is, maar de c# library heb ik laatst gebruikt, en dat ging best fijn.quote:Op dinsdag 5 februari 2013 09:18 schreef webbyplus het volgende:
Vraagje; Voor school moet ik regelmatig Word/Excel-documenten maken/aanpassen. Kent iemand een soort van "repository"/opslag tooltje in PHP waarmee ik op mijn site makkelijk documenten kan uploaden en bewerken?
Ja dat is behoorlijk veel, klinkt als een slechte loop ergens in de software.quote:Op dinsdag 5 februari 2013 09:31 schreef Swetsenegger het volgende:
Korte vraag,
Zijn 2500 tot 6000 queries per seconden als "ernstig veel" te classificeren voor een SQL server?
En indien ja, hoe kan je dat aantal verminderen zonder het obvious "minder queries per pageview gebruiken"?
Ik bedoel dus cache oid?
Eens, ook zou ik de Get prefix niet gebruiken als het om een property gaat, get zou ik hooguit gebruiken wanneer er een speciale operatie zou moeten plaatsvinden die nog eens een extra handeling doet om iets buiten het object op te halen.quote:Op zaterdag 23 februari 2013 13:03 schreef papernote het volgende:
[..]
Wat opmerkingen:
- addUser is feitelijk gewoon de constructor, dus die functie moet weg. Vervang hem door __construct()
- delUser is overbodig
- editUser zou ik weghalen en vervangen door set-methoden (setRealFirstName(), setRealLastName, enz...)
- ik mis de get-functies voor firstname en lastname
- let op de benaming van alles (consistent gebruik van hoofdletters). Ik vind het zelf mooier als functies en variabelen lowerCamelCase zijn en classes UpperCamelCase.
- gebruik public/private/protected
[ code verwijderd ]
Ligt er aan natuurlijk, als dit gebeurt wanneer er 5 mensen actief zijn op de website, dan wel natuurlijk.quote:Op zondag 24 februari 2013 10:50 schreef raptorix het volgende:
[..]
Ja dat is behoorlijk veel, klinkt als een slechte loop ergens in de software.
Uiteraard, maar dan nog zijn duizenden queries per seconde idioot hoog, ik zit naast de funda beheerders, kan wel eens vragen hoeveel queries per seconde het db cluster pakt, hoewel tegenwoordig veel gebruik gemaakt word van SOLR indexes.quote:Op maandag 25 februari 2013 00:30 schreef TwenteFC het volgende:
[..]
Ligt er aan natuurlijk, als dit gebeurt wanneer er 5 mensen actief zijn op de website, dan wel natuurlijk.
het is een hulptopic, geen topic waar anderen jouw code geheel voor jou schrijven.quote:Op dinsdag 26 februari 2013 12:24 schreef webbyplus het volgende:
Hallo, zie bijgaande tabel mappen;
[ afbeelding ]
Iemand zin in deze uitdaging?
dat vraag ik ook nietquote:Op dinsdag 26 februari 2013 12:28 schreef stefanhaan het volgende:
het is een hulptopic, geen topic waar anderen jouw code geheel voor jou schrijven.
dan moet je ook een daadwerkelijke vraag stellen, of zeggen wat je probleem is. Zoals tijn aangeeft.quote:Op dinsdag 26 februari 2013 12:30 schreef webbyplus het volgende:
[..]
dat vraag ik ook nietEr moet blijkbaar een itereterend stukje code worden geschreven om steeds de submenus op te halen en ik kom er niet uit. Dus ik vraag om hulp, een duw in de goede richting, maar hoef geen volledige uitgewerkt code...
quote:Op dinsdag 26 februari 2013 12:30 schreef Tijn het volgende:
Wat is je vraag, webbyplus? Wat heb je al? Waar loop je tegenaan?
Ja, dat zeg ikquote:Op dinsdag 26 februari 2013 12:38 schreef Rockfire het volgende:
Waarom heb je een kolom haschildren en level? Dat kun je toch allemaal afleiden uit de kolom parent?
Een enkele query is lastig aangzien de boom ergens in de PHP code opgebouwd zou moeten worden. Zoiets als dit is het beste te realiseren dmv een recursieve functie die steeds een stap dieper gaat.quote:Op dinsdag 26 februari 2013 12:42 schreef Tijn het volgende:
Ik zou denk ik een functie maken om alle mappen van een bepaalde parent op te halen. Dan begin je met alle mappen die parent null hebben en daarna loop je door je resultaten en haal je steeds de submappen bij elke parent op.
Dat zorgt misschien wel voor een hoop queries. Simpele queries, maar toch. Het kan vast ook met 1 geniale query die alles combineert, maar zo'n held met SQL ben ik niet.
Onderstaande heb ik niet getest. Zal theoretisch hetzelfde als je voorbeeld moeten outputten.quote:Op dinsdag 26 februari 2013 12:24 schreef webbyplus het volgende:
Hallo, zie bijgaande tabel mappen;
[ afbeelding ]
Nu wil ik in alfabetische volgorde van mapname een boomstructuur opbouwen waarbij wordt ingesprongen met 5 x spatie per niveau.
ID --> Unieke naam
Mapname --> Omschrijving
Parentmap --> Geeft aan welke ID de parent is van deze map
Haschildren --> Geeft aan of de betreffende ID children heeft
Level --> Geeft aan op welk niveau de map zich bevind
Dit met de wetenschap dat het aantal niveau's theoretisch gezien tot 20 zou kunnen uitlopen.
De uitvoer zou er obv deze tabel zo uitzien;
----- school
---------- AV1
--------------- kjhkj
---------- AV2
---------- AV3
---------- jkl
---------- mno
---------- pqr
----- werk
---------- def
--------------- test
---------- ghi
---------- stu
---------- vwx
---------- yz
Iemand zin in deze uitdaging?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php print listMappen(); function listMappen($master_id = 0, $depth = 1) { $mappen_output = ''; if(is_numeric($master_id)) { $res = mysql_query("SELECT id, parentmap, mapname FROM mappen WHERE parentmap = " . $master_id)or die("Fatal error: ".mysql_error()); while($row = mysql_fetch_array($res)) { $mappen_output .= str_repeat('-----', $depth) . htmlentities($row['mapname']) . '<br />'; $mappen_output .= listMappen($row['id'], $depth + 1); } } return $mappen_output; } ?> |
quote:Op dinsdag 26 februari 2013 15:21 schreef The_Terminator het volgende:
[..]
Dan post je maar een betere.
| 1 2 3 4 5 6 7 8 9 10 11 12 | <?php $dbh = new PDO("mysql:host=".$address.";dbname=".$dbname, $user, $password); $sql = $dbh->prepare(' SELECT x-as, y-as, z-as FROM locations WHERE z-as > steen '); if($sql->exec()){ $result = $sql->fetch(); // Code } ?> |
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |