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!!!
