Avatar billede ping_pong Praktikant
13. april 2006 - 15:20 Der er 7 kommentarer og
1 løsning

hvordan select til hvad kolonne

Jeg har en tabel med 10 kolonner fra 1 – 10
Fra 1 – 5 kan skrive datoer
Fra 6 – 10 kan man enden vælge at skrive ikke noget eller man kan skrive 1
Så kunne jeg godt tænke mig at vide hvordan jeg skal select det.
Det den skal select er hvis der står 1 i kolonne 6 skal den udskrive det
hvis der står 1 i kolonne 7 skal den udskrive det
hvis der står 1 i kolonne 8 skal den udskrive det
hvis der står 1 i kolonne 9 skal den udskrive det
hvis der står 1 i kolonne 10 skal den udskrive det

noget lignende:
mysql_query("SELECT 6, 7, 8, 9, 10 FROM tabel WHERE 6 = 1, 7 = 1, 8 = 1, 9 = 1, 10 = 1")

det skal udskrives ligesom en tagwall.

det er ikke lige til at forklare.
Avatar billede ping_pong Praktikant
13. april 2006 - 15:21 #1
det er nok mere som det her.

mysql_query("SELECT 1, 2, 3, 4, 5 FROM tabel WHERE 6 = 1, 7 = 1, 8 = 1, 9 = 1, 10 = 1")
Avatar billede ping_pong Praktikant
13. april 2006 - 15:32 #2
den skal udskrive

hvis
kolonne 6 er 1
kolonne 7 er 1
kolonne 8 er
kolonne 9 er
kolonne 10 er 1
Avatar billede ping_pong Praktikant
13. april 2006 - 15:34 #3
hvis
kolonne 6 er 1
kolonne 7 er 1
kolonne 8 er
kolonne 9 er
kolonne 10 er 1

skal den udskrive alt data for kolonne 6, 7 og 10
Avatar billede ping_pong Praktikant
13. april 2006 - 21:16 #4
hvis der står 1 i kolonne 6 skal den udskrive kolonne 1
hvis der ikke står noget i kolonne 6 skal den ikke udskrive noget
hvis der står 1 i kolonne 7 skal den udskrive kolonne 2
hvis der ikke står noget i kolonne 7 skal den ikke udskrive noget

o.s.v. op til kolonne 10

kan det lade sig gøre?
Avatar billede jakobdo Ekspert
14. april 2006 - 00:44 #5
Du skal jo lave nogle forskellige SQL'er.
Du bruger WHERE til at sætte hvad som skal være = 1.
Du kan jo også vælge at trække alle data ud, og når du så skal udskrive, så kan du bruge:
if(!empty($row['6']))
echo "Der var noget i række 6 : " . $row['6'] . "<br />";

osv...
Avatar billede ping_pong Praktikant
14. april 2006 - 07:57 #6
din løsning se meget god ud, smid til svar.

kan du fortælle mig om jeg også kan bruge denne løsning.

if ($6 == 1){
print "$1
}
if ($7 == 1){
print "$2
}
if ($8 == 1){
print "$3
}
if ($9 == 1){
print "$4
}
if ($10 == 1){
print "$5
}
Avatar billede jakobdo Ekspert
14. april 2006 - 10:56 #7
Jeg ville nok lave:

$query = mysql_query("SELECT * FROM tabel WHERE id = ETELLERANDET");
//Fik vi nogen rækker ud?
if(mysql_num_rows($query)>0)
{
//Ja det gjorde vi
while($row = mysql_fetch_assoc($query))
{
if($row['6'] == 1)
echo $row['1'];
if($row['7'] == 1)
echo $row['2'];
//osv...
}
}
else
{
//Nej det gjorde vi ikke.
}

Sådan tror jeg, jeg ville lave det, hvis det var.
Avatar billede jakobdo Ekspert
17. april 2006 - 10:37 #8
Takker for point.
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