Avatar billede janorakel Nybegynder
09. maj 2004 - 16:31 Der er 17 kommentarer og
1 løsning

Valg af søgeresultat via selectboks

Jeg har en søgeform, hvor man kan søge på land:

<form name="form1" method="post" action="soeeg.php">
  <div align="center">
    <input type="hidden" name="send" value="ok">
    <table width="670" height="35" border="0" cellpadding="0" cellspacing="0" style="BORDER-RIGHT: #323232 1px solid; BORDER-TOP: #323232 1px solid; BORDER-LEFT: #323232 1px solid; BORDER-BOTTOM: #323232 1px solid">
      <tr>
        <td width="223" height="2"></td>
      </tr>
      <tr>
        <td height="29" nowrap class="undermenu">&nbsp;&nbsp;Chercher le titre
          :</td>
        <td width="223" nowrap class="undermenu"><input name="soegeord" size="25" style="WIDTH: 100%" class ="text"></td>
        <td width="139" nowrap class="undermenu"> <div align="right">
            <select name="select2">
              <option value="1">Titre original</option>
              <option value="2">Titre de la traduction</option>
            </select>
          </div></td>
        <td width="9" nowrap class="undermenu">&nbsp;</td>
        <td width="74" nowrap class="undermenu"><input name="submit5" type="submit" class="undermenu" value="Chercher"></td>
      </tr>
      <tr>
        <td colspan="2" class="undermenu"> </td>
      </tr>
      <tr>
        <td height="2"></td>
      </tr>
    </table>
  </div>
</form>

Jeg vil gerne have lavet en ekstra mulighed her i formen, hvor man vælger udskriftsformat.
Enten kompakt, bibliografisk eller komplet.
Nu har jeg lavet en php-fil for hver mulighed, som udskriver på forskellig måde. Der modtages på samme måde i de tre filer.

Dvs. søgning på land modtages ens i alle 3 filer.
Og valg af udskriftsformat skal vælge, hvilken fil formdata skal sendes til.
Hvordan gør man det?
Avatar billede janorakel Nybegynder
09. maj 2004 - 16:50 #1
Skal man vælge at lave en mellemliggende fil, som bestemmer hvor formen skal redirectes til?
Avatar billede s_friis Nybegynder
09. maj 2004 - 17:07 #2
lav en select i din form og smid den med over sammen med de øvrige oplysninger til soeg.php.

I soeg.php laver du en if-else på select oplysningen der bestemmer hvilket format der skal udskrives i.
Avatar billede technodance.dk Nybegynder
09. maj 2004 - 17:08 #3
har ikke fået det 100% men du kan kontakt mig på msn hvis du har tid
Avatar billede janorakel Nybegynder
09. maj 2004 - 17:10 #4
Ok, så man laver alle formaterne i en fil..
Avatar billede janorakel Nybegynder
09. maj 2004 - 17:13 #5
Ok, select er indsat:

<form name="form3" method="post" action="soeeg3.php">
  <div align="center">
    <input type="hidden" name="send" value="ok">
    <table width="670" height="34" border="0" cellpadding="0" cellspacing="0" style="BORDER-RIGHT: #323232 1px solid; BORDER-TOP: #323232 1px solid; BORDER-LEFT: #323232 1px solid; BORDER-BOTTOM: #323232 1px solid">
      <tr>
        <td width="314" height="2"></td>
      </tr>
      <tr>
        <td height="28" nowrap class="undermenu">&nbsp; Chercher le pays: </td>
        <td width="111" nowrap class="undermenu"> <select name="soegeord" id="soegeord">
            <option selected
        >Danemark</option>
            <option>Norvège</option>
            <option>Suède</option>
            <option>Finlande</option>
            <option>Islande</option>
          </select></td>
        <td width="112" nowrap class="undermenu"><select name="select3">
            <option value="1">Kompakt</option>
            <option value="2">Biblografisk</option>
            <option value="3">Komplet</option>
            <option value="4">Normal</option>
          </select></td>
        <td width="131" nowrap class="undermenu"><div align="center">
            <input name="submit2" type="submit" class="undermenu" value="Chercher">
          </div></td>
      </tr>
      <tr>
        <td colspan="3" class="undermenu"> </td>
      </tr>
      <tr>
        <td height="2"></td>
      </tr>
    </table>
  <p>&nbsp;</p></div>
</form>

Og her er soeeg3.php er her:

<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 ($_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 land<br/> og har fået  ";
    $query = mysql_query("SELECT * FROM second WHERE land LIKE '%$_POST[soegeord]%' ORDER BY forfatternavn_efternavn ASC") or
die(mysql_error());
        $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>
Avatar billede s_friis Nybegynder
09. maj 2004 - 17:13 #6
det ville jeg gøre
Avatar billede janorakel Nybegynder
09. maj 2004 - 17:20 #7
Vil du ikke hjælpe lidt med det?
Jeg er stadig newbie inden for det her.
Ovenstående echo er udskriftsformat "normal".
Hvordan kan jeg indsætte de her if/else?
Avatar billede s_friis Nybegynder
09. maj 2004 - 17:35 #8
I din soeg.php starter du med alle de generelle ting som er gældende for alle formater - henter data osv.

det her kan du vel godt tage med:

if ($_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 land<br/> og har fået  ";
    $query = mysql_query("SELECT * FROM second WHERE land LIKE '%$_POST[soegeord]%' ORDER BY forfatternavn_efternavn ASC") or
die(mysql_error());
        $antal = mysql_num_rows($query);
        echo "<strong>$antal</strong>";
        echo " svar:<hr><br/><br/>";

HEREFTER LAVER DU EN SELECTERING

if($_POST[select3] == 1){
  kode for en type formatering
}else if($_POST[select3] == 2){
  kode for anden type formatering
} else if($_POST[select3] == 3){
  kode for en tredje formatering
}else{
  kode for en fjerde formatering
}
Avatar billede janorakel Nybegynder
09. maj 2004 - 17:36 #9
Ok, jeg prøver lige at lege lidt.
Avatar billede janorakel Nybegynder
09. maj 2004 - 17:45 #10
Argh, hvordan skal de første 2 options se ud? Intet output..

<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 ($_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 land<br/> og har fået  ";
    $query = mysql_query("SELECT * FROM second WHERE land LIKE '%$_POST[soegeord]%' ORDER BY forfatternavn_efternavn ASC") or
die(mysql_error());
        $antal = mysql_num_rows($query);
        echo "<strong>$antal</strong>";
        echo " svar:<hr><br/><br/>";
if($_POST[select3] == 1){
    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>";
}else($_POST[select3] == 2){
    while ($row = mysql_fetch_array($query)) {
        if ($row) {
        echo "<td>$row[forfatternavn_efternavn], $row[forfatternavn_fornavn], [ $row[alias], $row[alias_fornavn] ]. <em>$row[oversættelsens_titel]</em> / trad. par $row[oversaetterens_efternavn], $row[oversaetterens_fornavn]. $row[land], $row[udgivelsessted] :<br/><tr>";
        echo "<td><blockquote>$row[forlag], $row[udgivelsestidspunkt_oversaettelse], $row[antal_sider] p. - ($row[bogserie_notat])<br/><tr></blockquote>";
        echo "<td><blockquote>[$row[notater]]</blockquote><tr>";
        echo "<td></td><tr>";
}
        }
    }
}
?>
</table>
<br><br>
</body>

</html>
Avatar billede s_friis Nybegynder
09. maj 2004 - 17:51 #11
prøv lige at rette:
if($_POST[select3] == 1){

til if($_POST[select3] == '1'){

og ligeså med de øvrige
Avatar billede janorakel Nybegynder
09. maj 2004 - 17:55 #12
Stadig ikke noget output..
Er der for mange }?
Avatar billede s_friis Nybegynder
09. maj 2004 - 18:23 #13
ret:
}else($_POST[select3] == 2){

til:
}else if($_POST[select3] == 2){

eller:
else{
Avatar billede janorakel Nybegynder
09. maj 2004 - 18:23 #14
Ok, jeg prøvede noget nyt!
Se her - det virker:

    $query = mysql_query("SELECT * FROM second WHERE land LIKE '%$_POST[soegeord]%' ORDER BY forfatternavn_efternavn ASC") or
die(mysql_error());
        $antal = mysql_num_rows($query);
        echo "<strong>$antal</strong>";
        echo " svar:<hr><br/><br/>";
            while ($row = mysql_fetch_array($query)) {
        if ($row) {
    switch ($_POST['select3']) {
        Case 1:
        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>";
        break;
        Case 2:
        echo "<td>$row[forfatternavn_efternavn], $row[forfatternavn_fornavn], [ $row[alias], $row[alias_fornavn] ]. <em>$row[oversættelsens_titel]</em> / trad. par $row[oversaetterens_efternavn], $row[oversaetterens_fornavn]. $row[land], $row[udgivelsessted] :<br/><tr>";
        echo "<td><blockquote>$row[forlag], $row[udgivelsestidspunkt_oversaettelse], $row[antal_sider] p. - ($row[bogserie_notat])<br/><tr></blockquote>";
        echo "<td><blockquote>[$row[notater]]</blockquote><tr>";
        echo "<td></td><tr>";
        break;
        }
Avatar billede s_friis Nybegynder
09. maj 2004 - 18:26 #15
fint
en else if ville også have virket
men en swich er en udemærket ide

tillykke :-)
Avatar billede janorakel Nybegynder
09. maj 2004 - 18:35 #16
Smid et svar som tak for hjælpen! Det var super.
Avatar billede s_friis Nybegynder
09. maj 2004 - 18:38 #17
ok
Avatar billede janorakel Nybegynder
09. maj 2004 - 18:42 #18
Du fik hele proceduren smidt i den rigtige retning.
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