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"> 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"> </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?
Annonceindlæg fra Infor
Skal man vælge at lave en mellemliggende fil, som bestemmer hvor formen skal redirectes til?
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.
har ikke fået det 100% men du kan kontakt mig på msn hvis du har tid
Ok, så man laver alle formaterne i en fil..
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"> 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> </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>
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?
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 }
Ok, jeg prøver lige at lege lidt.
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>
prøv lige at rette: if($_POST[select3] == 1){ til if($_POST[select3] == '1'){ og ligeså med de øvrige
Stadig ikke noget output.. Er der for mange }?
ret: }else($_POST[select3] == 2){ til: }else if($_POST[select3] == 2){ eller: else{
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; }
fint en else if ville også have virket men en swich er en udemærket ide tillykke :-)
Smid et svar som tak for hjælpen! Det var super.
Du fik hele proceduren smidt i den rigtige retning.
Vi tilbyder markedets bedste kurser inden for webudvikling