Melding Ja - Nee ?
Ik wil een melding systeempje maken voor m,n site , vrij simpel eigenlijk alleen heb ik wel een paar vraagjes , o.a voor de DB Tabel en zowel voor het PHP Script .
Ik heb even snel een DB Tabel aangemaakt
Code (php)
1
2
3
4
5
2
3
4
5
CREATE TABLE `Website`.`Melding` (
`Status` ENUM( 'Aan', 'Uit' ) NOT NULL ,
`Melding` VARCHAR( 500 ) NOT NULL ,
`Datum` DATE NOT NULL
) ENGINE = MYISAM
`Status` ENUM( 'Aan', 'Uit' ) NOT NULL ,
`Melding` VARCHAR( 500 ) NOT NULL ,
`Datum` DATE NOT NULL
) ENGINE = MYISAM
Ik wil de Status via een Selectbox doen dus als de status op 'aan' komt moet de melding vertoont worden op de pagina's waar het dus bijv opgevraagt word , En als de status op 'uit' staat dan moet hij niks laten zien
Nu was mijn vraag, kan deze tabel beter ? Zoja hoe en op welke manier zou jij het doen ( ik zelf op deze manier.. ).
En de vraag kwa PHP gedeelte is .
Als ik op een pagina dus wil opvragen wat de Melding is .. hoe zou ik dat het beste kunnen doen aangezien ik het wel uit de DB kan ophallen alleen ik zou eigenlijk niet weten hoe ik dat moet doen i.v.m status ... als de status nee is dan moet hij niks laten zien maar zodra de status op Aan staat dan moet de melding wel getoont worden .. Hoe kan ik dit het beste doen ?
B.v.d Kevin
Bij het ophalen van de melding alles opvragen waar de melding 1 is(WHERE melding=1)... dan laat ie alle "uit" meldingen niet zien.
Het veld Melding kan je het best een TEXT van maken, want wat als je een heel lang bericht wilt plaatsen.
Voor het statusveld kan je meerdere dingen verzinnen:
Als je het veld melding ook null kan laten zijn, kan je het status-veld weglaten. Je hoeft dan alleen te controleren of er wat in het melding veld staat.
Als je de kolommen begin- en einddatum maakt, kan je selecteren of een melding vandaag getoont moet worden. Je kan dan ook alvast een melding voor volgende week erin zetten, of meerdere meldingen tegelijk.
Verder zou ik als Engine innoDB gebruiken, maar dat is meer persoonlijk.
Gewijzigd op 01/01/1970 01:00:00 door Terence Hersbach
Je kan idd met 0 (uit) en 1 (aan) werken of met false (uit) en true (aan) boolean.
Backtics zijn ook nergens voor nodig. En een varchar kan geen 500 tekens. Gebruik dan een long versie.
En een varchar kan maar 255 tekens bevatten toch?
Yep, max 255.
Dennis Mertens schreef op 04.03.2009 09:06:
En een varchar kan geen 500 tekens. Gebruik dan een long versie.
Dat is niet zo zwart-wit te stellen, het is afhankelijk van welke versie van MySQL je gebruikt.
Quote:
Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions. The effective maximum length of a VARCHAR in MySQL 5.0.3 and later is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used.
Als ik dit goed lees, kan een VARCHAR maximaal 65.535 tekens bevatten maar kan 1 tabel voor álle kolommen samen ook maximaal 65.535 tekens bevatten. Wil je veilig kunnen werken, dan gebruik uiteraard geen MySQL maar dat terzijde, dan zul je dit maximum moeten verdelen over de verschillende kolommen en hun constraints. Kortom, het is weer redelijk *beep* in MySQL.
MySQL kent geen echte BOOLEAN, een BOOLEAN is in MySQL een alias voor TINYINT(1). Met ee 1 of 0 kun je daar prima aangeven of iets true of false is.
Gewijzigd op 01/01/1970 01:00:00 door Frank -