Avatar billede hejmedmigselv Nybegynder
03. december 2002 - 21:38 Der er 12 kommentarer og
2 løsninger

Anvende samme database til flere hjemmesider, nemt!

Øhm, jeg har gennem lang tid fået bakset en stor hjemmeside op, baseret på en mysql-database.
Øhm, nu er det sådan så jeg gerne vil bruge den samme database i mit webhotel til flere hjemmesider, og derfor havde jeg tænkt mig at alle tabeller tilhørende den store side skulle hedde noget med hjemmeside_tabel1, hjemmeside_tabel2 osv. osv. Så alle tabeller starter med hjemmeside_.
Dermed kan jeg kalde de tabeller til andre hjemmesider hjemmeside2_, hjemmeside3_ osv.

Er det ikke muligt at ligesom jeg 1 sted har en fil hvor jeg connecter til databasen kan have en fil hvori jeg skriver hvad tabellerne skal starte med, så jeg bare skal ændre det 1 sted hvis det er.

Normalt er det jo sådan så man skriver noget med select * form tabel1, dette skulle istedet blive select * from hjemmeside1_tabel1.

Håber nogen kan følge mig!
Avatar billede hejmedmigselv Nybegynder
03. december 2002 - 21:38 #1
Ved godt jeg ikke er den bedste til at formulere et spørgsmål :-)
Avatar billede erikjacobsen Ekspert
03. december 2002 - 21:45 #2
hjemmeside1.inc.php:

  $host=...;
  $user=...;
  $pass=...;
  $db=....;
  $tabel="hjemmeside1_tabel";

og så når du har inkluderet den:

  $sql="select * from $tabel ..."
Avatar billede nicklasb Nybegynder
03. december 2002 - 21:48 #3
jo da..

Hvis din config-fil normal ser således ud:

<?
                // Oplysninger omkring database
$host = "Host";      // Host
$user = "User";      // Brugernavn
$pass = "Pass";      // Kodeord
$db = "Database";    // Database
?>

skal du bare tilføje en

$table = "Tabellen"; // Tabellen

og så skrive:

select * from $table


Er det bare sådan du mener??

/Nicklas B.
Avatar billede hejmedmigselv Nybegynder
03. december 2002 - 21:52 #4
Øhm, desværre bruger jeg en del tabeller.
Så er den eneste mulighed at tilføje dette i config.php:
$table = "hjemmeside1";

og så gå HELE siden igennem og finde og indsætte select * from $table_tabel1, altså indsætte $table_ alle de steder hvor jeg har en sql-sætning!
Avatar billede hejmedmigselv Nybegynder
03. december 2002 - 21:54 #5
Øhm, burde det ikke være muligt og automatisk søge efter from og så tage de enkelte tabeller en efter en og erstatte med from $table_ og så de enkelte tabelnavne? Hvis I forstår!
Avatar billede erikjacobsen Ekspert
03. december 2002 - 21:55 #6
Ja, du skal rette din eksisterende kode. Men den anden
løsning er at bruge en ny database pr. hjemmeside. Så
er det kun en ændring i din config-fil
Avatar billede erikjacobsen Ekspert
03. december 2002 - 21:56 #7
søge efter from? Det står vel også andre steder i andre
SQL-sætninger
Avatar billede hejmedmigselv Nybegynder
03. december 2002 - 22:02 #8
erikjacobsen --> Jeg skal betale pr. database ;-)
Avatar billede hejmedmigselv Nybegynder
03. december 2002 - 22:02 #9
Findes der andre sql-sætninger hvor from ikke findes?
Avatar billede erikjacobsen Ekspert
03. december 2002 - 22:06 #10
Du må jo kende dine egne sql-sætninger ... :)

Ja, livet er surt - med mindre man har sin
egen dedikerede server ... hehe
Avatar billede well_r Nybegynder
03. december 2002 - 22:14 #11
brug da wordpad til at ændre det hvis ikke du vil bruge de nævnte metoder med $table = "hjemmeside1_tabel";

Der kan du bare find and replace alt hvad der hedder SELECT * FROM til SELECT * FROM hjemmeside1_
Avatar billede hejmedmigselv Nybegynder
03. december 2002 - 22:14 #12
Øhm, nå. Ja, jeg må bare gå igang!
Tak for svarene!
Avatar billede nemeier Nybegynder
04. december 2002 - 10:38 #13
Hvis dine tabeller har samme opbygning ville det nok være en mulighed at tilføje navnet på hjemmeside som en nøgle til din tabel. Dette ville gøre det lettere at udvide funktionaliteten på alle hjemmesider af engang.
Avatar billede hejmedmigselv Nybegynder
04. december 2002 - 14:17 #14
nemeier --> forstår ikke helt!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester