Hmm ja, maar binnen deze query werkt het niet:quote:Op zaterdag 31 maart 2007 13:23 schreef HuHu het volgende:
http://www.w3schools.com/sql/func_count_distinct.asp
SELECT COUNT(DISTINCT column(s)) FROM table
1 2 3 4 5 6 7 8 9 10 11 | $query = " SELECT COUNT(DISTINCT c.cid) AS number, c.cid, c.naam FROM comment AS c GROUP BY c.cid ORDER BY c.cid DESC LIMIT 0, 15"; ?> |
De mysql_real_escape_string() is ook zinloos als het niet gebruikt wordt tussen quotjes. Je moet echt controleren of het een getal is.quote:Op zaterdag 31 maart 2007 10:08 schreef HuHu het volgende:
[..]
Bij de LIMIT moeten de getallen niet tussen ' staan. In je code staat echter wel:
[ code verwijderd ]
Die "'" moeten dus weg. Bij waarden die je in je query gebruikt, bijvoorbeeld na de WHERE moet het juist wel.
[ code verwijderd ]
Even geen idee voor de statistieken, maar wel een complimentje voor de verschillende layoutsquote:Op zaterdag 31 maart 2007 21:18 schreef Chandler het volgende:
Mag ik jullie hier vragen wat jullie van mijn statistieken van GFXPOLL vinden?
http://www.gfxpoll.nl/index.php?page=stats
Hebben jullie nog een idee voor een statistiek?zit zelf nog te denken welke dagen (maandag/zondag) en welke uren(00 / 24) voor bezoekers/polls zorgen
![]()
was ziek en wilde toch mijzelf nuttig maken
1 2 3 | $cmd = "convert logo: out.jpg"; exec("$cmd 2>&1", $output); |
1 |
1 |
Variabelen binnen dubbele quotes horen gewoon geparsed te worden, daar zijn het dubbele quotes voor (i.t.t. enkele quotes).quote:Op zondag 1 april 2007 23:38 schreef Frenkeman het volgende:
Je moet variabelen altijd buiten de quotes houden
Maak er eens van:
[ code verwijderd ]
etc.
Heb ik geprobeerd. Zelfde resultaatquote:Op zondag 1 april 2007 23:38 schreef Frenkeman het volgende:
Je moet variabelen altijd buiten de quotes houden
Maak er eens van:
[ code verwijderd ]
etc.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | include("config.php"); $sql = "SELECT naam,status FROM gebruikers WHERE DATE_SUB(NOW(),INTERVAL 10 MINUTE) <= lastactive ORDER BY naam ASC"; $query = mysql_query($sql); $tellen = mysql_num_rows($query); $i = 1; while($rij = mysql_fetch_object($query)) { $naam = htmlspecialchars($rij->naam); $status = htmlspecialchars($rij->status); if($status == 1) { $naam = "<b>".$naam."</b>"; } echo $naam; if($i != $tellen) { echo ", "; } $i++; } ?> |
Op zich is heel die code niet eens nodig.quote:Op maandag 2 april 2007 00:40 schreef JohannesPaulus het volgende:
Het gaat om een PHP inlogsysteem. Ik wil wanneer ik inlog mijn username kunnen zien.
Net als op FOK! dus: Je bent ingelogd als JohannesPaulus.
Met onderstaand code kun je zien welke leden er allemaal online zijn. Ik wil een apart query maken om alleen mijn eigen username te kunnen zien zodra ik ben ingelogd...anyone?
[ code verwijderd ]
1 2 3 4 5 | $_SESSION['user'] = htmlspecialchars($_POST['user']); ....... echo $_SESSION['user']; ?> |
1 2 3 4 5 | $_SESSION['user'] = $_POST['user']; ....... echo htmlspecialchars($_SESSION['user']); ?> |
Ja. SuperRembo bedoelt alleen dat je de rauwe data in je sessie moet stoppen, zodat je die ook nog eens voor iets anders kunt gebruiken dan enkel weergave van die naam.quote:Op maandag 2 april 2007 11:09 schreef Geqxon het volgende:
Zelf doe ik altijd mysql-real-escape-string voordat ik iets in een database invoer, en een htmlspecialchars als ik iets in de browser toon. Lijkt mij zelf het beste, toch?
Ja ik had het al geupload op mijn server en de script geinstalleerd maar mijn probleem is nog niet opgelostquote:Op maandag 2 april 2007 12:15 schreef Darkomen het volgende:
Probeer eens de opvolger van dat script Johanners Paulus.
http://www.phphulp.nl/php/scripts/8/564/
Deze lijkt mij een stuk beter, en misschien is jouw 'probleem' daarin al opgelost.
1 2 3 4 | foreach ($error as $errors) {$this->content .= $errors;} $this->content .= $this-aanmelden; |
Er staat ook $this MIN aanmelden, niet $this pijltje aanmeldenquote:Op maandag 2 april 2007 21:58 schreef ExCibular het volgende:
[ code verwijderd ]
Ik heb hier wat vreemds, als ik $this->aanmelden toevoeg op deze manier dan komt er een 1 te staan in plaats van de inhoud van $this->aanmelden. Als ik $this->aanmelden op deze plaats echo dan laat hij gewoon de correcte string zien.
thanx die had ik gemistquote:Op maandag 2 april 2007 22:05 schreef JeRa het volgende:
[..]
Er staat ook $this MIN aanmelden, niet $this pijltje aanmelden
PHP ziet een minteken staan dus convert zowel de linkerkant als de rechterkant naar integers. De linkerkant is convertable (gek genoeg) en wordt 1, de rechterkant een constante die niet bestaat en wordt dus 0. De vraag in deze is dus waarom (int)$this gelijk is aan 1quote:Op maandag 2 april 2007 22:33 schreef SuperRembo het volgende:
Wel vreemd dat php dit gewoon slikt en geen foutmelding geeft.
Apache is snel en gemakkelijk geïnstalleerd en die geef ik normaal dan ook de voorkeur. Aangezien ik momenteel echter ook met Visual Basic, ASP en .NET bezig ben zit ik vrijwel aan IIS vast gezien ASP daar voornamelijk op draait.quote:Op dinsdag 3 april 2007 17:37 schreef Boschkabouter het volgende:
Maakt het eigenlijk wat uit of je Apache of IIS gebruikt om PHP pagina's te draaien?
Ik heb namelijk interesse om eens wat PHP te gaan leren, maar geen zin om Apache te instaleren en te gebruiken naast IIS. (en vooral omdat ik geen ruk van dat apache snap.)
Nee. Je kan geen fake adres gebruiken om iets te versturen via fsockopen. fsockopen is gewoon een wrapper voor connect() en daarmee heb je die optie niet.quote:Op dinsdag 3 april 2007 21:29 schreef Chandler het volgende:
Mensen,
Het is toch onmogelijk om middels PHP een fake IP adres te gebruiken als je bv via fsockopen gegevens verstuurt naar webservers?
en wat is nu je vraag?quote:Op woensdag 4 april 2007 21:54 schreef mschol het volgende:
oke vraagje:
als ik op een bepaalde site zoek krijg ik een lijst met matches, deze lijst wil ik importeren/invoegen in mijn eigen omgeving (die nog ongedefineerd is, dus lekker soepel)
wat wil ik precies:
ik tik in een zoek forumlier bij mijn site een naam in, er wordt door php een get request gedaan met de juiste url en vervolgens plukt hij de resultaten uit de gekregen pagina.
dit een voorbeeltje van een zoek term op de site:
http://www.animenewsnetwo(...)h.php?searchbox=love
hoe ik dat voor elkaar kan krijgenquote:
En wat lukt je niet? Het downloaden van de pagina? Het parsen van de resultaten? Het opslaan van de resultaten? Het weergeven van de resultaten?quote:Op woensdag 4 april 2007 22:24 schreef mschol het volgende:
[..]
hoe ik dat voor elkaar kan krijgen
dat hij dus alleen de resultaten eruit pakt en dat ik deze vervolgens kan hergebruiken in mijn omgeving..
ik weet dat er een functie voor was maar welke weet ik dus niet meerquote:Op woensdag 4 april 2007 23:24 schreef JeRa het volgende:
[..]
En wat lukt je niet? Het downloaden van de pagina? Het parsen van de resultaten? Het opslaan van de resultaten? Het weergeven van de resultaten?
twee problemen heb je dan wel:quote:
1 2 3 4 5 6 | $contents=file_get_contents('http://www.animenewsnetwork.com/encyclopedia/search.php?searchbox=love'); $to_match=substr($contents,($a=strpos($contents,'<!-- google_ad_section_start -->')),(strpos($contents,'<!-- google_ad_section_end -->')-$a)); preg_match_all('#<a href="(.*?)">(.*?)</a>#i',$to_match, $matches); var_dump($matches); ?> |
je hebt gelijk, ik ben veel te aardig anderen hun werk te doenquote:Op donderdag 5 april 2007 12:30 schreef Geqxon het volgende:
Ik had nog niet op de link geklikt, de eregi zoals ik hem heb pakt inderdaad alles. Het was puur een richtlijn
Verder is mijn voorbeeld uiteraard basic, om te laten zien hoe het kan. Verdere optimalisatie is een stap verder.
interessant. Ben benieuwd of er een lijstje is met gevallen waarin ereg() sneller is als preg_replace? Heb met google in ieder geval niks gevonden.quote:Op donderdag 5 april 2007 15:02 schreef JeRa het volgende:
@ralfie
De preg_* alternatieven voor ereg* functies zijn inderdaad vaak sneller, maar niet altijd. Zo heb ik ondervonden dat als je snel tekens wilt vervangen die niet in een subset van characters voorkomen ([^abc123etc]) de eregi véél sneller is dan de preg_replace
Voor zover ik weet ondersteunt PHP5 geen static constructors. Je zou het eventueel wél zo kunnen doen:quote:Op donderdag 5 april 2007 17:36 schreef CiQNiZ het volgende:
Hoi,
Stel ik heb een klasse.
Met daarin in ieder geval een static (private) variabele en een static (public) method.
In mijn code roep ik op eens die method op zonder een object te maken. Is het dan mogelijk dat er een constructor uitgevoerd zal worden? Zodat die variabele dan een keer gezet zal worden, en daarna niet meer (check in de constructor)?
Dit alles, uiteraard, in PHP5.
1 2 3 4 5 6 7 8 | Voorbeeld::waarde = 3; class Voorbeeld { public static $waarde; } ?> |
Ja... Maar...quote:Op donderdag 5 april 2007 17:46 schreef JeRa het volgende:
[..]
Voor zover ik weet ondersteunt PHP5 geen static constructors. Je zou het eventueel wél zo kunnen doen:
[ code verwijderd ]
1 2 3 4 5 6 7 | //niet statisch, dus wel een object aanmaken: $handle = new handler(); // zet de private var via de __construct() $handle->execA(); $handle->execB(); //enz. ?> |
1 2 3 4 5 6 7 | //statisch, en eerst maar dan die check uitvoeren en variabele zetten: handler::checkIt(); handler::execA(); handler::execB(); //enz. ?> |
Als je 30 methodes in een class hebt die aangeroepen kunnen worden terwijl je variabele niet geïnitialiseerd is moet je je toch eens ernstig afvragen of je wel het goede design te pakken hebtquote:Op donderdag 5 april 2007 17:59 schreef CiQNiZ het volgende:
[..]
Dan werkt het zoals ik wil. Maar is dit te omzeilen (dat ik dus niet eerst die check hoef uit te voeren voordat ik een methode uit die klasse aanroep)?
1 2 3 4 5 6 | class Voorbeeld { public static $waarde = 2; } ?> |
Hmm ja, met constante waardes ja.quote:Op donderdag 5 april 2007 18:07 schreef JeRa het volgende:
[..]
Als je 30 methodes in een class hebt die aangeroepen kunnen worden terwijl je variabele niet geïnitialiseerd is moet je je toch eens ernstig afvragen of je wel het goede design te pakken hebtmaar waarom lukt het volgende niet?
[ code verwijderd ]
Op die manier is je waarde altijd geïnitialiseerd en hoef je niets te checken in je methodes. Wil je echter een object initialiseren in die variabele, dan zul je het moeten doen op de manier die ik in mijn vorige post beschreef
1 2 3 4 | // dus dit gaat nooit werken ;) private static $handle = self::getHandle(); ?> |
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 | class stranger { private static $handle; public static function handler() { if (empty(self::handle)) { self::handle = somereallyspecialclass::getHandle(); } } public static function execA() { someclass::specialExec(0,10); doSomething(); } public static function execB() { someclass::specialExec(60, 100); doSomethingElse(); doSomethingMore(); takeOverTheWorld(); } } class someclass { public static function specialExec($x, $y) { // tada: stranger::handler(); doSomethingWithXandY($x, $y); doSomethingMoreWith($x, stranger::handle); doSomethingMoreWith($y, stranger::handle); } } // en in normale code ziet het er dan zo uit: stranger::execA(); stranger::execB(); stranger::execA(); stranger::execB(); /* precies hoe ik het hebben wil dus. ** de methodes worden normaal opgeroepen en de ** (private en static) $handle wordt gewoon geupdate */ ?> |
Tja, je gaf nergens een definitiequote:
Probeer eens voor jezelf duidelijk te maken wat je precies wilt bereiken (en of het design tot dan toe wel afdoende is) en zet de scenario's uitquote:Het gaat er gewoon om dat bij uitbreidingen eventueel gewoon niet nagedacht hoeft te worden over die $handle. Als je een methode uit die klasse oproept dan moet dat gewoon automatisch gaan.
Volgens dit concept moet het gewoon werken, echter, verdient het wmb niet echt een schoonheidsprijs.
1 2 3 4 5 6 7 8 | StaticVoorbeeld::mijnObject = new DOTTObject(); class StaticVoorbeeld { public static $mijnObject; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | class StaticVoorbeeld { private static $mijnObject; public function roepFunctieAan($functienaam, $args) { // Initialiseer object StaticVoorbeeld::initialiseerMijnObject(); // Roep functie aan call_user_func_array('StaticVoorbeeld::' . $functienaam, $args); // ofzo } // overige methodes } Staticvoorbeeld::roepFunctieAan('purpleTentacle', array('take', 'over', 'the', 'world!')); ?> |
Klopt. Ik gaf nergens een definitiequote:Op donderdag 5 april 2007 20:35 schreef JeRa het volgende:
[..]
Tja, je gaf nergens een definitie![]()
[..]
Probeer eens voor jezelf duidelijk te maken wat je precies wilt bereiken (en of het design tot dan toe wel afdoende is) en zet de scenario's uithier heb je wat voorbeelden die volgens mij het dichtste bij jouw probleem liggen:
1) Het private static object mag altijd geïnitialiseerd worden en verandert niet in de loop van de tijd: doe gewoon zoiets:
[ code verwijderd ]
Dan kun je toch prima die eerste methode plaatsen in dezelfde include als de static class zelf?quote:Het gaat dus om 1. Eenmaal geinitialiseerd is geinitialiseerd. Done = done.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | function input_dag($dag){ $output = " <select name="dag"> <option value="">dag</option>"; for ( $day = 1; $day <= 31; $day += 1) { if($day == $dag) { $output .= " <option value="$day" selected>$day</option>";} else { $output .= " <option value="$day">$day</option>";} } $output .= " </select>"; return $output; } ?> |
Na hij verkleind is, en je hem niet nodig hebt:quote:Op vrijdag 6 april 2007 12:57 schreef super-muffin het volgende:
Hoe kan ik een bestand voor een bepaalde tijd geupload hebben? Dus iemand upload een foto, word verkleint en krijg die weer voorgeschoteld in de browser, en daarna word de afbeelding van de server verwijderd.
1 2 3 | unlink($filename); ?> |
1 2 3 4 | <voornaam>Hans</voornaam> <achternaam>Anders</achternaam> </persoon> |
Optie 1: http://nl2.php.net/XMLquote:Op vrijdag 6 april 2007 13:20 schreef Geqxon het volgende:
Gelijk nog een vraagje: Ik wil graag een XML achtig bestand parsen, en met eregi gaat dat dus te traag. De opbouw is in de trant van:
[ code verwijderd ]
Op het moment kijk ik lijn voor lijn wat voor data de lijn bevat, maar dat is dus behoorlijk traag. Ik zat zelf te denken aan een preg_match_all op <persoon>(*.)</persoon>, en binnen de array van matches te preg_matchen op <voornaam(*.)</voornaam>. Ik ben alleen totaal geen held als het op regexs en preg_match neer komt, dus heeft iemand misschien een klein duwtje in de goede richting? Alvast bedankt
1 2 3 4 5 | $pslfile = file_get_contents("/files/persoonlijst.psl"); preg_match_all('#<persoon>(.*)</persoon>#Ui',$pslfile, $output); print_r($output); ?> |
1 2 3 4 5 | ---------+--------+-------+-------+ 1 | test | 0 | 5 | 2 | child | 1 | 2 | 3 | child2 | 3 | 4 | |
1 2 3 4 5 6 | COUNT( parent.name ) AS depth FROM nested_menu AS node, nested_menu AS parent WHERE node.lft BETWEEN parent.lft AND parent.rgt GROUP BY node.menu_id ORDER BY node.lft |
1 2 3 4 | Column 'node.name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. Column 'node.lft' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. Column 'node.rgt' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. |
gebruik de s modifier om ervoor te zorgen dat . ook newlines matched. Dat doet ie standaard nietquote:Op vrijdag 6 april 2007 13:44 schreef Geqxon het volgende:
Ik ben al met de XML parser aan de gang gegaan, maar in verband met een database koppeling, en omdat mijn file vrij simpel is, wil ik het het liefst zelf parsen
Ik ga even met optie twee aan de slag, bedankt!
Edit:
[ code verwijderd ]
Dit is waar ik zelf aan zat te denken, alleen vindt hij daar niks op. En ja, het laden van $pslfile gaat prima. Wat doe ik hier eigenlijk fout?
De /s-modifier is voor de punt, die matcht vervolgens ook newlines. Maar ik mag hopen dat er geen ouders zijn geweest die hun kind met een newline in hun voornaam hebben laten registreren op het gemeentehuisquote:Op vrijdag 6 april 2007 14:08 schreef ralfie het volgende:
[..]
gebruik de s modifier om ervoor te zorgen dat . ook newlines matched. Dat doet ie standaard niet![]()
Er is een simpele regel in SQL-land die door MySQL absoluut niet nageleefd wordt maar waar je je waar mogelijk wel aan zou moeten houdenquote:Op vrijdag 6 april 2007 14:01 schreef Swetsenegger het volgende:
mysql -> mssql migratie probleempje.
Ik heb een table:
[ code verwijderd ]
Waarmee je een hierarchisch model kan bouwen.
In mysql betrek je alle nodes in de juiste hierarchische volgorde met de volgende query:
[ code verwijderd ]
In mssql krijg ik daarmee echter de volgende foutmelding(en)
[ code verwijderd ]
En ik ben even volledig blanco hoe ik dat kan oplossen.
Iemand een bijdrage?
1 2 3 | FROM tabel voorbeeld GROUP BY b |
1 2 3 | FROM tabel voorbeeld GROUP BY b, c |
"Mijn kind heet Hans backslash n Anders"quote:Op vrijdag 6 april 2007 14:09 schreef JeRa het volgende:
[..]
De /s-modifier is voor de punt, die matcht vervolgens ook newlines. Maar ik mag hopen dat er geen ouders zijn geweest die hun kind met een newline in hun voornaam hebben laten registreren op het gemeentehuis
Dat zijn delimiters en die mag je zelf kiezenquote:Op vrijdag 6 april 2007 14:17 schreef Geqxon het volgende:
[..]
Nu rijst bij mij weer de vraag: Waarom werkt preg_match_all met hekjes, en preg_match met slashes?
Dit geeft inderdaad geen foutmeldingen meer:quote:Op vrijdag 6 april 2007 14:11 schreef JeRa het volgende:
[..]
Er is een simpele regel in SQL-land die door MySQL absoluut niet nageleefd wordt maar waar je je waar mogelijk wel aan zou moeten houdenen hij luidt:
Bij een GROUP BY moet je alle kolomnamen die je niet in een aggregaatfunctie gebruikt maar wel wilt ophalen noemen.
Dus het volgende gaat fout:
[ code verwijderd ]
En het volgende gaat goed:
[ code verwijderd ]
1 2 3 4 5 6 | COUNT( parent.name ) AS depth FROM nested_menu AS node, nested_menu AS parent WHERE node.lft BETWEEN parent.lft AND parent.rgt GROUP BY node.menu_id,parent.name, node.name,node.lft,node.rgt ORDER BY node.lft |
Je moet niet zomaar alle kolommen in de GROUP BY gooien, als je bepaalde waarden verwacht voor een kolom kun je ze soms beter in een aggregaatfunctie stoppenquote:Op vrijdag 6 april 2007 15:00 schreef Swetsenegger het volgende:
[..]
Dit geeft inderdaad geen foutmeldingen meer:
[ code verwijderd ]
Maar geeft wel mijn child 2 keer terug
En mijn depth gaat niet goed....
Dat vermoeden had ik al :Pquote:Op vrijdag 6 april 2007 15:11 schreef JeRa het volgende:
[..]
Je moet niet zomaar alle kolommen in de GROUP BY gooien
Nou, met deze data:quote:, als je bepaalde waarden verwacht voor een kolom kun je ze soms beter in een aggregaatfunctie stoppen :)
1 2 3 4 | ---------+--------+-------+-------+ 1 | test | 1 | 4 | 2 | child | 2 | 3 | |
1 2 3 | test 1 test 1 4 1 child 2 child 2 3 2 |
1 2 3 4 | test 1 test 1 4 1 child 2 child 2 3 1 child 2 child 2 3 1 |
1 2 3 4 5 6 7 8 9 | (SELECT TOP 1 m.name FROM nested_menu m WHERE n.lft BETWEEN m.left AND m.right ORDER BY m.left DESC) AS parent_name FROM nested_menu AS p INNER JOIN nested_menu AS n ON n.lft BETWEEN p.lft AND p.rgt GROUP BY n.menu_id, n.name, n.lft, n.rgt ORDER BY n.lft |
Ja dat werkt perfect, komt zelfs van mysql websitequote:Op vrijdag 6 april 2007 16:20 schreef SuperRembo het volgende:
Je kunt niet op die manier de naam van de parent er bij krijgen zonder de group te verzieken. Ik vraag me af of dat in MySQL op deze manier wel echt goed werkt.
ga ik proberenquote:In MSSQL kan je de parent er wel met een subselect bij zoeken:
[ code verwijderd ]
Nou, het werkt bij jou. Maar een kolom die niet in een group by en niet in een aggegate staat is niet goed gedefinieerd. De waarde die je terug krijgt kan van allerlei dingen afhangen zoals de indexen op de tabel of zelfs de volgorde waarin de regels in de tabel gezet zijn.quote:Op vrijdag 6 april 2007 16:37 schreef Swetsenegger het volgende:
Ja dat werkt perfect, komt zelfs van mysql website
Hmz, nou ja ik heb dit zoals gezegd van de mysql website bij een uitleg over hierarchische data.quote:Op vrijdag 6 april 2007 16:58 schreef SuperRembo het volgende:
[..]
Nou, het werkt bij jou. Maar een kolom die niet in een group by en niet in een aggegate staat is niet goed gedefinieerd. De waarde die je terug krijgt kan van allerlei dingen afhangen zoals de indexen op de tabel of zelfs de volgorde waarin de regels in de tabel gezet zijn.
Zet je Messenger client aanquote:Op zaterdag 7 april 2007 15:57 schreef JohannesPaulus het volgende:
Wie kan mij helpen? Mijn bod van 25 euro is nog geldig hoor![]()
1 2 3 4 5 6 7 8 9 10 | `id` int(11) NOT NULL auto_increment, `sub_id` int(11) NOT NULL default '0', `cat_id` int(11) NOT NULL default '0', `sort_id` tinyint(4) NOT NULL default '0', `type_id` enum('html','image','rss','php') NOT NULL default 'html', `html` text NOT NULL, KEY `id` (`id`), KEY `sub_id` (`sub_id`,`cat_id`,`sort_id`) ) ENGINE=MyISAM ; |
1 2 3 4 5 6 7 8 9 10 11 12 13 | `id` int(11) NOT NULL auto_increment, `sub_id` int(11) NOT NULL default '0', `cat_id` int(11) NOT NULL default '0', `sort_id` tinyint(4) NOT NULL default '0', `title` varchar(64) NOT NULL default '', `link` varchar(255) NOT NULL default '', `tip` enum('yes','no') NOT NULL default 'no', `image` enum('yes','no') NOT NULL default 'no', `views` int(11) NOT NULL default '0', KEY `id` (`id`), KEY `sub_id` (`sub_id`,`cat_id`,`sort_id`) ) ENGINE=MyISAM ; |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |