Je kon het kiezen. Ik ben daar al een tijd klant en mensen die voor een bepaalde datum al klant waren blijven PHP4 draaien tot je dat zelf aanpast.quote:Op woensdag 17 augustus 2011 16:06 schreef KomtTijd... het volgende:
Dat je je provider moet schoppen, als'ie nog steeds PHP4 draait.
Al gedaan, thanks. Ik had E_ALL ook al aan trouwens, die gaf over die variabelen geen fouten.quote:Op woensdag 17 augustus 2011 16:11 schreef Pakspul het volgende:
[..]
Pleur error_reporting(E_ALL); ook nog even aan, want je definieert eerst variabelen zonder hoofdletter en roept dan met hoofdletter aan (zie regel: 6,7)
Nee, stmmen met je voeten is weglopen naar een ander.quote:Op woensdag 17 augustus 2011 16:06 schreef KomtTijd... het volgende:
Dat je je provider moet schoppen, als'ie nog steeds PHP4 draait.
Krom, zou die wel moeten doen. Ander punt volgens mij is je klasse opbouw ook niet helemaal goed. Een gastenboek als class hebben betekent dat je meerdere gastenboeken hebt. Maar jij hebt een gastboek met daarin meerdere berichten. Dus je class moet GasteboekBericht heten o.i.d. In de gastenboek class komen dingen als AantalBerichten (totaal) en Berichten per pagina etc.quote:Op woensdag 17 augustus 2011 16:14 schreef boem-dikkie het volgende:
[..]
Al gedaan, thanks. Ik had E_ALL ook al aan trouwens, die gaf over die variabelen geen fouten.
Ja oké. Maar de namen hier zijn meer om even te testen of het werkt. Ben pas net aan het inlezen over OOP en het één en ander aan het proberen.quote:Op woensdag 17 augustus 2011 16:17 schreef Pakspul het volgende:
[..]
Krom, zou die wel moeten doen. Ander punt volgens mij is je klasse opbouw ook niet helemaal goed. Een gastenboek als class hebben betekent dat je meerdere gastenboeken hebt. Maar jij hebt een gastboek met daarin meerdere berichten. Dus je class moet GasteboekBericht heten o.i.d. In de gastenboek class komen dingen als AantalBerichten (totaal) en Berichten per pagina etc.
Dat is stemmen met je portemonneequote:Op woensdag 17 augustus 2011 16:15 schreef GlowMouse het volgende:
[..]
Nee, stmmen met je voeten is weglopen naar een ander.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $res = mysql_query($sql, $dbe); if ($res && mysql_num_rows($res) > 0) { $i = 0; while($row = mysql_fetch_array($res, MYSQL_ASSOC)){ foreach($row as $key => $value){ $output[$i][$key] = $value; } $i++; } } ?> |
Volgens mij heb je het al aardig minimalistisch.quote:Op woensdag 17 augustus 2011 16:44 schreef Sitethief het volgende:
[ code verwijderd ]
Kan dit performance wise sneller? Ik heb het gevoel dat ik iets verkeerd doe.....
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php $res = mysql_query($sql, $dbe); if ( is_resource($res) === true ) { if ( mysql_num_rows($res) > 0 ) { $outputArray = array(); while($row = mysql_fetch_assoc($res)) { $outputArray[] = $row; } } } else { die(mysql_error()); } ?> |
1 2 3 4 5 | <?php if (!mysql_query($sql)) {$this->melding = "<p>Error.</p>";} else {$this->melding = "<p>Bericht is succesvol toegevoegd.</p>";} } ?> |
1 | <?php if (!empty($Gastenboek->melding)) { echo $Gastenboek->melding; } ?> |
Als er iets misgaat bij invoeren van het bericht kun je ook een Exception gooien die je dan buiten de class kunt opvangen.quote:Op woensdag 17 augustus 2011 17:15 schreef boem-dikkie het volgende:
Om aan te geven of ik een error of een goedkeuring heb bij het toevoegen van een bericht heb ik dit stukje.
[ code verwijderd ]
Buiten de class spreek ik dit aan doormiddel van:
[ code verwijderd ]
Hij laat nu echter altijd "Bericht is succesvol toegevoegd" zien boven het formulier in plaats wanneer ik iets heb toegevoegd.
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 | <?php try { $gastboek->BerichtToevoegen(); // als alles is goed gegaan dan gaat hij hier verder } catch( Exception $ex) { echo "<h1>Er is iets heel ergs gebeurd!</h1>"; echo $ex->getMessage(); exit; } // in het gastenboek class Gastenboek { function BerichtToevoegen() { $result = mysql_query($query); if ( $result === false ) { throw new Exception(mysql_error()); } } } ?> |
Oké, maar dan alsnog vraag ik me af waarom hij mijn '!empty' niet pakt terwijl hij dat in mijn 'oude' code (niet OOP) wel gewoon doet.quote:Op woensdag 17 augustus 2011 17:31 schreef Pakspul het volgende:
[..]
Als er iets misgaat bij invoeren van het bericht kun je ook een Exception gooien die je dan buiten de class kunt opvangen.
[ code verwijderd ]
Hoe en waar heb je '$this->melding' gedeclareerd?quote:Op woensdag 17 augustus 2011 19:22 schreef boem-dikkie het volgende:
[..]
Oké, maar dan alsnog vraag ik me af waarom hij mijn '!empty' niet pakt terwijl hij dat in mijn 'oude' code (niet OOP) wel gewoon doet.
Gooi eens wat meer code hier neer, want doe je de formulier afhandeling (aanname <form action="post">) achter de volgende ifstatement.quote:Op woensdag 17 augustus 2011 19:22 schreef boem-dikkie het volgende:
[..]
Oké, maar dan alsnog vraag ik me af waarom hij mijn '!empty' niet pakt terwijl hij dat in mijn 'oude' code (niet OOP) wel gewoon doet.
1 2 3 4 5 6 | <?php if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) { // hier formulier afhandeling } ?> |
Met SimpleXMLElement kun je eenvoudig een XML bestand omzetten naar een array. Volgens mij moet het daarna een eitje zijn om je object te vullen.quote:Op woensdag 17 augustus 2011 21:31 schreef ursel het volgende:
Hoe kan ik een Soap XML het gemakkelijskte omzetten naar een Data object?
Ja, ik weet dat met een soap call je dit automatisch kan aanroepen, maar heb een aantal xml's per file toegestuurd gekregen
Ja, was daar ondertussen al half. Soms zit je gewoon ff in de verkeerde hoek te zoeken.quote:Op woensdag 17 augustus 2011 21:52 schreef Pakspul het volgende:
[..]
Met SimpleXMLElement kun je eenvoudig een XML bestand omzetten naar een array. Volgens mij moet het daarna een eitje zijn om je object te vullen.
Laatste tijd zelf met XML bezig geweest en kwam hier na een tijdje achter. Zat eerst dagen met XML reader/writers te kloten en dit is velen malen makkelijker aangezien ik het ook zo wilde hebbenquote:Op woensdag 17 augustus 2011 21:55 schreef ursel het volgende:
[..]
Ja, was daar ondertussen al half. Soms zit je gewoon ff in de verkeerde hoek te zoeken.
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <?php final class DataBase { private static $_Instance; private $_ID; // hier komt de PDO class in te staan public $_onnectionString; protected function __construct { // niet public omdat dat nodig is in singleton pattern } public function ExecuteQuery($Query) { // hier wordt de SELECT query uitgevoerd } public function ExecuteNonQuery($Query) { // hier worden INSERT, UPDATE, DELETE queries uitgevoerd } public function Open() { // openen van de database connectie (moet je dus wel connection string hebben) } public function Close() { // spreekt voor zich } // kun je gebruiken bij ISERTR query om nieuwe ID nummer op te halen (a public function LastInsertID() { return (int) $this->_ID->lastInsertID(); } public function BeginTransaction() { $this->_ID->beginTransaction(); } public function Commit() { $this->_ID->Commit(); } public function Rollback() { $this->_ID->Rollback(); } final static public function GetInstance() { if ( self::$_Instance === null ) { self::$_Instance = new DataBase(); } return self::$_Instance; } final public function __Clone() { throw new Exception("Ain't allowed to clone this object"); } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php // ergens in het begin van je code $db = DataBase::GetInstance(); $db->ConnectionString = "localhost;balblablablabla"; $db->Open(); // om query uit te voeren $db = DataBase::GetInstance(); $db->ExecuteQuery("query hier invullen"); // afsluiter $db = DataBase::GetInstance(); $db->Close(); ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |