Die conclusie lees ik niet in zijn post, ik zou zeggen: lees de relevante posts hier eens door en maak zelf een beslissing over wat je het handigst vindtquote:Op vrijdag 4 mei 2007 09:55 schreef super-muffin het volgende:
[..]
Dus ik moet dan datetime gebruiken?
1 2 | SELECT * FROM `persons` WHERE l_name LIKE A % |
Dat kan toch gewoon met een OR in je where-clause?quote:Op zaterdag 5 mei 2007 16:54 schreef mschol het volgende:
maar kan ik dit niet combineren in 1 querie? (vind ik zelf handiger te verwerken in mijn script...)
Ja.quote:Op zaterdag 5 mei 2007 16:55 schreef Aibmi het volgende:
[..]
Dat kan toch gewoon met een OR in je where-clause?
quote:Op zaterdag 5 mei 2007 16:55 schreef Aibmi het volgende:
[..]
Dat kan toch gewoon met een OR in je where-clause?
Index errors op variabelen die nog niet bestaan? Dat is wel een beetje vreemd, meestal krijg je die op arrays waarbij je een key aanspreekt die nog niet bestaat :Pquote:Op zondag 6 mei 2007 16:45 schreef mschol het volgende:
bestaat in php een functie die gelijk staat aan dim van VBscript??
(dus in 1x een heleboel lege variabelen creeren?)
ik zit nu namelijk zoveel mogelijk index error's weg te werken maar dan krijg je dus een hele rits variable = ''; in je bestand...
1 2 3 4 5 6 7 8 9 10 | $a = false; $b = 3; if (functieReturnWaarde()) { $a = true; } $b += ($a ? 2 : 3); unset($a); ?> |
1 2 3 | if ($naam == false) ?> |
nee ik had ze nog niet gedefineerd en dan krijg je idd index errorsquote:Op zondag 6 mei 2007 16:54 schreef JeRa het volgende:
[..]
Index errors op variabelen die nog niet bestaan? Dat is wel een beetje vreemd, meestal krijg je die op arrays waarbij je een key aanspreekt die nog niet bestaat :P
1 2 3 4 5 6 7 | $var1 = ''; $var3 = ''; $var2 = ''; //hier je code ?> |
Zou je een voorbeeld kunnen geven van een stuk code dat die error geeft?quote:Op zondag 6 mei 2007 17:28 schreef mschol het volgende:
[..]
nee ik had ze nog niet gedefineerd en dan krijg je idd index errors
Het hangt van je error_reporting af. Als je ook waarschuwingen weergeeft kun je een melding krijgen wanneer je probeert te lezen van een ongeinitializeerde variabele, bijvoorbeeld:quote:Op zondag 6 mei 2007 17:30 schreef JeRa het volgende:
[..]
Zou je een voorbeeld kunnen geven van een stuk code dat die error geeft? :) Want voor zover ik weet krijg je die error alleen in combinatie met arrays, en dan is het niet de variabele die de error geeft, maar de array.
1 2 3 4 | error_reporting(E_ALL); echo $hoi ?> |
Mijn tactiek is dan juist om dat altijd aan te zetten en je scripts dan zo te schrijven dat je die fouten niet krijgt.quote:Op zondag 6 mei 2007 18:09 schreef JortK het volgende:
ja die error_reporting(E_ALL); is echt dodelijk voor het tonen van al je meldingen haha
Ik heb deze functie eigenlijk altijd alleen maar aanstaan voor debuggen
Ja bij het ontwikkelen heb ik het ook altijd aan staan, maar daarna haal ik hem eruit.quote:Op zondag 6 mei 2007 18:13 schreef cyberstalker het volgende:
[..]
Mijn tactiek is dan juist om dat altijd aan te zetten en je scripts dan zo te schrijven dat je die fouten niet krijgt.
Ja, dat weet ik. Maar krijg je dan een index error (daar ging het om namelijk)?quote:Op zondag 6 mei 2007 17:56 schreef cyberstalker het volgende:
[..]
Het hangt van je error_reporting af. Als je ook waarschuwingen weergeeft kun je een melding krijgen wanneer je probeert te lezen van een ongeinitializeerde variabele, bijvoorbeeld:
[ code verwijderd ]
Wat bedoel je met index error? Een error als je een arrayelement wilt lezen wat nog niet bestaat?quote:Op zondag 6 mei 2007 18:22 schreef JeRa het volgende:
[..]
Ja, dat weet ik. Maar krijg je dan een index error (daar ging het om namelijk)?
Ja, zie mijn vorige posts waar ik mschol quotequote:Op zondag 6 mei 2007 18:30 schreef cyberstalker het volgende:
[..]
Wat bedoel je met index error? Een error als je een arrayelement wilt lezen wat nog niet bestaat?
zie de reactie van cyberstalker onder jouw reactie, dat is exact wanneer het gebeurd, nou probeer ik em zelfs met Error reporting op E_All em zo schoon mogelijk te hebben, en dan komt soms die Index error voorquote:Op zondag 6 mei 2007 17:30 schreef JeRa het volgende:
[..]
Zou je een voorbeeld kunnen geven van een stuk code dat die error geeft?Want voor zover ik weet krijg je die error alleen in combinatie met arrays, en dan is het niet de variabele die de error geeft, maar de array.
Ik krijg dan 'unknown variable'.quote:Op zondag 6 mei 2007 19:36 schreef mschol het volgende:
[..]
zie de reactie van cyberstalker onder jouw reactie, dat is exact wanneer het gebeurd, nou probeer ik em zelfs met Error reporting op E_All em zo schoon mogelijk te hebben, en dan komt soms die Index error voor
Ja dat kan ook.quote:
hmmm.. oke., ik heb kennelijk wat te lang zitten coden...quote:
ja dat dacht ik ook...quote:Op maandag 7 mei 2007 16:06 schreef fokME2 het volgende:
Ligt dat niet aan de encoding?
1 |
oplossing zat wel die kant op:quote:Op maandag 7 mei 2007 16:43 schreef fokME2 het volgende:
Misschien zelf voor de zekerheid de encoding meegeven in de headers?
[ code verwijderd ]
Edit: Dat werkt dus niet. o|O
1 2 3 | htmlentities($alt_title,ENT_NOQUOTES,"UTF-8") ?> |
quote:Op maandag 7 mei 2007 17:11 schreef mschol het volgende:
[..]
oplossing zat wel die kant op:
ik gebruikte de functie htmlentities en die moest ik de encoding meegeven..
dus met
[ code verwijderd ]
werd alles goed weergegeven
En hoe update ik dat of moet ik dan php5 installeren?quote:Op maandag 7 mei 2007 17:48 schreef JeRa het volgende:
@Bill.Clinton
De standaard mysql-extensie van PHP ondersteunt niet het nieuwe authenticatieprotocol van MySQL, je kunt daarvoor mysqli of PDO gebruiken
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 | $result = mysql_query($query); $count = mysql_num_rows($result); $counter = 0; $cats = array(); // alle informatie in arrays gooien while(list($id, $naam, $parent, $actief) = mysql_fetch_row($result)){ $cats[$counter] = array($id, $naam, $parent, $actief); $counter++; } // aantal categorieen $aantal = count($cats); $aantal = $aantal - 1; // array uitlezen for ($i=0; $i<=$aantal; $i++){ // root laag if ($cats[$i][2] == 0){ echo $cats[$i][1]; echo $cats[$i][2]; echo "<br>"; } } |
Welke versie van MySQL gebruik je en hoe ziet je databasemodel eruit?quote:Op maandag 7 mei 2007 19:45 schreef markiemark het volgende:
Ik ben een kleine applicatie aan het maken, maar wel met iets ingewikkelds er in.. voor mij..
Ik wil categorieën kunnen beheren met daaronder subcategorieën. Nu wil ik alle categorieen in een keer ophalen, in een array gooien en vervolgens sorteren. De root categorieen haal ik zo op:
[ code verwijderd ]
Dit werkt.. Maar hoe krijg ik nu de sub categorieen daar onder?
Hmmz, ik heb 4.4.2 draaien dus dat kan het probleem niet veroorzaken?quote:Op maandag 7 mei 2007 18:09 schreef George.W.Bush het volgende:
[..]
En hoe update ik dat of moet ik dan php5 installeren?
-edit- 4.3.11 of 5.0.4 inderdaad
Waarom MS SQL eigenlijk? kleven daar nog flinke voordelen aan of gewoon omdat je in een IIS-achtige omgeving draait ofzo?quote:Op dinsdag 8 mei 2007 18:39 schreef JortK het volgende:
Ik ga nu beginnen met PHP en MS SQL 2005
Het draait nu naar behoren kijken hoever ik kom met de functies die PHP voor MS SQL heeft
MSSQL no offence tegenover de MySQL fanaten is toch een van de meer stabielere database systemen.quote:Op dinsdag 8 mei 2007 18:49 schreef Intrepidity het volgende:
[..]
Waarom MS SQL eigenlijk? kleven daar nog flinke voordelen aan of gewoon omdat je in een IIS-achtige omgeving draait ofzo?
Zoals daar zijn?quote:Op dinsdag 8 mei 2007 19:08 schreef JortK het volgende:
En het aantal functionaliteit van MS SQL (en zeker 2005) is vele malen groter als MySQL als database systeem.
Helaas geen behoorlijke error afhandeling, maar ik zal morgen wel ff een scriptje daarvor plaatsen.quote:Op dinsdag 8 mei 2007 18:39 schreef JortK het volgende:
Ik ga nu beginnen met PHP en MS SQL 2005
Het draait nu naar behoren kijken hoever ik kom met de functies die PHP voor MS SQL heeft
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <form id="enquete" name="vragen" method="post" action="post.php"> <span class="vraag">01. Vraag 1!</span><br /> <label><input class="radio" type="radio" name="vraag1" value="a" /></label> Blah!<br /> <label><input class="radio" type="radio" name="vraag1" value="b" /></label> Blah!<br /> <label><input class="radio" type="radio" name="vraag1" value="c" /></label> Blah!<br /> <label><input class="radio" type="radio" name="vraag1" value="d" /></label> Blah!<br /> <br /> <span class="vraag">02. Vraag 2!</span><br /> <label><input class="radio" type="radio" name="vraag2" value="a" /></label> Blah!<br /> <label><input class="radio" type="radio" name="vraag2" value="b" /></label> Blah!<br /><br /> <br /> <INPUT name="Submit" type="submit" value="Submit"> </form> ?> |
1 2 3 | inhoud_van_regel_2 inhoud_van_regel_3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | function get_sql_error () { $sql = "select @@ERROR as code"; $result = mssql_query($sql); $row = mssql_fetch_array($result); $code = $row["code"]; // error code $sql = "select cast (description as varchar(255)) as errtxt from master.dbo.sysmessages where error = $code and msglangid = 1033"; // german $result = mssql_query($sql); $row = mssql_fetch_array($result); if ($row) $text = $row["errtxt"]; // error text (with placeholders) else $text = "unknown error"; mssql_free_result($result); return "[$code] $text"; } ?> |
1 2 3 4 5 6 7 | FROM weblog_posts LEFT JOIN users ON users.id = weblog_posts.user_id LEFT JOIN weblog ON weblog.id = weblog_posts.weblog_id WHERE weblog_posts.message LIKE '%weblog%' GROUP BY weblog_posts.id LIMIT 0 , 30 |
Ja als hij het aantal records wil weten wel jaquote:Op woensdag 9 mei 2007 12:39 schreef JeRa het volgende:
@Chandler
Het enige wat ik nu even kan bedenken is dat hij COUNT(weblog_posts.id) als een aggregaatfunctie ziet bij "GROUP BY weblog_posts.id", waardoor hij het aantal weblog_posts.id's pér weblog_posts.id gaat tellen. Dan zou je als het goed is een hoop records met '1' moeten terugkrijgen. Zoek je niet toevallig COUNT(*)?
1 2 3 | $filename = tempnam("images", "news".$lastnewsid); ?> |
Dat lijkt me echt iets om in PHP op te lossen en niet in SQL.quote:Op woensdag 9 mei 2007 10:19 schreef HuHu het volgende:
[...]
Er staan dus 3 regels tekst in, gescheiden door een newline. Nu wil ik een view maken waarin elke regel zijn eigen cel krijgt. Ik kan de inhoud van de cel splitsen op '\n' en er zo 3 losse cellen van maken.
[...]
Ja, maar de 3 resultaat-cellen worden gebruikt in een externe applicatie die via ODBC de database uitleest. Ik kon dit dus niet in PHP oplossen en van de externe applicatie heb ik niet de beschikking over de broncode.quote:Op woensdag 9 mei 2007 17:24 schreef SuperRembo het volgende:
[..]
Dat lijkt me echt iets om in PHP op te lossen en niet in SQL.
Als je het in combinatie doet met mysql dan kan je toch net zo goed het bestand naar de sleutel vernoemen (altijd uniek...)?quote:Op woensdag 9 mei 2007 17:17 schreef hornage het volgende:
ik ben bezig met een fotouploadscript. Nu wil ik ervoor zorgen dat elke filename uniek is als ik hem wegschrijf. Ik vond hiervoor de mooie functie tempnam maar ik snap nog niet geheel hoe ik deze werkend krijg.
[ code verwijderd ]
Dit doe ik en ik krijg dan een pad naar een windows temp bestand terug.
Mijn bedoeling is dat ik een naam terugkrijg waarmee ik hem uniek in de map images op kan slaan. De bestandsnaam begint dan met news01 en daarna wat rommel om hem uniek te maken. Iemand een idee hoe dit te doen?
Daarvoor kun je de functie uniqid gebruiken wat een uniek id maakt.quote:Op woensdag 9 mei 2007 17:17 schreef hornage het volgende:
ik ben bezig met een fotouploadscript. Nu wil ik ervoor zorgen dat elke filename uniek is als ik hem wegschrijf. Ik vond hiervoor de mooie functie tempnam maar ik snap nog niet geheel hoe ik deze werkend krijg.
[ code verwijderd ]
Dit doe ik en ik krijg dan een pad naar een windows temp bestand terug.
Mijn bedoeling is dat ik een naam terugkrijg waarmee ik hem uniek in de map images op kan slaan. De bestandsnaam begint dan met news01 en daarna wat rommel om hem uniek te maken. Iemand een idee hoe dit te doen?
Ik zag vandaag toevallig een database-opzet voor een commerciële applicatie waarbij *alle* PK's gegenereerde UUID's waren. Wat bezielt sommige mensen?quote:
quote:Op woensdag 9 mei 2007 20:24 schreef CraZaay het volgende:
Ik gebruik DOMXML voor het parsen van een XML-bestand, maar ik krijg het niet voor elkaar om de waarde van een element uit te lezen (dus <element>waarde</element>). Wie heeft de gouden tip, want van de manual word ik ook niet echt wijzer (alle pogingen lijken niet te werken)?
1 2 3 | preg_match('<element>(.*?)</element>',$string); ?> |
Da's toch lichtelijk ranzig wat mij betreft hoorquote:Op woensdag 9 mei 2007 21:07 schreef mschol het volgende:
[..]
[ code verwijderd ]
even uit mijn hoofd hoor...
window.opener is een referentie naar het venster wat het nieuwe venster aanroept. Daarmee kun je gewoon variabelen of de DOM tree aanpassenquote:Op woensdag 9 mei 2007 22:48 schreef JortK het volgende:
Weet iemand hoe ik een nieuw browser venster kan openen, maar zeg maar als een soort dialoog scherm van me current browser window?
En dan die output vanuit het dialog window weer terug kan geven aan me current browser window?
Thanks!quote:Op woensdag 9 mei 2007 22:56 schreef cyberstalker het volgende:
[..]
window.opener is een referentie naar het venster wat het nieuwe venster aanroept. Daarmee kun je gewoon variabelen of de DOM tree aanpassen.
Hmm, zelf niet veel ervaring met parsen van bepaalde elementen van een DOM XML via PHP, maar op deze pagina staan alle Dom XML functies/classes van PHP. DomNode->child_nodes is kennelijk geschikt voor het parsen van elementen met meerdere childs.quote:Op woensdag 9 mei 2007 21:15 schreef CraZaay het volgende:
[..]
Da's toch lichtelijk ranzig wat mij betreft hoor
Ik wil graag DOMXML gebruiken om het XML-document te parsen, en het document niet als een string behandelen.
Waarschijnlijk is het issue dat een element meerdere kinderen heeft, omdat bijv. een tab ook een node is. Dan moet je weer gaan loopen om de eerste TextNode te vinden (net zoals in Javascript), maar ik vroeg me af of er geen functie is binnen de DOMXML-library die dit vanzelf doet.
Inderdaad is window.opener de referentie naar de window die je betreffende window geopend heeft. Een mooiere oplossing vind ik echter een <div>je die als 'venster' fungeert, in plaats van zo'n lelijk nieuw browservenster. Kun je 'm ook helemaal zelf stijlen.quote:
Weet ik en had uiteraard de manual al gelezenquote:Op woensdag 9 mei 2007 23:13 schreef Tuvai.net het volgende:
[..]
Hmm, zelf niet veel ervaring met parsen van bepaalde elementen van een DOM XML via PHP, maar op deze pagina staan alle Dom XML functies/classes van PHP. DomNode->child_nodes is kennelijk geschikt voor het parsen van elementen met meerdere childs.
Zoals ik al dacht heeft een element meerdere nodes in zich en gaat het om de text node.quote:Op donderdag 10 mei 2007 00:37 schreef CraZaay het volgende:
[..]
Weet ik en had uiteraard de manual al gelezen :) Punt is dus dat ik de waarde (cdata) van die child nodes wil hebben, maar dat lijkt nog niet zo makkelijk :P
1 2 3 4 5 6 7 | { if ($child2->node_type() == XML_TEXT_NODE) { echo($child->node_value()); } } |
Hoe bedoel je precies met een DIV, hoe kan ik op die manier een nieuw window opbouwen dan?quote:Op woensdag 9 mei 2007 23:13 schreef Tuvai.net het volgende:
Inderdaad is window.opener de referentie naar de window die je betreffende window geopend heeft. Een mooiere oplossing vind ik echter een <div>je die als 'venster' fungeert, in plaats van zo'n lelijk nieuw browservenster. Kun je 'm ook helemaal zelf stijlen.
Maak een 'zwevende' div die je met CSS styled als venster. Het is dus geen nieuw venster, maar een neppe.quote:Op donderdag 10 mei 2007 15:34 schreef JortK het volgende:
[..]
Hoe bedoel je precies met een DIV, hoe kan ik op die manier een nieuw window opbouwen dan?
* JortK wordt nu toch wel nieuwsgierig
Ik gaat eens kijken, als iemand toevallig nog een tut ervoor heeft, genre postenquote:Op donderdag 10 mei 2007 15:36 schreef Piles het volgende:
[..]
Maak een 'zwevende' div die je met CSS styled als venster. Het is dus geen nieuw venster, maar een neppe.
Zie als voorbeeld het PM systeem hier, als je het voorbeeld van een nieuw bericht bekijkt
OOhhhh die is goed die tipquote:Op donderdag 10 mei 2007 15:56 schreef CraZaay het volgende:
En een extragatis tip: leg tussen het 'venster' en de rest van de content een viewport-vullende div met een (semi-)transparante achtergrond als je niet wilt dat bezoekers buiten dat 'venster' op een link kunnen klikken.
Die is behoorlijk brak. Als je scrolt gaat het al misquote:
LOL je hebt gelijkquote:Op donderdag 10 mei 2007 16:00 schreef SuperRembo het volgende:
[..]
Die is behoorlijk brak. Als je scrolt gaat het al mis
Onder Safari gaat het scrollen wel goed, het is alleen jammer dat hij linksboven aan het venster snapt, en hij alle tekst op de pagina selecteert.quote:Op donderdag 10 mei 2007 16:00 schreef SuperRembo het volgende:
[..]
Die is behoorlijk brak. Als je scrolt gaat het al mis
Daarnaast gaat het bewegen fout, het maximaliseren is ruk en staat er levensgroot "deprecated" boven. Laat staan dat het er in m'n linuxdistro ontzettend lelijk uit zietquote:Op donderdag 10 mei 2007 16:00 schreef SuperRembo het volgende:
[..]
Die is behoorlijk brak. Als je scrolt gaat het al mis
Hebben jullie misschien een idee wat dat kan zijn? Indien ik de pagina niet include dan doet deze het wel. Zie hier.quote:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Zie voor meer info dus [PHP&MySQL] Includen en "correct" uitlezen uit de databasequote:Op donderdag 10 mei 2007 17:09 schreef poepeneesje het volgende:
Ik krijg de volgende error als ik probeer een pagina met daarin data uit een MsyQL-database probeer te includen:
Waarschijnlijk gebruik je ergens identieke variabellen-namen in de verschillende bestanden?quote:Op donderdag 10 mei 2007 17:09 schreef poepeneesje het volgende:
Beste mede-fokkers,
Ik krijg de volgende error als ik probeer een pagina met daarin data uit een MsyQL-database probeer te includen:
[..]
Hebben jullie misschien een idee wat dat kan zijn? Indien ik de pagina niet include dan doet deze het wel. Zie hier.
Poepeneesje.
Zou je zeggen ja!.quote:Op woensdag 9 mei 2007 12:39 schreef JeRa het volgende:
@Chandler
Het enige wat ik nu even kan bedenken is dat hij COUNT(weblog_posts.id) als een aggregaatfunctie ziet bij "GROUP BY weblog_posts.id", waardoor hij het aantal weblog_posts.id's pér weblog_posts.id gaat tellen. Dan zou je als het goed is een hoop records met '1' moeten terugkrijgen. Zoek je niet toevallig COUNT(*)?
Ik zal wel moeten, dit omdat ik 2 queries draai.quote:Op woensdag 9 mei 2007 13:38 schreef JortK het volgende:
Ja als hij het aantal records wil weten wel ja :Y
Het is trouwens nooit aan te raden om een veld wat in een aggregate function staat ook in een groupy by te gebruiken.
1 |
Huh?quote:Op donderdag 10 mei 2007 17:57 schreef Chandler het volgende:
[..]
group by is namelijk een vereiste bij joins..![]()
PHP komt met een interpreter die je vanaf de command-line kunt aanroepen met een PHP file als argument. Bijvoorbeeld onder DOS:quote:Op donderdag 10 mei 2007 19:06 schreef Geqxon het volgende:
Bestaat er voor bijvoorbeeld Mac OS X een PHP compiler? Dat ik in de terminal gewoon PHP commands (of desnoods een lap code) in kan voeren, en hij het resultaat teruggeeft?
Zou voor sommige kleine testpunten wel makkelijk zijn
1 |
@jera; dat doe je normaal toch met MySQL_NUM_ROWS... maar dan is de query al in zijn geheel uitgevoerd... en dat wil ik dus voorkomen qua preformance.quote:Op donderdag 10 mei 2007 18:53 schreef JeRa het volgende:
@Chandler
Het is nog steeds niet duidelijk wat je precies wilt tellen; het aantal mogelijke resultaten kun je eventueel afleiden door SQL_CALC_FOUND_ROWS en FOUND_ROWS() te gebruiken, het aantal resultaten per pagina bepaal je enerzijds vantevoren en anderzijds door te kijken hoeveel records je terugkrijgt.
@SuperRembo
Hij bedoelt dat hij een GROUP BY moet plaatsen omdat ie anders één item meerdere keren als zoekresultaat terugkrijgt
1 2 3 4 5 6 | FROM weblog_posts LEFT JOIN users ON users.id = weblog_posts.user_id LEFT JOIN weblog ON weblog.id = weblog_posts.weblog_id WHERE weblog_posts.subject LIKE '%post%' GROUP BY weblog_posts.id |
1 2 3 4 5 6 | FROM weblog_posts LEFT JOIN users ON users.id = weblog_posts.user_id LEFT JOIN weblog ON weblog.id = weblog_posts.weblog_id WHERE weblog_posts.subject LIKE '%post%' GROUP BY weblog_posts.id |
Ook niet...quote:Op donderdag 10 mei 2007 17:41 schreef Tuvai.net het volgende:
[..]
Waarschijnlijk gebruik je ergens identieke variabellen-namen in de verschillende bestanden?
1 |
1 2 3 4 5 6 | FROM weblog_posts wp JOIN users u ON u.id=wp.user_id JOIN weblog w ON w.id=wp.weblog_id WHERE wp.subject LIKE '%post%' ORDER BY wp.id |
Als jij een COUNT(*) doet moet MySQL toch de hele query uitvoeren, dus qua performance zit je niet goed. Sterker nog, je moet echt eens kijken naar SQL_CALC_FOUND_ROWS, omdat je daarmee óók met een LIMIT-clausule het totaal aantal rijen kunt bepalen, en je dus maar één query hoeft uit te voerenquote:Op donderdag 10 mei 2007 19:16 schreef Chandler het volgende:
[..]
@jera; dat doe je normaal toch met MySQL_NUM_ROWS... maar dan is de query al in zijn geheel uitgevoerd... en dat wil ik dus voorkomen qua preformance.
"De eerste resultaten"? En je weet dat een COUNT() zonder LIMIT alsnog de hele query uitvoert?quote:Op donderdag 10 mei 2007 19:47 schreef Chandler het volgende:
Helaas zit je toch FOUT!hehe
Stel een gebruiker wil het volgende.
1. Kijken hoeveel postings het woord (post) hebben.
2. Kijken hoeveel reacties een gebruiker heeft gepost (op basis van inner join met 'users')
3. Kijken hoeveel reacties een IP adres heeft en ga zo maar door.
Daarom moet ik de eerste resultaten doro een count halen. Daarna kan ik deze per pagina laten oproepen... Of zit ik nou raar te spacen?
Alleen als die velden daadwerkelijk opgehaald worden. Als je SQL_CALC_FOUND_ROWS gebruikt, wordt jouw tweede query uitgevoerd en zodra de LIMIT bereikt is gaat ie verder joinen (zonder de waarden op te halen!) en doet ie in feite een COUNT(*). Reken daarbij dat je maar de overhead van één grote en één kleine query hebt t.o.v. één grote en één normale query en je hebt performancewinst.quote:Op donderdag 10 mei 2007 21:45 schreef Chandler het volgende:
Dat weet ik, maar als je een query uitvoert op alle velden van een tabel of alleen op de ID's van een tabel scheelt dit toch aardig in de preformance?
"query uitvoeren op"? Het verschil zit 'm toch enkel in de hoeveelheid data die je retourneert? de where-claus blijft hetzelfde, net als de joins, etc.quote:Op donderdag 10 mei 2007 21:45 schreef Chandler het volgende:
Dat weet ik, maar als je een query uitvoert op alle velden van een tabel of alleen op de ID's van een tabel scheelt dit toch aardig in de preformance?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <tr> <td>titel 1</td> <td>titel 2</td> </tr> <tr> <td>titel 1</td> <td>titel 2</td> </tr> <tr> <td>titel 1</td> <td>titel 2</td> </tr> <tr> <td>titel 3</td> <td>titel 4</td> </tr> </table> |
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 | while($Details03 = mysql_fetch_assoc($result_detail03)) { if($kolom < 2) { if($kolom == 0) {$tabel .= "\r\t<tr>";} if($Details03['title_language'] != '') { $tabel .= "\r\t\t<td>".$Details03['title']."(".$Details03['title_language'].")</td>"; } else { $tabel .= "\r\t\t<td>".$Details03['title']."</td>"; } $kolom++; } else { $tabel .= "\r\t</tr>"; $kolom = 0; } } $tabel .= "\r\t</tr>"; ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |