1 2 3 4 5 6 7 8 9 10 11 12 13 | fish.user_id, fish.catchdate, fish_categories.name, users.username, media.id AS photo_id FROM fish FORCE INDEX(id) LEFT JOIN users ON users.id = fish.user_id LEFT JOIN media ON media.source_id = fish.id LEFT JOIN fish_categories ON fish_categories.id = fish.fish_id GROUP BY fish.id ORDER BY fish.id DESC LIMIT 0,4 |
Nu zie ik dat de voorbeelden andersom moesten, dan klopt het!quote:The name index is an index over the last_name and first_name columns. The index can be used for queries that specify values in a known range for last_name, or for both last_name and first_name. Therefore, the name index is used in the following queries
Als je een index hebt op (lastname, firstname) dan kun je queries doen als:quote:Op zondag 31 augustus 2008 22:04 schreef Chandler het volgende:
In het voorbeeld dat ik net las stond het volgende:
[..]
Nu zie ik dat de voorbeelden andersom moesten, dan klopt het!
nog een mooie quote:
MySQL cannot use an index if the columns do not form a leftmost prefix of the index gewoon index volgen in je where parameters beginnend van links naar rechter en eventueel meer toevoegen... ?
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE UNIX_TIMESTAMP( stats_ip_link.lastdate ) > ( UNIX_TIMESTAMP( NOW( ) ) - ( 60 *15 ) ) GROUP BY stats_ip_link.stat_id |
1 2 3 | 1 SIMPLE stats_ip_link ALL NULL NULL NULL NULL 70168 Using where; Using temporary; Using filesort 1 SIMPLE stats_ip eq_ref PRIMARY PRIMARY 4 gfxstatcom_db.stats_ip_link.ip_id 1 Using index |
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE UNIX_TIMESTAMP( stats_ip_link.lastdate ) > ( UNIX_TIMESTAMP( NOW( ) ) - ( 60 *15 ) ) GROUP BY stats_ip_link.stat_ |
En die query moet ook wachten als de tabel geüpdatet wordt, dus dat kan wel wat traagheid veroorzaken, maar met een rij of 80 is het anders heel snel als die index benut kan worden.quote:Die index moet wel benut kunnen worden, en als je een functie op een kolom loslaat, kan dat niet meer. Zelf werk ik altijd met unix timestamps in een database, maar jouw aanpak moet ook kunnen werken. Kun je niet iets doen als lastdate > mysqls datetime formaat van 15 minuten geleden?
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE stats_ip_link.lastdate > ....... GROUP BY stats_ip_link.stat_id |
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE stats_ip_link.lastdate > ( NOW( ) - ( 60 *15 ) ) GROUP BY stats_ip_link.stat_id |
1 2 3 4 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE stats_ip_link.lastdate > ( NOW( ) - ( 60 *15 ) ) |
http://bitfilm.net/2007/08/25/choosing-optimal-mysql-data-types/quote:TIMESTAMP requires 4 bytes.
DATETIME requires 8 bytes.
1 2 3 4 5 | RewriteBase /project RewriteCond %{REQUEST_FILENAME} \.^(gif|jpe?g|png)$ [NC] RewriteRule ^([A-Za-z0-9-\-.\/]+)$ index.php?input=$1 |
En waarom zou je dat dan willenquote:Op maandag 1 september 2008 18:45 schreef Xcalibur het volgende:
Je kunt geen twee timestamps in 1 tabel gebruiken... in ieder geval geen timestamps die automatisch geupdate worden iig.
1 2 | modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
Vreemd. Maar dan maak je gewoon 1 autoupdate kolom (modified) en de ceated insert je zelf. (Dat insert statement heb je uiteraard maar op 1 plaats staan, dus dat pas je ze aanquote:MySQL said:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Wat is het nut van twee kolommen waar altijd dezelfde waarde in staat?quote:Op maandag 1 september 2008 20:00 schreef Chandler het volgende:
je kunt wel twee timestamps gebruiken maar zit er een máár aan!. De eerste timestamp zal automatisch geupdated worden en de tweede niet, beetje vervelend![]()
1 |
quote:Op maandag 1 september 2008 22:23 schreef Farenji het volgende:
Ik gok dat je niet het juiste ipadres of de juiste hostnaam hebt ingevuld.
quote:Database-server: sql10.pcextreme.nl (sql10.pcextreme.nl)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $mysqlserver = "sql10.pcextreme.nl"; $user = "user"; $password = "password"; $database = "database"; $connect = mysql_connect($mysqlserver, $user, $password) or die (mysql_error()); // echo "<p>Er is een connectie opgezet met de MySQL-server: <strong>" . $mysqlserver . "</strong>. "; mysql_select_db($database) or die (mysql_error()); // echo " Van deze MySQL-server is de database <strong>" . $database . "</strong> geselecteerd.</p>"; ?> |
1 2 3 4 5 6 7 8 | echo '<SELECT MULTIPLE SIZE=10>'; while($row = mysql_fetch_array($result)){ echo '<OPTION VALUE='.$row["id"].'>'; echo $row["name"]; } echo "</SELECT>"; ?> |
Behalve een veld van het type set, maar die ben ik nog nooit in het wild tegengekomen.quote:Op maandag 1 september 2008 23:53 schreef Farenji het volgende:
Een veld in mysql bevat altijd 1 waarde; geen lijst van waardes.
Dan wordt het tijd om ander werk te zoeken of de opdracht te weigeren. Serieus. Je gebruikt een relationele database.quote:Op dinsdag 2 september 2008 00:07 schreef Hafez het volgende:
Nogmaals dit slaat natuurlijk nergens op, maar dit is een test voor een complexere situatie waar ik geen andere keus heb op dit moment.
dit ging over nummers met een punt bvquote:Die nummers kun je het beste opslaan als een mediumint (signed/unsigned, afhankelijk van of je wel/geen negatieve nummers tegenkomt).
Wat denk je er zelf vanquote:Op dinsdag 2 september 2008 08:52 schreef Chandler het volgende:
nu wil ik ze ook precies zo opslaan (met de punt) en dat doe ik nu in een varchar 10, echter zou ik willen weten of hier ook een andere functie data type voor is?![]()
Waarom zou je de subquery niet willen uitvoeren in je WHERE clause?quote:Op woensdag 3 september 2008 00:50 schreef wipes66 het volgende:
Maar hoe kan je dan bijvoorbeeld selecteren op 'd'? (zonder de subquery uit te voeren bij 'WHERE')
Omdat hij dan 2x wordt uitgevoerd? (of wordt dat automatisch geoptimaliseerd? )quote:Op woensdag 3 september 2008 01:07 schreef slakkie het volgende:
[..]
Waarom zou je de subquery niet willen uitvoeren in je WHERE clause?
Kan je dan niet beter zoiets doen:quote:Op woensdag 3 september 2008 01:50 schreef wipes66 het volgende:
SELECT id, name, (SELECT COUNT(id) FROM feed_items WHERE product_id = products.id) AS numshops
FROM products WHERE (SELECT COUNT(id) FROM feed_items WHERE product_id = products.id) > 0
ik zou zeggen dat MAX(num) sneller is, om de eenvoudige reden dat deze gemaakt is voor de handeling... maar ik kan het niet onderbouwen ofzoquote:Op woensdag 3 september 2008 00:50 schreef wipes66 het volgende:
Weet iemand welke sneller is?
SELECT num FROM products ORDER BY num DESC LIMIT 0,1
of
SELECT MAX(num) FROM products
tnxquote:Op woensdag 3 september 2008 03:59 schreef slakkie het volgende:
[..]
Kan je dan niet beter zoiets doen:
SELECT products.id as p_id, products.name as p_name, COUNT(feed_items.id) as numshops
FROM products, feed_items
WHERE feed_items.product_id = p_id
GROUP BY p_id, p_name, numshops
HAVING numshops > 0
En ik wil de data uit de array ophalen.quote:SELECT a.*, b.*
FROM a, b
WHERE a.id = b.id
wat mij het meest logische leek, werkt niet.quote:while ($rij = mysql_fetch_array($result)) {
$id = $rij['a.id'];
$name = $rij['b.name'];
}
Ah! Daarom vond ik nietsquote:Op donderdag 4 september 2008 22:49 schreef HuHu het volgende:
Je moet niet mysql_fetch_array gebruiken, maar mysql_fetch_assoc.
Dat maakt weinig uit. Beide leveren een associative array. Het verschil is dat mysql_fetch_array ook een numerieke array levert. Je kunt de data dus op 2 manieren benaderen.quote:Op donderdag 4 september 2008 22:49 schreef HuHu het volgende:
Je moet niet mysql_fetch_array gebruiken, maar mysql_fetch_assoc.
1 2 3 4 5 6 | while ($rij = mysql_fetch_array($result)) { $id = $rij['id']; $name = $rij['name']; } ?> |
Ja, en de standaard is MYSQL_BOTH. Daarbij, met enkel verwijzen naar mysql_assoc wordt de vraag niet beantwoord.quote:Op donderdag 4 september 2008 23:43 schreef slakkie het volgende:
Sterker nog met mysql_fetch_array kan je een numerieke, associatieve of beide opvragen:
array mysql_fetch_array ( resource $result [, int $result_type ] )
The type of array that is to be fetched. It's a constant and can take the following values: MYSQL_ASSOC, MYSQL_NUM, and the default value of MYSQL_BOTH.
Ik zou het niet met php doen maar met phatch. Dat draait onder ubuntu, kijk er eens naarquote:Op vrijdag 5 september 2008 11:40 schreef Chandler het volgende:
Wederom heb ik een vraagje (wanneer niet)
Stel ik heb 100.000 JPG bestanden varierend tussen de 10KB en 1MB en wil deze eigelijk allemaal wat kleiner hebben qua bestandsformaat. Nu wil ik deze graag comprimeren middels PHP echter wil ik het verlies van de kwaliteit zo klein mogelijk houden.
Wat raden jullie aan? want als ik zelf het compressie ratio instel moet ik per afbeelding gaan controlleren of de afbeelding er met dat ratio nog wel mooi uitziet... Anyone?
Ps. converteren naar PNG of ander formaat is niet mogelijk (in dit idee)
je kan trimmen wat je wilt, maar dat is een string bewerking die uiteindelijk een andere (lege) string oplevert. NULL is iets totaal anders; dat is "niets". Dus geen lege string, maar gewoon niets.quote:Op vrijdag 5 september 2008 16:21 schreef poepeneesje het volgende:
Ik zou het graag als NULL willen opslaan. Ik ga even kijken naar trim.
Dan kun je bij het samenstellen van de INSERT-query ervoor zorgen dat voor het veld wat je NULL wilt hebben helemaal niets wordt geschreven. Dus checken bij het bouwen van de query of de string (eventueel na trimmen; de PHP-functie) leeg is, en alleen als dat niet zo is de waarde naar de db schrijven.quote:Op vrijdag 5 september 2008 16:51 schreef poepeneesje het volgende:
Bij het verzenden van het formulier naar de database, wil ik dat indien er niets wordt ingevuld in de textarea, dat er in de datebase in dat valt gewoon NULL staat en geen spatie.
Of gewoon niets inserten, waarbij MySQL er zelf NULL van maakt (als je in je schema NULL toestaat en als default value hebt).quote:Op vrijdag 5 september 2008 16:57 schreef GlowMouse het volgende:
en in dat geval NULL ipv een string INSERTEN.
1 2 3 4 5 6 7 8 | $input = " "; $input = trim($input); if (!strlen($input)) { $input = null } # Doorgaan alsof er niks aan de hand is ?> |
Een lege string is in sommige gevallen beter dan NULL. Soms wil je namelijk echt een onderscheid maken tussen een lege string en NULL, bijv als je in een left join wil controleren of er geen match is, en dat kan dan niet (of is minder betrouwbaar) als er ook NULL values in bestaande rows zitten.quote:Op vrijdag 5 september 2008 17:12 schreef poepeneesje het volgende:
CraZaay & GlowMouse, ik wist niet dat het ook een PHP-functie is. Daar ga ik vanavond dan even opnieuw naar kijken.
Het wordt niet zozeer als lege string opgeslagen, maar echt als een spatie. Waarschijnlijk maakt het niet veel uit, maar het is wel netter (vind ik) als er dan gewoon niets wordt opgeslagen. Maar ik denk dat ik weet waar het misgaat, nu je begint over een lege string.
Ik ga vanavond even kijken, bedankt voor de snelle reacties jongens.
Dat wordt het niet, het blijft gewoon leeg terwijl je NULL moet hebben in je query.quote:Op vrijdag 5 september 2008 17:22 schreef slakkie het volgende:
[ code verwijderd ]
Ik ga er maar even vanuit dat null van php ook in de query gewoon NULL wordt..
Dan maak je er in slakkies code $input = 'NULL' van. Het is dan string waarde 'NULL', maar wanneer je deze unescaped in je query zet is het gewoon "bla = NULL" in de query. Heel die query is namelijk al een samenstelling van strings.quote:Op vrijdag 5 september 2008 17:25 schreef GlowMouse het volgende:
Dat wordt het niet, het blijft gewoon leeg terwijl je NULL moet hebben in je query.
Zo makkelijk is het niet. Er zal dan de string 'NULL' in je database komen in plaats van NULL. Je zou bijvoorbeeld iets kunnen doen als then $input='NULL' else $input = "'" . $db->escape($input) . "'". Maar nogmaals: waarom moeilijk doen als je het niet nodig hebt, je geen idee hebt wat je doet, en je jezelf alleen ellende op de hals haalt?quote:Op vrijdag 5 september 2008 17:29 schreef CraZaay het volgende:
[..]
Dan maak je er in slakkies code $input = 'NULL' van. Het is dan string waarde 'NULL', maar wanneer je deze unescaped in je query zet is het gewoon "bla = NULL" in de query. Heel die query is namelijk al een samenstelling van strings.
Nee, dat is niet correctquote:Op vrijdag 5 september 2008 17:32 schreef GlowMouse het volgende:
Zo makkelijk is het niet. Er zal dan de string 'NULL' in je database komen in plaats van NULL.
1 2 3 4 5 | $input = 'NULL'; mysql_query("INSERT INTO table (input) VALUES ($input);"); ?> |
1 |
Dit is een versimpelde versie uiteraard, ik ga er vanuit dat je ook geen zin hebt in injection enzo en al iets met die string gedaan hebt, bijvoorbeeld ge-escaped wanneer je er wel een string in wilt hebbenquote:Op vrijdag 5 september 2008 17:47 schreef GlowMouse het volgende:
Maar je hebt nooit VALUES($input) staan, omdat je dan in de problemen komt als $input een echte string is. Vandaar mijn else
Met PDO werkt het wel:quote:Op vrijdag 5 september 2008 17:25 schreef GlowMouse het volgende:
[..]
Dat wordt het niet, het blijft gewoon leeg terwijl je NULL moet hebben in je query.
Maar ik zou me de problemen met NULL in je db niet op de hals halen als je het niet nodig hebt. Sla gewoon een lege string op.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $db = ""; $host = "localhost"; $dbname = "test"; $user = "root"; $passwd = ""; try { $db = new PDO(sprintf("mysql:host=%s;dbname=%s", $host, $dbname), $user, $passwd); } catch (PDOException $e) { printf("DB error: %s\n", $e->getMessage()); exit(1); } $sth = $db->prepare("INSERT INTO testing (val) VALUES ( ? )"); $sth->bindValue(1, null); $sth->execute(); ?> |
1 2 3 4 5 6 7 8 | -> ; +----+------+ | id | val | +----+------+ | 2 | NULL | +----+------+ 1 row in set (0.00 sec) |
Moet ${dag} zijn, ipv {$dag}, of ook niet, mag beide.. mkay.quote:Op zaterdag 6 september 2008 00:45 schreef CraZaay het volgende:
Of "$jaar-$maand-$dag 00:00:00", als je minder wilt concatenaten(mocht dat problemen geven, zet dan {} rond je vars, dus {$dag}).
Ga slapenquote:Op zaterdag 6 september 2008 01:04 schreef slakkie het volgende:
Moet ${dag} zijn, ipv {$dag}, of ook niet, mag beide.. mkay.
Thnx! Dit vind ik zelf ook wel de meest handige schrijfwijzequote:Op zaterdag 6 september 2008 00:45 schreef CraZaay het volgende:
Of "$jaar-$maand-$dag 00:00:00", als je minder wilt concatenaten(mocht dat problemen geven, zet dan {} rond je vars, dus {$dag}).
1 global tabelquote:Op maandag 8 september 2008 15:52 schreef Chandler het volgende:
Klopt maar wat raad je aan, zit namelijk zelf te denken aan 1 global tabel voor alle plugins ipv per plugin een tabel.
1 2 3 4 5 6 7 | echo "<select name='print' style='width: 387px'> <option>-</option> <option if(isset($print) && ($print==1)){echo selected='selected';} value='1'>Ja</option> <option if(isset($print) && ($print==0)){echo selected='selected';} value='0'>Nee</option> </select>;" ?> |
Niet gaan klooien, zorgt alleen maar voor meer problemen. Vraag ze de tijd gewoon goed in te stellen. Of krijg je gewoon de GMT tijd terug? Daar kun je wel mee rekenen uiteraard, als je die altijd krijgt.quote:Op maandag 8 september 2008 20:17 schreef poepeneesje het volgende:
Daarnaast heb ik nog het volgende, de tijd op MySQL-server van PCextreme loopt twee uur achter. Hoe zorg ik ervoor dat ik de juiste tijd opsla in de database, ik gebruik nu now() om de huidige (datebase)tijd op te slaan. Optellen van twee uur bij de tijd geeft waarschijnlijk problemen bij het voor- en achteruit zetten van de tijd.
Dit zou ik doen (met code-tag, syntax highlighter hier kan het niet aan anders):quote:Met een variable lukt het me wel, maar ik zou graag dus een stuk PHP hebben die xHTML print waarin weer een stuk PHP voorkomt, hoe krijg ik dit (netjes) voor elkaar?
1 2 3 4 5 6 7 8 9 | echo(" <select name='print' style='width: 387px'> <option>-</option> <option <?= (isset($print) && ($print == 1)) ? 'selected=\'selected\'' : '' ?> value='1'>Ja</option> <option <?= (isset($print) && ($print == 0)) ? 'selected=\'selected\'' : '' ?> value='0'>Nee</option> </select> "); ?> |
De tijd zal ingesteld staan op GMT en blijbaar staat de server ook in de UK, dus moet je die omrekenen naar CET, zie http://dev.mysql.com/doc/(...)#function_convert-tzquote:Op maandag 8 september 2008 20:17 schreef poepeneesje het volgende:
Daarnaast heb ik nog het volgende, de tijd op MySQL-server van PCextreme loopt twee uur achter. Hoe zorg ik ervoor dat ik de juiste tijd opsla in de database, ik gebruik nu now() om de huidige (datebase)tijd op te slaan. Optellen van twee uur bij de tijd geeft waarschijnlijk problemen bij het voor- en achteruit zetten van de tijd.
Als je na gaat denken over PHP die PHP moet genereren zit je op het verkeerde pad. Dat is niet wat je wil, punt.quote:En is het daarnaast mogelijk om het volgende op een goede manier voor elkaar te krijgen?
[ code verwijderd ]
Met een variable lukt het me wel, maar ik zou graag dus een stuk PHP hebben die xHTML print waarin weer een stuk PHP voorkomt, hoe krijg ik dit (netjes) voor elkaar?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function SelectBoxHTML($name, $options, $selected) { $html = "<select name=\"$name\" style=\"width: 387px\" onchange=\"this.form.submit();\">\n"; foreach ($options as $value => $text) { $html .= "<option"; if ($value == $selected) { $html .= " selected=\"selected\""; } $html .= " value=\"$value\">$text</option>\n"; } $html .= "</select>\n"; return $html; } print "<html><body><form>"; print "<p>Printen? " . SelectBoxHTML('print', array("1" => "Ja", "0" => "Nee", "2" => "Misschien"), $_GET['print']) . "</p>"; print "<p>Favoriete kleur? " . SelectBoxHTML('fav_kleur', array("rood" => "rood", "geel" => "geel", "pimpelpaars" => "pimpelpaars", "zwart" => "zwart"), $_GET['fav_kleur']) . "</p>"; print "</form></body></html>"; ?> |
Dat wil 'ie ook niet getuige z'n voorbeeldquote:Op maandag 8 september 2008 21:31 schreef Farenji het volgende:
Als je na gaat denken over PHP die PHP moet genereren zit je op het verkeerde pad. Dat is niet wat je wil, punt.
Toen je je ging oriënteren heb je nergens zien staan dat PHP geparsed moet worden door een webserver enzoquote:Op woensdag 10 september 2008 16:37 schreef sexylexy het volgende:
Wie kan mij op weg helpen?
Dat heb ik zien staan jaquote:Op woensdag 10 september 2008 18:00 schreef CraZaay het volgende:
[..]
Toen je je ging oriënteren heb je nergens zien staan dat PHP geparsed moet worden door een webserver enzo
PHP leren is wat anders dan een website maken. OK, granted het wordt het meeste voor websites gebruikt. Maar dat terzijde. Als iemand PHP wilt leren hoeft ie echt geen kennis van HTML of CSS te hebben (ik heb basic kennis van HTML en al helemaal geen kennis van CSS).quote:Op woensdag 10 september 2008 16:57 schreef Xcalibur het volgende:
Als je PHP wilt gebruiken moet je zorgen dat je een webserver + PHP op je computer geinstalleerd hebt, of de boel uploaden naar een site waar PHP draait.
Om te beginnen zou ik me eerst eens in HTML + CSS verdiepen, zodat je dingen in ieder geval netjes op je scherm kunt krijgen. PHP en MySQL zijn een flinke stap verder...
1 2 3 4 5 6 7 8 9 | <div id="footer"> <p><br>. </p> </div> wp_footer(); ?> |
Hmm ja ik kan wel een beetje HTML maar tot waar wordt het verstaan onder de basics? CSS is nog volledig nieuw voor mijquote:Op woensdag 10 september 2008 20:39 schreef slakkie het volgende:
[..]
PHP leren is wat anders dan een website maken. OK, granted het wordt het meeste voor websites gebruikt. Maar dat terzijde. Als iemand PHP wilt leren hoeft ie echt geen kennis van HTML of CSS te hebben (ik heb basic kennis van HTML en al helemaal geen kennis van CSS).
Tevens heeft PHP een command line die de noodzaak van een webserver overbodig maakt:
http://nl.php.net/features.commandline
Dit volstaat perfect om PHP te leren zonder je druk te maken over HTML en whatnot.
Voor sexylexy:
Apache installen op je machine: http://www.apache.org. En daarna ga je naar deze pagina: http://nl.php.net/manual/en/install.windows.php
Succes.
-edit- ik lees net dat sexylexy beginnend webdesigner wilt worden. Leer eerst de basis van HTML en CSS, daarna PHP.
Dus dit zou niet werken:quote:Op woensdag 10 september 2008 21:02 schreef Cracka-ass het volgende:
Ik heb hier een stukje code en zodra ik ook maar iets weghaal van regel 4 werkt ie niet meer goed. :o
Ik wil er niks in hebben maar dan werkt het niet meer. :')
[ code verwijderd ]
Hoe kan dat?
1 2 3 | </div> |
1 2 3 | <?php wp_footer(); ?> </div> |
Dat zeg ikquote:Op woensdag 10 september 2008 20:39 schreef slakkie het volgende:
-edit- ik lees net dat sexylexy beginnend webdesigner wilt worden. Leer eerst de basis van HTML en CSS, daarna PHP.
Zo is het dus als ik ook maar iets weghaal:quote:Op woensdag 10 september 2008 21:18 schreef HuHu het volgende:
[..]
Dus dit zou niet werken:
[ code verwijderd ]
Wat je met die wp_footer() wilt snap ik niet, wat doet die daar? Moet het soms iets zijn als:
[ code verwijderd ]
Basic is voor mij net genoeg om een simpele pagina te maken. Maar je moet rekening houden dat je pagina's moet kunnen maken die door deze validator (http://validator.w3.org) wordt goedgekeurd. Als je dat laatste kan doen, dan denk ik dat je tot de experts behoort.quote:Op woensdag 10 september 2008 21:16 schreef sexylexy het volgende:
[..]
Hmm ja ik kan wel een beetje HTML maar tot waar wordt het verstaan onder de basics? CSS is nog volledig nieuw voor mij
quote:Op woensdag 10 september 2008 @ 21:35 schreef slakkie het volgende:
[..]
Basic is voor mij net genoeg om een simpele pagina te maken. Maar je moet rekening houden dat je pagina's moet kunnen maken die door deze validator (http://validator.w3.org) wordt goedgekeurd. Als je dat laatste kan doen, dan denk ik dat je tot de experts behoort.
Ik zou als ik jou was eens langs http://www.w3schools.com/ gaan en daar wat over HTML/CSS leren, en na een paar weken een keer PHP erbij gaan halen om zo wat dynamische pagina's te maken. Eventueel met MySQL erbij.
1 2 3 4 5 6 7 8 9 | <html> <head> <title>hello world</title> </head> <body> <p>Hello World!</p> </body> </html> |
Nou ja, iets is natuurlijk pas HTML als het voldoet aan de HTML specificaties. De validator checkt of dat zo is. Voldoet een pagina niet, dan is het dus geen goede HTML maar code waarvan de browsers de fouten voor je verdoezelenquote:Op woensdag 10 september 2008 22:15 schreef mcDavid het volgende:
Je moet je niet doodstaren op die validator. Op de eerste plaats komt dat je een site maakt die er in alle gangbare browsers goed uit ziet en goed werkt. Nette, semantische en correcte code is slechts een middel om dat doel te bereiken.
Je snapt wat ik bedoelquote:Op woensdag 10 september 2008 22:15 schreef mcDavid het volgende:
[..]
[ code verwijderd ]
Jeuj ik ben expert!
Je moet je niet doodstaren op die validator. Op de eerste plaats komt dat je een site maakt die er in alle gangbare browsers goed uit ziet en goed werkt. Nette, semantische en correcte code is slechts een middel om dat doel te bereiken.
Ik bedoel ze allebei, en nog meer (mobile devices, kiosk browsers, you name it). We noemen dat inderdaad SEO, maar alleen omdat "de prutsers" semantisch incorrecte HTML schrijven en een "SEO-bedrijf" grof geld kan verdienen door de rommel op te ruimen en toch eens een <h1> etc te gebruiken. SEO is totaal nutteloos (HTML-wise, goede teksten is weer iets anders) wanneer een website al aan de standaarden voldoet.quote:Op woensdag 10 september 2008 23:58 schreef mcDavid het volgende:
Met "meer user agents" kun je twee dingen bedoelen:
- zoekmachines, maar daarvoor optimaliseren noemen we SEO en dat komt wmbt ongeveer als allerlaatste in de ranglijst van wat belangrijk is voor een goeie website...
- screenreaders, daar is iedereen altijd heel erg panisch voor. Maar duik eens de statistieken in en vertel me of er óóit iemand met een screenreader op jouw site is geweest.
Sorry?quote:Op woensdag 10 september 2008 23:58 schreef mcDavid het volgende:
- zoekmachines, maar daarvoor optimaliseren noemen we SEO en dat komt wmbt ongeveer als allerlaatste in de ranglijst van wat belangrijk is voor een goeie website...
Dat vind ik ook zo'n bullshit argument he....quote:Op woensdag 10 september 2008 23:58 schreef mcDavid het volgende:
- screenreaders, daar is iedereen altijd heel erg panisch voor. Maar duik eens de statistieken in en vertel me of er óóit iemand met een screenreader op jouw site is geweest.
1 2 3 4 5 6 7 8 9 10 11 12 13 | require ('./chart-0.8/chart.php') ; $query = "SELECT * FROM klsusers" ; $tmp = mysql_query ($query) ; $testarray = array (0, 3, 5, 9, 10, 20) ; $chart = new chart (300, 200) ; $chart->plot ($testarray) ; $chart->stroke () ; ?> |
1 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |