[PHP/MySQL] meta communicatie - veldnamen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Kapoen
  • Registratie: Mei 2002
  • Laatst online: 10:51
Mijn probleem is het volgende:
Ik moet een soort interface/html pagina ontwerpen waarmee een databank
gemakkelijk kan onderhouden worden (een beetje zoals phpMyAdmin dus).
Het is de bedoeling dat de gebruiker gemakkelijk agenda puntjes,
promoties,... kan invullen zodanig dat deze vervolgens netjes verschijnen
op de website waar de databank aan gekoppeld is.

Met mysql_fetch_fields() kan ik uiteraard allerlei handige en nodige
kolom informatie bekomen. Voor mij is het helemaal geen probleem
om met cryptische kolomnamen te werken zoals record_id, record_date,...
Voor de gebruiker zelf is dat niet echt wenselijk denk ik.
Daarom had ik graag titeltjes opgeslagen zoals "Voeg hier een datum in ",
"Inhoud artikel ",...

Deze titeltjes moeten dan verschijnen bij elk html formulier element
dat ik toevoeg (de verschillende input fields, textareas,...).

Wat mijn vraag nu eigelijk is: kan ik dit soort informatie opslaan in
de tabel zelf bij de kolom beschrijvingen (als meta communicatie dus)?
(en hoe vraag ik vervolgens deze beschrijving op?)

In phpMyAdmin vind ik alvast geen functie die hier aan voldoet, ook
het zoeken in de MySQL handleiding/GoT knowledge base
heeft nog niets opgeleverd.
Voorlopig los ik dit probleempje op door een 2e tabel in te vullen met
de gewenste kolom titels (niet echt ideaal want als ik een veld niet
invul dan blijft er niets over van mijn mooie formpjes :) ).

Eventueel zou ik in de table description alle kolommen kunnen beschrijven
en deze scheiden met een speciaal teken, zodanig dat ik later met
een regular expression de boel kan splitsen...

Hoe zien jullie dit?

Clowns to the left of me, Jokers to the right


Acties:
  • 0 Henk 'm!

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

PHP My Admin is ook geen 'admin', maar een databasetool. Dat verschil merk je in de afwezigheid van dergelijke functie.
Je tabledescription gebruiken, en evt. scheiden met een bijzonder karakter (overweeg \0 eens) lijkt me een vrij aardige oplossing...

Localhost, sweet localhost


Acties:
  • 0 Henk 'm!

  • Kapoen
  • Registratie: Mei 2002
  • Laatst online: 10:51
Ok na nog wat verder bladeren in verschillende handleidingen
en kilo's O'Reilly boeken heb ik dus nog altijd geen specifieke
meta functies gevonden voor dit doeleinde :).

Dan zal ik dus verder moeten werken met de table description.
kvdveer: waarom is \0 een goeie keuze als separator? Is dat
geen escape character voor MySQL? (phpMyAdmin voegt \\0 in
als ik dit kies) Ik dacht eerder aan "|" als scheiding of zo.
PHP My Admin is ook geen 'admin', maar een databasetool. Dat verschil merk je in de afwezigheid van dergelijke functie.
Jammer genoeg is phpMyAdmin alles wat ik heb op dit moment.
Toegang tot de MySQL console heb ik niet.

Alvast bedankt voor de tip kvdveer :)

Clowns to the left of me, Jokers to the right


Acties:
  • 0 Henk 'm!

  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 01-04-2023
Wat ik denk wat je bedoelt, is dat je in de database een andere manier op nahoudt met namen dan wat je visueel laat zien aan de gebruiker. Is dit niet gewoon wat je altijd hebt, als je met een database werkt? Je gaat toch niet als veldnaam bv iets van 'MSN adres' opslaan, maar pakt iets van 'msn'?

Zelfde doe ik met de site waar ik aan zit te werken, hierbij is de database compleet engelstalig (wel zo fijn vind ik), de site is daarentegen compleet nederlandstalig.

Wat je kan doen is ergens in de database bijvoorbeeld een aparte tabel maken met alleen maar vertaalslagen, of gewoon een functie bakken die je aanpast naar de wensen van de gebruiker.

Ook Knor is aangestoken met het ligfietsvirus!


Acties:
  • 0 Henk 'm!

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 20-08 20:35
uhm, ik kan me herinneren dat ik een phpMyAdmin wel eens een functie ben tegen gekomen waar je een comment bij een kolom kan zetten als je die met php zou kunnen uitlezen zou dat de oplossing zijn.

Sjit dat zijn alleen table comments niet per kolom :(

Maar je hebt wel 60 tekens dus als je hem uit zou kunnen lezen, wat me met een querie mogelijk lijkt dan kan je er een beetje informatie in op slaan.

Je kan ook alle unieke velden een bepaalde id geven en dan met behulp van php en een soort language file alles omzetten naar leesbare taal, maar zoiets vergelijkbaars was geloof ik al voorgesteld :)

[ Voor 55% gewijzigd door martinvw op 07-03-2003 10:38 ]


Acties:
  • 0 Henk 'm!

  • Kapoen
  • Registratie: Mei 2002
  • Laatst online: 10:51
Wat ik denk wat je bedoelt, is dat je in de database een andere manier op nahoudt met namen dan wat je visueel laat zien aan de gebruiker. Is dit niet gewoon wat je altijd hebt, als je met een database werkt? Je gaat toch niet als veldnaam bv iets van 'MSN adres' opslaan, maar pakt iets van 'msn'?
Daar heb je 100% gelijk in: ik werk ook graag met afkortingen (is sowieso
al aangeraden). Maar de gebruiker van mijn interface zal deze niet begrijpen
( het is een project voor de afdeling H.R. van mijn bedrijf, heel slimme mensen,
maar absoluut geen IT nerds zoals mijzelf ;) ), daarom dus die titeltjes
bij elk veld.
Maar je hebt wel 60 tekens dus als je hem uit zou kunnen lezen, wat me met een querie mogelijk lijkt dan kan je er een beetje informatie in op slaan.
Met volgende query lukt het:
PHP:
1
2
3
4
5
6
7
8
9
10
11
$query = "SHOW TABLE STATUS LIKE 'tabelnaam'";

/* $db = een objectje  om de communicatie
               MySQL - PHP te verzorgen
*/
$result = $db -> performQuery($query);
$count = mysql_num_fields($result);

$row = mysql_fetch_array($result) ;

echo $row[$count-1] . "<BR>\n";


Hiermee haal ik de laatste lijn uit de resultSet van
de query waarin de table description steekt.

[ Voor 69% gewijzigd door Kapoen op 07-03-2003 11:14 ]

Clowns to the left of me, Jokers to the right

Pagina: 1