Avatar billede -kenner- Nybegynder
19. juni 2006 - 12:16 Der er 2 kommentarer

Vælge data fra to tabeller og udskrive dem med samme variable!

Hej eksperter,

Hvad er det lige der skal ændres i mit sql kald, så dette stykke kode kommer til at virke?

Så 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

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>";
}
Avatar billede zynzz Praktikant
19. juni 2006 - 16:21 #1
Hvis du vil hente fra begge tabeller skal du lave 2 kald...
Avatar billede -kenner- Nybegynder
22. juni 2006 - 13:41 #2
Den understående kode søger kun i tabellen koder, men den skal også søge i tutorial, som jeg skrev oven for. Hvordan vil du skrive det, hvis der skal være to kald?

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'>";

  $search=explode(" ",$search_org);
  while($row = mysql_fetch_array($query)) {
  $iCount=0;
  $Beskrivelse=$row['Beskrivelse'];
  for($k=0; $k<count($search); $k++) {
    $reg_exp1="/^(|.*\W{1})".strtolower($search[$k])."(\W{1}.*|)$/";
    if(preg_match($reg_exp1, strtolower($row['Beskrivelse']))) {
    $iCount+=substr_count(strtolower($row['Beskrivelse']),$search[$k]);
    $Beskrivelse=str_replace(strtolower($search[$k]),"<b>".strtolower($search[$k])."</b>",$Beskrivelse);
    $iCount+=substr_count(strtoupper($row['Beskrivelse']),$search[$k]);
    $Beskrivelse=str_replace(strtoupper($search[$k]),"<b>".strtoupper($search[$k])."</b>",$Beskrivelse);
    $iCount+=substr_count(ucwords($row['Beskrivelse']),$search[$k]);
    $Beskrivelse=str_replace(ucwords($search[$k]),"<b>".ucwords($search[$k])."</b>",$Beskrivelse); }
    if(preg_match($reg_exp1, strtolower($row['Titel']))) {
    $iCount+=substr_count(strtolower($row['Titel']), $search[$k]); }
    if(preg_match($reg_exp1, strtolower($row['Kode']))) {
    $iCount+=substr_count(strtolower($row['Kode']), $search[$k]); } }

    if($iCount!=0) {
    $oOutput.="<tr>\n<td class='tekst'><b>".$row['Titel']."</b><br>\n";
    $oOutput.=$Beskrivelse."<br>\n";
    $oOutput.="<a href='index.php?H=Koder&K=".$row['ID']."'>Gå til koden »</a></td>\n</tr>";
    $tCount+=$iCount; } }

  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.";
    }
?>

</body>
</html>
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