Avatar billede nemlig Professor
16. oktober 2007 - 19:35 Der er 10 kommentarer og
3 løsninger

Flere udtræk i samme forespørgsel

Hej.

Er det muligt i samme "SELECT" at definere flere udtræk fra samme tabel:

1. feltnavn1 = variabel1
2. feltnavn2 = variabel2
3. feltnavn3 = variabel2
4. feltnavn4 = variabel2
Avatar billede Slettet bruger
16. oktober 2007 - 19:38 #1
ja det er muligt
SELECT feltnavn1, feltnavn2, feltnavn3, feltnavn4 FROM table;
Avatar billede arne_v Ekspert
16. oktober 2007 - 19:38 #2
Er det:

SELECT FROM t WHERE f1=x OR f1=y

eller:

SELECT FROM t WHERE f1=x AND f2=y

du leder efter ?
Avatar billede w13 Novice
16. oktober 2007 - 19:38 #3
Jaeh, det skulle jeg da mene, hvis jeg har forstået dig rigtigt. Medmindre det er meningen, at der skal stå variabel2 så mange gange i dit eksempel, for så forstår jeg ikke. Mener du bare:

SELECT [feltnavn1], [feltnavn2], [feltnavn3] FROM [table] WHERE noget=noget?
Avatar billede nemlig Professor
16. oktober 2007 - 19:45 #4
Det drejer sig om en søgefunktion, hvor der kan søges på fakturanr. (kan stå i 3 forskellige felter) eller lejekontraktnr. Numrene indtastes i hvert sit input-felt.

Derfor

SELECT FROM tabel WHERE fakid1 = $_POST['fakturanr'] OR fakid2 = $_POST['fakturanr'] OR fakid3 = $_POST['fakturanr'] OR kontraktid = $_POST['kontraknr']

Er det sådan?

Jeg kan selvfølgelig også bare nøjes med et input-felt, hvor der indtastes enten kontrakt eller faktura nr.

Er det så:
SELECT FROM tabel WHERE fakid1 OR fakid2 OR fakid3 OR kontraktid = $_post['nr']
Avatar billede w13 Novice
16. oktober 2007 - 19:58 #5
Dit første forslag ser rigtigt ud.

Jeg er ikke helt sikker omkring nr. 2. Hvis den skal kunne virke, skal der muligvis parentes omkring: fakid1 OR fakid2 OR fakid3 OR kontraktid
Men jeg tvivler lidt.
Avatar billede Slettet bruger
16. oktober 2007 - 20:01 #6
Du mangler at skrive hvad du vil select'e fra tabelen.
$sql = "SELECT feltnavn1, feltnavn2 FROM table
WHERE (fakid1 OR fakid2 OR fakid3) = '".mysql_escape_string($_POST['inputFelt'])."';";
Avatar billede nemlig Professor
16. oktober 2007 - 20:06 #7
Coldgate: Og lige for fuldstændighedens skyld:
mysql_escape_string....  Hvad gør det? Er det for at sikre mod SQL-injektions???
Avatar billede Slettet bruger
16. oktober 2007 - 20:42 #8
Ja lige præcis, for at formindske risikoen for at folk laver numre med databasen.
Avatar billede nemlig Professor
16. oktober 2007 - 20:58 #9
Super - så takker jeg for svarene.
I har alle 3 bidraget til løsningen.
Jeg forhøjer pointene, og beder jer venligst om et svar.
Avatar billede w13 Novice
16. oktober 2007 - 21:06 #10
Ok. :)
Avatar billede Slettet bruger
16. oktober 2007 - 21:06 #11
fino her er et svar
Avatar billede arne_v Ekspert
16. oktober 2007 - 21:17 #12
.
Avatar billede w13 Novice
16. oktober 2007 - 21:41 #13
Takker!
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
Computerworld tilbyder specialiserede kurser i database-management

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