Läsa, skriva till databas

Events happening in the community are now at Drupal community events on www.drupal.org.
hmn73's picture

Jag har en undrar snarlik: http://groups.drupal.org/node/23218#comments, men kom inte så mycket längre trots tipsen där.
Jag är ny drupalare och frågan nedan kanske är väldigt basic, men jag sliter mitt hår och kommer inte vidare.

Jag vill läsa information ur en databas och presentera den på en sida.
Jag vill senare att man ska kunna ändra och lägga till information.

Säg att jag har en tabell "Deltagare" som ser ut som följer:

id | namn | klubb

1 | Klas | Stockholm BK
2 | Nils | Göteborg SK
3 | Pelle | Karlstad AIK

1) Är det bästa att lägga tabellen i den databas drupalinstallationen
ligger i, eller kan jag ha den i en annan databas(vilket är det jag vill)?

2) Hur ska man gå tillväga för att visa upp denna information i en slags
tabellform på en sida? Går det använda sig av någon färdig modul eller
blir det till att göra sig en egen modul?

3) Överkurs frågan: (glad om jag får svar på fråga 1 och 2, men finns det
ett snabbt svar på denna fråga är jag otroligt tacksam för det också).
Det handlar om att ändra och uppdatera informationen. Tex. lägga till eller
ta bort en deltagare, eller kanske ändra klubbtillhörighet.

Hoppas på svar
/Helge

Comments

Jag hade nog skapat en ny

pontus_nilsson's picture

Jag hade nog skapat en ny content type i drupal som heter Spelare och med CCK skapat två fält: namn och klubb. Du kan sedan använda Node Import http://drupal.org/project/node_import för att importera data du exporterat (som CSV) från en databas.

Då får du in din databas som "standard drupal" och kan använda t.ex. views för att visa datan från content type Spelare.

Hoppas det kan hjälpa dig på vägen.

//Pontus Nilsson, Digitalist

Mitt recept

tobiassjosten's picture

Om du, som du skriver, gärna vill behålla din data i en separat tabell skulle jag föreslå följande recept:

Redigera din settings.php (se instruktioner från rad 74 i default.settings.php) och lägg till din tabell liknande:

$db_prefix = array(
  'default'   => '',
  'mintabell'     => 'mindatabas.',
)

Med den informationen ska Drupal fortsättningsvis använda din databas för att nå din tabell.

Nästa steg är att berätta för Views om din tabell. Det gör du med hook_views() och hook_views_data(). I den senare pekar du på Views-handlers som du definierar i hook_views_handlers(), vilken i sin tur pekar på filer där dina handlers faktiskt finns. När allt är på plats så kan du använda Views för att hämta din data och presentera den i vilken form du vill, däribland så klart tabellform.

Det är den övergripande metoden jag skulle rekommendera. För mer information, kolla in Views 2 module developer API och Starting Views 2 documentation.

Om du också vill kunna redigera informationen från Drupal tycker jag att du bör ifrågasätta arkitekturen. Kanske Pontus metod (se ovan) är att föredra då, så att Drupal "äger" informationen. Du skulle sedan kunna exponera den för din andra applikation med hjälp av något lämpligt interface.


Tobias Sjösten | NodeOne

hjälp

masu0105's picture

Hej!

Ser att det här är en rätt gammal tråd men kan du förklara lite mer om hur man gör för att berätta för Views om tabellerna? Har nyss börjat använda Drupal och har ine förstått hur man ska kunna komma åt sina egna tabeller på ett enkelt sätt.

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week