Gå til innhold

[LØST]Sortering av en tabell med mange variabler


Anbefalte innlegg

Hei!

 

Jeg har sittet en stund nå å prøvd forskjellige metoder, men står fast!

Jeg har en tabell med 7(syv) kolloner:

kol1 | kol2 | kol3 | kol4 | kol5 | kol6 | kol7

 

Det jeg ønsker å gjøre er å kunne sortere disse mellom hverandre, f.eks jeg ønsker å lage en spørring hvor jeg henter ut alle radene som har en spesifikk verdi i kol2 og kol3, eller kol1, kol4 og kol5, eller kol2, kol3, kol5 og kol7.

 

Må jeg da skrive disse spørringene manuelt eller er det en kjap spørre mulighet jeg ikke vet om enda?

 

Info: Verdiene som det blir spurt etter er standard verdier, f.eks kol1 inneholder matvarer og kol2 inneholder maskinvareprodusenter. (dårlig eksempel men..)

 

Det er jo en god del spørringer jeg må skrive hvis det må gjøres manuelt..

 

Setter pris på all tilbakemelding!

 

-Theo!

Endret av Theodorl
Lenke til kommentar
Videoannonse
Annonse

Takk for svar Farmen, men fant en løsning. Det jeg ønsket var jo å slippe å skrive 256 if spørringer som representerte hver eneste mulige kobinasjon av de 7 feltene.

 

Dette er det jeg kom frem til som en løsning:(Kanskje tatt litt ut av sammenhengen, men du skjønner sikkert hva jeg skulle frem til)

$and_flag = 0;
if($kol1 OR $kol2 OR $kol3 OR $kol4 OR $kol5 OR $kol6 OR $kol7) {
$sql_tekst="SELECT * FROM bomb WHERE ";
if($kol1) {
$sql_tekst .= " kol1='$kol1'";
$and_flag = 1; }
if($kol2){
if($and_flag++) { $sql_tekst .= " AND"; }
$sql_tekst .= " kol2='$kol2'"; }
if($kol3){
if($and_flag++) { $sql_tekst .= " AND"; }
$sql_tekst .= " kol3='$kol3'"; }
if($kol4){
if($and_flag++) { $sql_tekst .= " AND"; }
$sql_tekst .= " kol4='$kol4'"; }
if($kol5){
if($and_flag++) { $sql_tekst .= " AND"; }
$sql_tekst .= " kol5='$kol5'"; }
if($kol6){
if($and_flag++) { $sql_tekst .= " AND"; }
$sql_tekst .= " kol6='$kol6'"; }
if($kol7){
if($and_flag++) { $sql_tekst .= " AND"; }
$sql_tekst .= " kol7='$kol7'"; }

}
else {
$sql_tekst="SELECT * FROM tabell";
}

 

-Theo

Endret av Theodorl
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...