Avatar billede dr_vodka Nybegynder
16. oktober 2006 - 10:35 Der er 3 kommentarer

Omskrivning af MySQL-kode så den ikke benytter sub-querys

Er det nogen der kan omskrive følgende kode så den ikke benytter sub-querys? Jeg må bryde sammen og tilstå at jeg ikke er fantastisk god til sql eller php for den sags skyld så jeg aner ikke om rumæneren der har lavet denne open source kode har ret i at det drejer sig om sub querys...men kast et blik på den.

$where=($show_Category=="")?"":" where rssid in (select id from #__rssreader where cat='$show_Category') ";

variablen $where benyttes efterfølgende i denne sql kode

$database->setQuery("select * from #__rssreader_cache $where $order limit $nr_feeds");
Avatar billede dr_vodka Nybegynder
16. oktober 2006 - 17:46 #1
Er løst...et andet spørgsmål der er knap så mange point værd :)  kan man slette spørgsmålet igen...
Avatar billede arne_v Ekspert
17. oktober 2006 - 00:51 #2
du ligger selv et svar og accepterer

(og skriver løsningen så andre kan få fornøjelse af den)
Avatar billede dr_vodka Nybegynder
17. oktober 2006 - 08:37 #3
nånå, så det skal være på den måde ;o)

denne her løser mit problem

$result = mysql_query("SELECT id FROM jos_rssreader where cat='$show_Category'")
or die(mysql_error()); 
$catId="";
$numrows=mysql_num_rows($result);
$i=0;
while($row = mysql_fetch_array( $result )) {
$i++;
        if($i< $numrows){
            $catId = $catId." rssid =".$row['id']." or";
        }
        else{
          $catId = $catId." rssid =".$row['id'];
        }   
}
$where =($show_Category=="")?"":"where $catId";
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