Avatar billede janorakel Nybegynder
20. oktober 2003 - 21:33 Der er 2 kommentarer og
1 løsning

Søgescript søger forkert

Jeg har dette script, som viser enten forfattere eller oversættere valgt ud fra en form.
Udover egentlige forfattere når der søges på det, skal det også vise et evt. alias og andre forfattere.
Der er bare det problem, at det kun viser resultaterne fra den engentlige forfatter eller oversætter.
Scriptet ser således ud:

<html>
<Script language="JavaScript">
function Print()
{
window.print();
}
</Script>

<head>
<title></title>
<link rel="stylesheet" href="css/greenstyle1.css" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>

<body>
<div id="Layer1" style="position:absolute; left:666px; top:30px; width:25px; height:20px; z-index:1"><a href="#" onClick="Print();"><img src="/img/print.gif" width="16" height="15" border="0"></a></div>
<div id="Layer2" style="position:absolute; left:698px; top:28px; width:42px; height:28px; z-index:2"><a href="sog.php"><img src="/img/kikkert.gif" border="0"></a></div>
<div id="Layer3" style="position:absolute; left:638px; top:31px; width:15px; height:15px; z-index:3"><a href='java script:history.go(-1)'><img src='/img/back1.gif' border="0"></a></div>
<table width="50%" border="0" align="center" cellpadding="1" cellspacing="0" bordercolor="#333333" bgcolor="#FFFFFF">
    <tr bordercolor="#333333">
<?php
$db = mysql_connect("localhost", "xxx", "xxx") or die ("Desværre ingen forbindelse til databasen");
mysql_select_db("book", $db) or die ("Kunne ikke vælge databasetabel");

if (isset($_POST['soegeord'])) {
    echo "<font face='Verdana' size='1'>Denne side er genereret kl. ";
    echo date("H:i:s");
    echo "<br/>";
    echo "Du har søgt på  <strong>$_POST[soegeord]</strong>";
    echo " i originalværkets forfatter<br/> og har fået  ";
$soegeordsarray = explode (",",$_POST['soegeord']);
if (empty($soegeordsarray)){
    //soegeord var tom
}
elseif (count($soegeordsarray) == 1) {
    //Der er kun et element, dvs ingen kommaer
    //Man kunne så sige:
    $efternavn = trim($soegeordsarray[0]);
    $fornavn = trim($soegeordsarray[0]);
}
elseif (count($soegeordsarray) > 1) {
    //Ellers må der være to eller flere dele, dvs et eller flere kommaer
    //Så kunne man bruge de to første:
    $efternavn = trim($soegeordsarray[0]);
    $fornavn = trim($soegeordsarray[1]);
}
    $fullname = $_POST['soegeord'];
    $pos = strpos($fullname,','); // Finder ud af hvor kommaet er placeret i strengen
    $fornavn = substr($fullname,$pos+2);  // Korter strengen ned så vi får fornavnet
    $efternavn = substr($fullname,0,$pos); // Korter strengen ned så vi får efternavnet
    switch ($_POST['select']) {
    Case 1:
        $query = mysql_query("SELECT * FROM second WHERE forfatternavn_fornavn LIKE '%$fornavn%' AND forfatternavn_efternavn LIKE '%$efternavn%' OR
        alias_fornavn LIKE '%$fornavn%' AND alias LIKE '%$efternavn%' OR
        anden_forfatter_fornavn LIKE '%$fornavn%' AND anden_forfatter_efternavn LIKE '%$efternavn%' OR
        anden_forfatter_fornavn1 LIKE '%$fornavn%' AND anden_forfatter_efternavn1 LIKE '%$efternavn%' OR
        anden_forfatter_fornavn2 LIKE '%$fornavn%' AND anden_forfatter_efternavn2 LIKE '%$efternavn%' OR
        anden_forfatter_fornavn3 LIKE '%$fornavn%' AND anden_forfatter_efternavn3 LIKE '%$efternavn%' ORDER BY udgivelsestidspunkt_oversaettelse ASC") or die(mysql_error());
        break;
    Case 2:
        $query = mysql_query("SELECT * FROM second WHERE oversaetterens_fornavn LIKE '%$fornavn%' AND oversaetterens_efternavn LIKE '%$efternavn%' OR
        andre_oversaettere_fornavn LIKE '%$fornavn%' AND andre_oversaettere_efternavn LIKE '%$efternavn%' OR
        andre_oversaettere_fornavn1 LIKE '%$fornavn%' AND andre_oversaettere_efternavn1 LIKE '%$efternavn%' OR
        andre_oversaettere_fornavn2 LIKE '%$fornavn%' AND andre_oversaettere_efternavn2 LIKE '%$efternavn%' OR
        andre_oversaettere_fornavn3 LIKE '%$fornavn%' AND andre_oversaettere_efternavn3 LIKE '%$efternavn%'
ORDER BY udgivelsestidspunkt_oversaettelse ASC") or die(mysql_error());
        break;
        die("Galt soegekriterie");     
    }
    $antal = mysql_num_rows($query);
    echo "<strong>$antal</strong>";
    echo " svar:<hr><br/><br/>";
    while ($row = mysql_fetch_array($query)) {
        if ($row) {
            echo "<td width='60px'><font face='Verdana' size='1'><a href=dethele.php?id=$row[id]><img src=img/lup.gif border=0></a><td width='90px'><br/><tr>";
            echo "<td><font face='Verdana' size='1'>Pays:<td><font face='Verdana' size='1'>$row[land]<br/><tr>";
            echo "<td><font face='Verdana' size='1'>Titre original:<td><font face='Verdana' size='1'><em> $row[originalvaerkets_titel]</em><br/><tr>";
            echo "<td><font face='Verdana' size='1'>Date de publication:<td><font face='Verdana' size='1'> $row[udgivelsestidspunkt_original]<br/><tr>";
            echo "<td><font face='Verdana' size='1'>Auteur:<td><font face='Verdana' size='1'> $row[forfatternavn_efternavn], $row[forfatternavn_fornavn]<br/><tr>";
            echo "<td><font face='Verdana' size='1'>Pseudonyme:<td><font face='Verdana' size='1'> $row[alias], $row[alias_fornavn]<br/><tr>";
            echo "<td><font face='Verdana' size='1'>Titre de la traduction:<td><font face='Verdana' size='1'><em> $row[oversættelsens_titel]</em><br/><tr>";
            echo "<td><font face='Verdana' size='1'>Date de publication:<td><font face='Verdana' size='1'> $row[udgivelsestidspunkt_oversaettelse]<br/><tr>";
            echo "<td><font face='Verdana' size='1'>Traducteur:<td><font face='Verdana' size='1'> $row[oversaetterens_efternavn], $row[oversaetterens_fornavn]<br/><tr>";
            echo "<td colspan=2><hr></td><tr>";
        }
    }
}
?>
</table>
<br><br>
</body>
</html>

Jeg håber at der er nogen som kan hjælpe!!!
Avatar billede janorakel Nybegynder
20. oktober 2003 - 21:50 #1
Scriptet finder en løsning hvis begge sammenhørende felter er udfyldt.
eks. <anden_forfatter_efternavn, anden_forfatter_fornavn>
Avatar billede janorakel Nybegynder
21. oktober 2003 - 00:06 #2
Ingen der kan hjælpe?
Avatar billede janorakel Nybegynder
21. oktober 2003 - 11:50 #3
Jeg vil lige gøre det mere enkelt i et nyt spm.
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