1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public function __construct($id){ /* bestaand object, uit de database laden */ $sql = sprintf("SELECT * FROM message WHERE ID = %d LIMIT 1", $id); $result = mysql_query($sql); if ($result){ /* class inladen met bestaande data */ } } public function __construct(){ /* leeg object, enkel de aanmaakdatum alvast invullen */ $dateSend = date("Y-m-d"); } ?> |
1 |
Volgensmij kun je dezelfde functienaam niet 2x declareren. Hoe moet php nou weten welke functie je aan wil roepen, hij gaat ze echt niet allebij uitvoeren.quote:Op dinsdag 10 juni 2008 02:23 schreef Geqxon het volgende:
Bizar.
[ code verwijderd ]
[ code verwijderd ]
Dit is toch prima mogelijk? Meerdere constructoren met elk een verschillend aantal parameters?
Nope. Van PHP6 weet ik het niet, maar in PHP4 en PHP5 kan het met zekerheid niet.quote:Op dinsdag 10 juni 2008 07:33 schreef Dzy het volgende:
Nee hoort wel te kunnen, afhankelijk van het aantal parameters.
1 |
In dit geval gaat het wel, maar in mijn userclass wil ik een paar constructors:quote:Op dinsdag 10 juni 2008 08:37 schreef Xcalibur het volgende:
kan je het niet zo doen:
[ code verwijderd ]
Dat je ID een default waarde geeft (blanco), zodat die gebruikt wordt als je niks invult.
Of eventueel met function_get_args() het aantal argumenten tellen?
Dat kan dus niet met PHP. Wel met Java.quote:Op dinsdag 10 juni 2008 08:44 schreef Geqxon het volgende:
[..]
In dit geval gaat het wel, maar in mijn userclass wil ik een paar constructors:
-Eentje met het UserID
-Eentje met een username en password die gelijk authenticatie doet
-Eentje zonder parameters die een nieuwe user aanmaakt.
Wat ik van OO gewend ben is dat je dan gewoon meerdere constructors kunt gebruiken?
1 2 | DirectoryIndex index.php index.html index.htm |
1 2 3 4 5 6 7 | Allow all RewriteRule ^xemail$ /cgi-bin/mail/jilmail.cgi [L] RewriteRule ^domail$ /cgi-bin/mail [L] |
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 | // Haal artiest(en) op die track geproduceerd hebben function getArtistTrack($aGetAllTracksResult, $oDbh) { $aGetArtistTrack = $aGetAllTracksResult; $iTotalElements = count($aGetArtistTrack); for($i=0; $i < $iTotalElements; $i++) { $p_iTrackID = $aGetArtistTrack[$i]['id']; $sql = "SELECT ARTIST_TRACK.artist_id, ARTIST_TRACK.track_id, ARTIST.id, ARTIST.artistname FROM ARTIST_TRACK, ARTIST WHERE ARTIST_TRACK.artist_id = ARTIST.id AND ARTIST_TRACK.track_id = $p_iTrackID"; $stmt = $oDbh->query($sql); while ($row = $stmt->fetch()) { $aGetArtistTrack[$i]["artistname"][] = $row['artistname']; } } $aGetArtistTrackResult = $aGetArtistTrack; return $aGetArtistTrackResult; } ?> |
Dit al geprobeerd?:quote:Op dinsdag 10 juni 2008 21:40 schreef warezguy05 het volgende:
Hallo mensen,
Ik zit met het volgende probleem.
Ik heb 3 tabellen; ARTIST, ARTIST_TRACK (koppeltabel), en TRACK
Middels een functie die een bestaande array doorloopt, wil ik de juiste artiest-namen (dit kunnen er meerdere per track zijn) aan het juist arrayelement koppelen.
Ik gebruik de volgende functie:
[ code verwijderd ]
De array bestaat bijvoorbeeld uit 5 elementen (tracks) waaraan de juiste artiestnamen gekoppeld moeten worden. De for-loop moet dus 5x doorlopen worden, maar als ik mn var_dump nakijk dan wordt de for-loop slechts 1 maal doorlopen :s (alleen aan element 0 wordt de artiestnaam toegevoegd)...
Weet iemand waar dit aan kan liggen?
Nee, count() is bedoeld voor arrays. Als je count() aanroept op een andere variabele dan krijg je altijd 1 terug, tenzij die variabele niet geset is of NULL is. Als de resultset leeg is dan is de variabele nog steeds geinitialiseerd en niet NULL, dus levert count() 1 op.quote:Op dinsdag 10 juni 2008 22:11 schreef Dzy het volgende:
Een count op een resultset geeft altijd 1 aan behalve als de resultset leeg is, je moet de functie mysql_num_rows oid gebruiken lijkt me.
Maar hij krijgt dus wel iets terug:quote:Op dinsdag 10 juni 2008 22:26 schreef Light het volgende:
[..]
Nee, count() is bedoeld voor arrays. Als je count() aanroept op een andere variabele dan krijg je altijd 1 terug, tenzij die variabele niet geset is of NULL is. Als de resultset leeg is dan is de variabele nog steeds geinitialiseerd en niet NULL, dus levert count() 1 op.
Dat betekend dat er wel iets in die array aanwezig is.quote:alleen aan element 0 wordt de artiestnaam toegevoegd
Ben geen ZCE, maar weet wel dat het inderdaad altijd als string door wordt gegeven. is_int zal dus inderdaad niet werken.quote:Op dinsdag 10 juni 2008 22:30 schreef Swetsenegger het volgende:
Vraag aan ZCE's hier.
Is het waar dat alle userdata als STRING binnen komt?
dus if(is_int($_POST['getal'])) zal FALSE terug geven als de user bv 5 heeft ingevuld?
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 | [0]=> array(5) { ["id"]=> string(1) "1" ["title"]=> string(16) "Cosmic Evolution" ["remix"]=> string(12) "Scot Project" ["artist_track_id"]=> string(1) "1" ["artistname"]=> array(1) { [0]=> string(9) "Microbots" } } [1]=> array(4) { ["id"]=> string(1) "2" ["title"]=> string(7) "Octopus" ["remix"]=> string(12) "Lost In Case" ["artist_track_id"]=> string(1) "2" } [2]=> array(4) { ["id"]=> string(1) "3" ["title"]=> string(26) "Contact (We Gotta Connect)" ["remix"]=> string(13) "Warp Brothers" ["artist_track_id"]=> string(1) "3" } en dan t/m element [4] |
En als je $iTotalElements eens print, bevat die wel de juiste waarde? Zo ja dan zit het idd in de loop, maar vraag me af waar...quote:Op dinsdag 10 juni 2008 22:36 schreef warezguy05 het volgende:
aan de count ligt het niet, die echo ik namelijk later nog een keer en komt overeen met het aantal elementen
wanneer ik bijv $iTotalElements = 5; toepas, dan omzeil ik ff die count...maar dan blijft het probleem bestaan dat er maar 1 element uit de array wordt afgewerkt ipv 5
ik heb nog een beetje verder lopen proberen:
wanneer ik bijv $i = 1 doe, dan pakt hij (zoals het hoort) het 2e element uit de array, en werkt hij deze prima af...maar de 3e ho maar
Dat vind ik nogal vaag op zijn zachts gezegd. Je hebt dus allerlei controle mogelijkheden voor types variabelen, maar dat geldt dus alleen voor variabelen die uit je script komen.quote:Op dinsdag 10 juni 2008 22:35 schreef The_Terminator het volgende:
[..]
Ben geen ZCE, maar weet wel dat het inderdaad altijd als string door wordt gegeven. is_int zal dus inderdaad niet werken.
Edit: ctype_digit zou wel moeten werken op postdata.
Ja.quote:Op dinsdag 10 juni 2008 22:30 schreef Swetsenegger het volgende:
Vraag aan ZCE's hier.
Is het waar dat alle userdata als STRING binnen komt?
dus if(is_int($_POST['getal'])) zal FALSE terug geven als de user bv 5 heeft ingevuld?
uhuh.quote:Op dinsdag 10 juni 2008 22:42 schreef Light het volgende:
Met intval($_POST['getal']) kun je er natuurlijk wel een getal van maken.
Het ligt vast aan het tijdstip, maar ik snap weinig van je code. Variabelen met een naam Get.., alsof het functies zijn. En die naam dan als parameter van een functie.quote:Op dinsdag 10 juni 2008 21:40 schreef warezguy05 het volgende:
Hallo mensen,
Ik zit met het volgende probleem.
Ik heb 3 tabellen; ARTIST, ARTIST_TRACK (koppeltabel), en TRACK
Middels een functie die een bestaande array doorloopt, wil ik de juiste artiest-namen (dit kunnen er meerdere per track zijn) aan het juist arrayelement koppelen.
Ik gebruik de volgende functie:
[ code verwijderd ]
De array bestaat bijvoorbeeld uit 5 elementen (tracks) waaraan de juiste artiestnamen gekoppeld moeten worden. De for-loop moet dus 5x doorlopen worden, maar als ik mn var_dump nakijk dan wordt de for-loop slechts 1 maal doorlopen :s (alleen aan element 0 wordt de artiestnaam toegevoegd)...
Weet iemand waar dit aan kan liggen?
begrijpelijk.quote:Op dinsdag 10 juni 2008 22:45 schreef Light het volgende:
[..]
Het ligt vast aan het tijdstip, maar ik snap weinig van je code. Variabelen met een naam Get.., alsof het functies zijn. En die naam dan als parameter van een functie.
Aan de andere kant pompt de browser gewoon een rij tekens naar de server, zonder zich te bekommeren over de betekenis of interpretatie.quote:Op dinsdag 10 juni 2008 22:40 schreef Swetsenegger het volgende:
[..]
Dat vind ik nogal vaag op zijn zachts gezegd. Je hebt dus allerlei controle mogelijkheden voor types variabelen, maar dat geldt dus alleen voor variabelen die uit je script komen.
Gaat niet echt werken als je inbox niet aanstaat he, pm mij maar met wat meer info, heb toch een maand wat minder te doen.quote:Op dinsdag 10 juni 2008 22:38 schreef poffu het volgende:
ben opzoek naar iemand een een php coding kan afmaken van een webshop
PM me even voor meer info
400eu+ vergoeding
groeten!
nee, de interpretatie zou aan de serverkant moeten liggen. Kom het moet natuurlijk relatief eenvoudig zijn om een sting van een integer of float te onderscheiden.quote:Op dinsdag 10 juni 2008 22:50 schreef Light het volgende:
[..]
Aan de andere kant pompt de browser gewoon een rij tekens naar de server, zonder zich te bekommeren over de betekenis of interpretatie.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |