Anzeige auf HTML-Seite abhängig von Auswahl in Drop-Down

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Eurodiver
Mitglied
Beiträge: 54
Registriert: 02.02.2010 18:15
Wohnort: Wien
Kontaktdaten:

Anzeige auf HTML-Seite abhängig von Auswahl in Drop-Down

Beitrag von Eurodiver »

Hallo,

ich würde gerne je nach Auswahl in meiner Drop-Down Liste 2 verschiedene Tabellenausgaben in meiner HTML-Datei anzeigen:

Code: Alles auswählen

 
<?php
....
$_pfarre = $_POST["pfarre"];
$_jahr = $_POST["jahr"];
$_nachname = $_POST["nachname"];
$_vorname = $_POST["vorname"];

$matrikenart = $_POST["matrikenart"];
$selected[$matrikenart] = "selected";

mysql_set_charset("utf8");

if($matrikenart == "1") {
$query = "SELECT * FROM sm_ind_bapt_view WHERE pfarre_deutsch='%$_pfarre%' OR jahr='$_jahr' OR vorname LIKE '%$_vorname%' OR nachname LIKE '%$_nachname%' ORDER BY jahr LIMIT 20";
$result = mysql_query($query);
}

elseif($matrikenart == "2") {
$query = "SELECT * FROM sm_ind_marr_view WHERE pfarre_deutsch='%$_pfarre%' OR jahr='$_jahr' OR nn_ehemann LIKE '%$_nachname%' OR vn_ehemann LIKE '%$_vorname%' ORDER BY jahr";
$result = mysql_query($query);
}

else {
$query = "SELECT * FROM sm_ind_per_view WHERE pfarre_deutsch='%$_pfarre%' OR jahr='$_jahr' OR nachname LIKE '%$_nachname%' OR vorname LIKE '%$_vorname%' ORDER BY jahr";
$result = mysql_query($query);
}

while ($row = mysql_fetch_array($result)) 
{
    $template->assign_block_vars('block_name', array( 
            'PARISH'             => $row['pfarre_deutsch'],  
            'YEAR'               => $row['jahr'],
            'URL'                => $row['url'],
            'SURNAME'            => $row['nachname'],
            'FORENAME'           => $row['vorname'],
            'USERNAME'           => $row['username'],
            'SN_MALE'            => $row['nn_ehemann'],
            'FN_MALE'            => $row['vn_ehemann'],
            'SN_FEMALE'          => $row['nn_ehefrau'],
            'FN_FEMALE'          => $row['vn_ehefrau'],
        ));

....
?>
}

Datei: Ausgabe.html

Code: Alles auswählen

<!-- INCLUDE overall_header.html --> 
	<div class="content">
<h2 class="solo">{L_MY_TITLE}</h2></div>
<br /><br />
<form method="post" action="new_page.php"> 

<div class="forumbg forumbg-table">
 <div class="inner"><span class="corners-top"><span></span></span>
<table class="table1" cellspacing="1">

    <tr>  
        <th>{L_PARISH}</th>  
        <th>{L_YEAR}</th>  
        <th>{L_ARCHIV}</th> 
        <th>{L_SURNAME}</th> 
        <th>{L_FORENAME}</th> 
        <th>{L_USERNAME}</th> 
    </tr>  

    <!-- BEGIN block_name -->  

    <tr class="<!-- IF block_name.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">  
        <td>{block_name.PARISH}</td>  
        <td>{block_name.YEAR}</td>  
        <td>{block_name.URL}</td>  
        <td>{block_name.SURNAME}</td>  
        <td>{block_name.FORENAME}</td>  
        <td>{block_name.USERNAME}</td>    
    </tr>  

    <!-- END block_name -->  

</table>  
<span class="corners-bottom"><span></span></span>
</div></div>
<br/>
<br/>

<div class="forumbg forumbg-table">
 <div class="inner"><span class="corners-top"><span></span></span>
<table class="table1" cellspacing="1">

    <tr>  
        <th>{L_PARISH}</th>  
        <th>{L_YEAR}</th>  
        <th>{L_ARCHIV}</th> 
        <th>{L_SN_MALE}</th> 
        <th>{L_FN_MALE}</th>
         <th>{L_SN_FEMALE}</th> 
        <th>{L_FN_FEMALE}</th>  
        <th>{L_USERNAME}</th> 
    </tr>  

    <!-- BEGIN block_name -->  

    <tr class="<!-- IF block_name.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">  
        <td>{block_name.PARISH}</td>  
        <td>{block_name.YEAR}</td>  
        <td>{block_name.URL}</td>  
        <td>{block_name.SN_MALE}</td>  
        <td>{block_name.FN_MALE}</td>
        <td>{block_name.SN_FEMALE}</td>  
        <td>{block_name.FN_FEMALE}</td>
        <td>{block_name.USERNAME}</td>    
    </tr>  

    <!-- END block_name -->  

</table>  
<span class="corners-bottom"><span></span></span>
</div></div>
<br/>
<br/>
<input type="submit" name="submitbutton" id="submitbutton" value="neue Suche" height="50" width="100" style="width:100px; height:50px />
 <br /><br />
<!-- INCLUDE overall_footer.html --> 
Was muss ich in der HTML-Datei einfügen, damit ich je nach Auswahl nur die dazupassende Tabelle angezeigt bekomme?

Viele Grüße
Ernst
Man muss gut überlegen, was man sich wünscht.
Es könnte passieren, dass man es bekommt.
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Re: Anzeige auf HTML-Seite abhängig von Auswahl in Drop-Down

Beitrag von cYbercOsmOnauT »

Hallo Ernst,

so ganz kann ich Dir nicht folgen. Deine Codeblöcke erklären sich für mich nicht selbst. Zumal Du im falschem Forum schreibst. Bevor ich es verschiebe noch ein Hinweis von mir. POST/GET-Daten die in einer SQL verwendet werden sollten immer bereinigt werden. Hierzu wirf bitte dringend einen Blick auf folgende PHP Befehle: mysql_real_escape_string, addslashes, htmlspecialchars Du öffnest so wie Dein Code ist SQL Injection Attacken Tür und Tor.

Viele Grüße,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Eurodiver
Mitglied
Beiträge: 54
Registriert: 02.02.2010 18:15
Wohnort: Wien
Kontaktdaten:

Re: Anzeige auf HTML-Seite abhängig von Auswahl in Drop-Down

Beitrag von Eurodiver »

HalloTekin,

vielen Dank für deinen Hinweis bezüglich falschem Forum (bitte verschiebe es ins richtige) und der SQL-Injection-Attacken Gefahr durch mysql_real_escape_string, addslashes und htmlspecialchars, ich werde das gleich versuchen zu beheben!

Bezüglich meines leider nicht von selbst erklärenden Problems:

Kurz gesagt, wenn in meinem php-Skript folgende Abfrage durchgeführt wird

Code: Alles auswählen

...
elseif($matrikenart == "2") {
$query = "SELECT * FROM sm_ind_marr_view WHERE pfarre_deutsch='%$_pfarre%' OR jahr='$_jahr' OR nn_ehemann LIKE '%$_nachname%' OR vn_ehemann LIKE '%$_vorname%' ORDER BY jahr";
$result = mysql_query($query);
...
soll auf meiner html-Seite

Code: Alles auswählen

....
<div class="forumbg forumbg-table">
 <div class="inner"><span class="corners-top"><span></span></span>
<table class="table1" cellspacing="1">

    <tr>  
        <th>{L_PARISH}</th>  
        <th>{L_YEAR}</th>  
        <th>{L_ARCHIV}</th> 
        <th>{L_SURNAME}</th> 
        <th>{L_FORENAME}</th> 
        <th>{L_USERNAME}</th> 
    </tr>  

    <!-- BEGIN block_name -->  

    <tr class="<!-- IF block_name.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">  
        <td>{block_name.PARISH}</td>  
        <td>{block_name.YEAR}</td>  
        <td>{block_name.URL}</td>  
        <td>{block_name.SURNAME}</td>  
        <td>{block_name.FORENAME}</td>  
        <td>{block_name.USERNAME}</td>    
    </tr>  
    <!-- END block_name -->  
</table>
...
 
angezeigt werden, ansonsten

Code: Alles auswählen

...
<div class="forumbg forumbg-table">
 <div class="inner"><span class="corners-top"><span></span></span>
<table class="table2" cellspacing="1">

    <tr>  
        <th>{L_PARISH}</th>  
        <th>{L_YEAR}</th>  
        <th>{L_ARCHIV}</th> 
        <th>{L_SN_MALE}</th> 
        <th>{L_FN_MALE}</th>
         <th>{L_SN_FEMALE}</th> 
        <th>{L_FN_FEMALE}</th>  
        <th>{L_USERNAME}</th> 
    </tr>  

    <!-- BEGIN block_name -->  

    <tr class="<!-- IF block_name.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">  
        <td>{block_name.PARISH}</td>  
        <td>{block_name.YEAR}</td>  
        <td>{block_name.URL}</td>  
        <td>{block_name.SN_MALE}</td>  
        <td>{block_name.FN_MALE}</td>
        <td>{block_name.SN_FEMALE}</td>  
        <td>{block_name.FN_FEMALE}</td>
        <td>{block_name.USERNAME}</td>    
    </tr>  
    <!-- END block_name -->  
</table>  
Eben so wie das bei phpbb3 in der meberlist.php und meberlist_body.html realisiert ist.
Ich hoffe du kannst mir hier weiterhelfen!

Danke,
Ernst
Man muss gut überlegen, was man sich wünscht.
Es könnte passieren, dass man es bekommt.
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“