Ik ben zelf wel tevreden met Webreusquote:Op maandag 23 juli 2007 23:43 schreef Geqxon het volgende:
Anyhow, iemand een goed adresje? 100 megabyte webspace, 3 gigabyte dataverkeer de maand, unlimited mail-adressen (catch-all), minimaal 5 MySQL databases en PHP ondersteuning inclusief een domeinnaam, voor ongeveer 30-40 euro per jaar?
Ja, die had ik al geprobeerdquote:Op dinsdag 24 juli 2007 07:53 schreef WyriHaximus het volgende:
[..]
[ code verwijderd ]
Moet wel werken gok ik zo.
Goed, wat dat betreft is het stricte van Java dan ook wel weer fijn. Non compatible!quote:Op dinsdag 24 juli 2007 09:22 schreef SuperRembo het volgende:
[..]
Het zou logischer zijn als het een error gaf, of anders NULL.
Op deze manier is het net zo vaag als php. 'a'+'b' geeft 0, 'a' + '1' geeft 1, 'a' + 0x1 geeft 1, maar 'a' + '0x1' geeft dan weer 0Aan de warnings te zien probeert ie er een double van te maken.
Als ik het goed heb kan je MySQL wel zo instellen dat dit soort dingen wel een fout geven.
quote:Op dinsdag 24 juli 2007 09:22 schreef SuperRembo het volgende:
[..]
Het zou logischer zijn als het een error gaf, of anders NULL.
Op deze manier is het net zo vaag als php. 'a'+'b' geeft 0, 'a' + '1' geeft 1, 'a' + 0x1 geeft 1, maar 'a' + '0x1' geeft dan weer 0Aan de warnings te zien probeert ie er een double van te maken.
Als ik het goed heb kan je MySQL wel zo instellen dat dit soort dingen wel een fout geven.
1 2 3 4 5 6 | 'a' + 'b' = (int)'a' + (int)'b' = 0 + 0 = 0 'a' + '1' = (int)'a' + (int)'1' = 0 + 1 = 1 'a' + 0x1 = (int)'a' + 1 = 1 'a' + '0x1' = (int)'a' + (int)'0x1' = 0 + 1 = 1 // en niet 0 zoals jij beweert ?> |
Ja, ik snap ook wel wat er gebeurt. Handig vind ik het niet. Ik heb in zo'n geval liever dikke vette foutmelding.quote:Op dinsdag 24 juli 2007 18:43 schreef Thomass het volgende:
[..]
[ code verwijderd ]
och het is zo logisch mensen
Thx!quote:(gave site heb je trouwens)
Wat zijn je queries nu dan?quote:Op dinsdag 24 juli 2007 22:19 schreef Geqxon het volgende:
Weer een performance vraag, maar deze keer eentje met een groter effect. Alsin: 0.2 seconden versus 8 seconden.
Een simpele query, met een LEFT JOIN op een bookmarktabel. Nu wil ik dus graag alle nieuwsartikelen zien die de user gebookmarked heeft. Dus hop, de LEFT JOIN, en dan op de koppelende ID van de bookmarktabel een IS NOT NULL. Gaat zelfs over duizenden nieuwsartikelen prima, supersnel dus.
Nu wil ik zien welke nieuwsartikelen de user niet gebookmarked heeft. (For the record: Dit zijn er minder dan de wel gebookmarkte nieuwsartikelen). Dit doe ik door een IS NULL op het koppelend ID van de bookmark tabel te zetten. Probleem dus: Dit gaat vreselijk traag...
Zou dit misschien sneller op te lossen zijn? Ik weet dat JOINS traag kunnen zijn, en hiermee is dat duidelijk te zien.
1 2 3 4 | FROM Artikel AS a LEFT JOIN Bookmark AS bm ON bm.ArtikelID = a.ID WHERE bm.ArtikelID IS NOT NULL |
1 2 3 4 | FROM Artikel AS a LEFT JOIN Bookmark AS bm ON bm.ArtikelID = a.ID WHERE bm.ArtikelID IS NULL |
1 2 3 4 | FROM table1 WHERE id1 IN (SELECT id2 FROM table2 WHERE condition1); |
1 2 3 4 | FROM table1 WHERE id1 NOT IN (SELECT id2 FROM table2 WHERE condition1); |
Zover ik weet voert hij eerst de sub query uit, en zet het resultaat daar van in IN. 2 queries afaik. Kan er totaal naast zitten. Jammer dat JortK op vakantie is die weet behoorlijk wat van SQL afquote:Op dinsdag 24 juli 2007 23:25 schreef Geqxon het volgende:
Maar dan moet hij dus (in mijn geval) 6621 keer een select query uitvoeren? Ik heb wat moeite een testcase op te zetten, maar zo uit mijn hoofd lijkt dit niet bijster veel rapper.
1 2 3 | LEFT JOIN table2 ON table1.id=table2.id WHERE table2.id IS NULL; |
Puur SQL, of ook met PHP?quote:Op woensdag 25 juli 2007 01:09 schreef wonderer het volgende:
Hoe kan ik uitvogelen hoeveelste in een resultset een bepaald record is? Bijvoorbeeld "select from producten where klant_id='1'" en dan wil ik weten hoeveelste de barbecue is in die lijst. Is daar iets makkelijks voor?
Ook met PHP.quote:
quote:
1 2 3 4 5 6 7 8 9 | $i = 0; $result = executequery("blablabla"); while($row = fetchrow($result)) { $i++; echo($i . "e reccord:" . $row); } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $result = mysql_query("SELECT product FROM producten WHERE klant_id='1"); $i = 0; while ($row = mysql_fetch_assoc($result)){ if ($row['product'] == "Barbecue"){ $row_number = $i; break(); } $i++; } if (isset($row_number)){ echo "Barbecue was nummer " . $row_number . " op de lijst."; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | require_once('anotherclass.php'); class Baap { private $linkie; public function doSomething() { echo "zomg "; var_dump($linkie); } public function __construct() { $linkie = new AnotherClass(); var_dump($linkie); echo "<br>"; } } ?> |
self::linkie ipv $linkiequote:Op woensdag 25 juli 2007 10:03 schreef DikkeSmikkel het volgende:
Ik heb niet echt een vraag over MySQL maar wel één over PHP dus... ik verwacht dat-ie hier wel mag of niet?
Ik ben een beetje met classes aan het rommelen maar ik zie net iets over het hoofd waardoor het niet werkt...Kortom, tijd voor meer ogen.
[ code verwijderd ]
Ik heb dus twee classes waarvan er één in een include zit (en dus bovenin wordt eengeroepen). Nu heb ik dus in de __construct() dat-ie de tweede classe initialiseert en deze in de private variabele pleurt. Of tenminste dat wil ik, PHP denkt daar kennelijk anders over want in de functie doSomething is $linkie dus NULL. Ik ben al waar meer aan het proberen geweest maar ik zie 't niet meer...Kan iemand ff een aanwijzing geven?
Bedankt voor je snelle antwoord!quote:Op woensdag 25 juli 2007 10:09 schreef WyriHaximus het volgende:
[..]
self::linkie ipv $linkie. Omdat linkie een member is van je class kan je hem niet als een gewonen $var opschrijven maar moet je aangeven dat je de member wilt self::var
. Of en $this->linkie kan ook maar dat vind hij niet leuk als je in je constructor zit
.
Ow en dit is het PHP en/of (My)SQL topic dus PHP dingen zijn nooit een probleem.
De __contructor wordt toch maar 1x uitgevoerd toch?quote:Op woensdag 25 juli 2007 10:22 schreef Geqxon het volgende:
In de constructor een nieuwe klasse definieëren, pas je wel op dat je geen lus krijgt?
Als je in de constructor van "Auto" een nieuw "Auto" object aan maakt, krijg je een aardige lus.quote:Op woensdag 25 juli 2007 10:28 schreef DikkeSmikkel het volgende:
[..]
De __contructor wordt toch maar 1x uitgevoerd toch?
quote:Op woensdag 25 juli 2007 10:27 schreef DikkeSmikkel het volgende:
[..]
Bedankt voor je snelle antwoord!Ik ga even verder puzzelen. Als ik er niet uit kom dan merk je dat vanzelf...
![]()
Niet als je in de constructor van de class waar je in zit die zelfde class ook weer initialiseerdquote:Op woensdag 25 juli 2007 10:28 schreef DikkeSmikkel het volgende:
[..]
De __contructor wordt toch maar 1x uitgevoerd toch?
Nee ok dan wel, maargoed dan is zit het geheel wel heel brak in elkaar.quote:Op woensdag 25 juli 2007 10:35 schreef WyriHaximus het volgende:
Niet als je in de constructor van de class waar je in zit die zelfde class ook weer initialiseerd. Dan krijg je een loop
.
1 2 3 | $var = new AnotherClass(); ?> |
1 2 3 | self::$linkie = new AnotherClass(); ?> |
1 2 3 | private static $linkie; ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |