Avatar billede nickyc Nybegynder
31. marts 2005 - 11:22 Der er 14 kommentarer og
1 løsning

select fra flere tabeller i samme db?

Hey alle..
Kan jeg lave en SELECT hvor jeg vælger flere tabeller fra samme database?
Avatar billede sostack Nybegynder
31. marts 2005 - 11:26 #1
Ja!
"SELECT * FROM `tabel1`, `dato`, `navn` FROM `tabel2`"; f.eks.

//sostack
Avatar billede sostack Nybegynder
31. marts 2005 - 11:29 #2
Avatar billede nickyc Nybegynder
31. marts 2005 - 11:32 #3
så den her går ikke?

$query = "SELECT id, gadenavn, vaerelser, husleje FROM ungdomsboliger, familieboliger, ældreboliger ORDER by gadenavn";
Avatar billede bromer Nybegynder
31. marts 2005 - 11:58 #4
Jo det burde den også hvis id,gadenavn,vaerelser,husleje er unikke i den forstand at samme felt ikke går igen i tabellerne. Du skal dog være opmærksompå at dit resultatset bliver samtlige kombinationer - så vidt jeg husker - af ungdomsboliger, familieboliger og ældreboliger. Det er MANGE rækker.
Avatar billede nickyc Nybegynder
31. marts 2005 - 12:07 #5
hmm, altså jeg har 3 tabeller, ungdomsboliger, familieboliger og ældreboliger, de alle indeholder samme felter, tror ikke jeg har gjort dem unikke!

Det jeg skal have er nogle querys der kan UPDATE fra hver enkelt, og DELETE fra hver enkelt, og SELECT fra hver enkelt!

hvis jeg har en oversigt med allesammen, virker er SELECT jo meget nem, men så derfra trykker man på rediger, så kommer man til rediger siden for en af dem!

Så hvis man redigere inde i ungdomsboliger fx, så skal jeg vel skrive :

$query = "UPDATE ungdomsboliger, ældreboliger, familieboliger SET gadenavn='$gadenavn', vaerelser'$vaerelser', m2='$m2', husleje='$husleje', indskud='$indskud' WHERE id='$id'";

grunden til de andre er med er at der ikke er en unik redigerings side for hver enkel tabel...

Så kan det så lade sig gøre...

Den der kan hjælpe får 100 point overni! :)
Avatar billede sostack Nybegynder
31. marts 2005 - 12:19 #6
Jeg tror det var nemmere at tilføje et felt i éen af tabellerne der hedder boligtype, og give det værdier som "u", "f", og "æ" og så samle alle boligerne i den tabel.
Dette kun fordi det er en ret simpel og ens struktur.
Så kan du lave en forespørgsel som "SELECT * FROM boligtabel ORDER BY boligtype";

Opdatering og sletning bliver også meget simplere:
"Update boligtabel SET gadenavn='$gadenavn', vaerelser'$vaerelser', m2='$m2', husleje='$husleje', indskud='$indskud' WHERE id='$id'";

og
"DELETE FROM boligtabel WHERE id='$id'";

//sostack
Avatar billede sostack Nybegynder
31. marts 2005 - 12:20 #7
et felt der hedder boligtype i éen af tabellerne.

//sostack
Avatar billede nickyc Nybegynder
31. marts 2005 - 12:25 #8
altså samle alle boligerne i en tabel, indsætte en felt der hedder boligtype med nogle forskellige værdier!?

Så lad os sige jeg skal skrive ungdomsboliger ud på sin egen side så min SELECT skal se sådanne ud:??

"SELECT * FROM boligtabel WHERE boligtype ='$u'";

Er dette så korrekt?
Avatar billede nickyc Nybegynder
31. marts 2005 - 12:28 #9
og at en tilføjning vil se sådanne ud:

"INSERT INTO boliger(gadenavn, værelser, m2, husleje, indskud) VALUES ('$_POST[$gadenavn]', '$_POST[$værelser]', '$_POST[$m2]', '$_POST[$husleje]', '$_POST[$indskud]' SET boligtype = æ)";

Hvis dette nemlig er rigtigt tror jeg at jeg har forstået det nogenlunde ? :)
Avatar billede sostack Nybegynder
31. marts 2005 - 12:29 #10
Ikke helt:
"SELECT * FROM boligtabel WHERE boligtype ='u'";

//sostack
Avatar billede sostack Nybegynder
31. marts 2005 - 12:31 #11
INSERT INTO boliger(gadenavn, værelser, m2, husleje, indskud, boligtype) VALUES ('$_POST[gadenavn]', '$_POST[værelser]', '$_POST[m2]', '$_POST[husleje]', '$_POST[indskud]' '$_POST[boligtype]')";

//sostack
Avatar billede nickyc Nybegynder
31. marts 2005 - 12:34 #12
jaja, men hvis jeg har en unik tilføjning til alle boliger? så er det vel at skrive SET boligtype = æ
hvis det var en aeldrebolig.php fx...
Avatar billede sostack Nybegynder
31. marts 2005 - 12:57 #13
ikke når du bruger (feltnavne) VALUES (værdier).
Det er at blande 2 metoder sammen, og det finder MySQL sig ikke i.
Lav en form til oprettelse af nye boliger:
<form action="opret.php" method="post">
Gadenavn: <input type="text" name="gadenavn"><br />
Værelser: <input type="text" name="værelser"><br />
m2: <input type="text" name="m2"><br />
Husleje: <input type="text" name="husleje"><br />
Indskud: <input type="text" name="ndskud"><br />i
Boligtype: <select name="boligtype">
    <option value="" selected>Vælg boligtype</option>
    <option value="u">Ungdomsbolig</option>
    <option value="f">Familiebolig</option>
    <option value="æ">Ældrebolig</option>
    </select><br />
<input type="submit" name="knap" value="Opret ny bolig">
</form>

Så virker det for alle typer bolig!

//sostack
Avatar billede nickyc Nybegynder
31. marts 2005 - 13:04 #14
ok, jeg siger mange tak...
værsgo, og laver lige et nyt spm med point til dig...

Hvad er der forresten galt med denne sætning
echo "<a href='bolig.php?id=id'>" . myrow['gadenavn'] . "</a><br /><br />";

Får en parse error?
Avatar billede sostack Nybegynder
31. marts 2005 - 13:07 #15
echo "<a href='bolig.php?id=" . $myrow['id'] . "</'>" . $myrow['gadenavn'] . "</a><br /><br />";

vil jeg gætte på
//sostack
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