Optimering af søgefunktion og kald fra to tabeller i en sql..
Hej eksperter,
Jeg mangler noget hjælp til min søge funktion. Det er også sådan, at hvis jeg skriver " "(mellemrum) i søge boksen smider den bare en række fejl, så kan i ikke hjælpe mig med at optimere min kode?
Hvad er det lige der skal ændres i mit sql kald, så dette stykke kode kommer til at virke?
Kolonnen Titel skal udskrives som titel, beskrivelse, som beskrivelse og Kode_ID/ID som ID.
Tabeller: koder: - Titel - Beskrivelse - Kode_ID
tutorial: - Titel - Beskrivelse - ID
Try Source: $result_text = mysql_query("select koder.titel and tutorial.titel as Titel, koder.beskrivelse and tutorial.beskrivelse as Beskrivelse, koder.ID and tutorial.Kode_ID as ID from koder, tutorial where koder.Godkendt='A' or tutorial.Godkendt='A'") or die(mysql_error()); while($row = mysql_fetch_array($result_text)){ echo "Titel: ".$row['Titel']."<br>"; echo "Beskrivelse: ".$row['Beskrivelse']."<br>"; echo "ID: ".$row['ID']."<br><br>"; }
Dette skulle så skrives ind i denne source, men da det ikke virker er det ikke pastet endnu. Nederståend source søger kun i tabellen koder, men den skal også søge i toturial.
Source:
<form action="index.php?H=Home&U=9" method="POST"> <table width="100%"><tr><td valign="center"> <input type="text" name="sSearch" value="<?php if(isset($_POST['sSearch'])) echo $_POST['sSearch'];?>" style="width: 85%"> <input type="submit" name="search" value="Søg" class="knap" style="width:35px"> <input type="button" name="help" value=" class="knap" style="width:15px"onclick="window.open('pop-up.php?Titel=Søgning&Tekst=For at søge paa mere end et ord skal du lave et MELLEMRUM imellem ordene!<br><br>Du kan ikke bruge X som seperator ved søgning på flere ord!','Eksempel','width=400,height=250');"><br> </td></tr></table></form> <?php if(!empty($_POST['sSearch'])) { $search_org=$_POST['sSearch']; $search_titel="LOWER(Titel) LIKE '%".str_replace(" ", "%' OR LOWER(Titel) LIKE '%", $search_org)."%'"; $search_beskrivelse = "LOWER(Beskrivelse) LIKE '%".str_replace(" ", "%' OR LOWER(Beskrivelse) LIKE '%", $search_org)."%'"; $search_kode="LOWER(Kode) LIKE '%".str_replace(" ", "%' OR LOWER(Kode) LIKE '%", $search_org)."%'"; $query=mysql_query("SELECT * FROM koder WHERE $search_titel OR $search_beskrivelse OR $search_kode AND Godkendt = 'Y'") or die(mysql_error()); if(mysql_num_rows($query)>0) { $tCount=0; $oOutput="<table width='100%' border='0' cellspacing='0' cellspan='0'>";
if($tCount>0) { $oOutput.="<tr>\n<td class=\"tekst\">Der blev fundet ialt ".$tCount." matches på : ".$search_org."</td>\n</tr></table>"; } else { $oOutput="<table width='100%' border='0' cellspacing='0' cellspan='0' class=\"tekst\"><tr><td>Der var ingen matches på : ".$search_org."</td></tr></table>"; } } else { $oOutput="<table width='100%' border='0' cellspacing='0' cellspan='0' class=\"tekst\"><tr><td>Der var ingen matches på : ".$search_org."</td></tr></table>"; } echo $oOutput; } if(!isset($oOutput)){ echo"Du skal intaste et søgeord."; } ?>
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.