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 Computerworld it-jobbank
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