• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

PHP - Suchfunktion erweitern

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
Hallo, ich habe von meinem Vorgänger ein Projekt übernommen und soll die Suchfunktion erweitern.

das Problem bei der Erweiterung ist das 4 DB-Felder abgefragt werden sollen in den jeweils nur ein Name steht (Zuständigkeit)

Aus Platzmangel habe ich mich für Checkboxen entschieden:
Der erste Bereich (Betreff funzt prima). zustaendig_1, zustaendig_2 geht aber irgendwie nicht!

Im Anhang habe ich mal die Seite als TXT rangehängt. Falls jemand sich dem gewachsen fühlt wäre ich sehr dankbar!

PHP-Anfang ---------------------------
echo "<td width='400' bgcolor='#E4EBFE'><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'><input type='text' size='60' name='betreff' value='";
if(!empty($_POST["betreff"])) echo $_POST["betreff"];
echo "'>";
echo "</font></td>";

echo "<td width='150' bgcolor='#E4EBFE'><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>";

echo "<input type='checkbox' name='zustaendig_1' value='Ahlendorf";
if(!empty($_POST["zustaendig_1"])) echo $_POST["zustaendig_1"];
echo "'>";

echo "<input type='checkbox' name='zustaendig_2' value='Stadter";
if(!empty($_POST["zustaendig_2"])) echo $_POST["zustaendig_2"];
echo "'>";

echo "</font></td>";

PHP-Ende -----------------------
 
Weisst Du, was Dein Code überhaupt macht? Der schreibt den value der Checkbox erneut in das value-Attribut hinein. Das klappt so nicht. Wenn Du möchtest, dass die Checkbox abgehakt wird, solltest Du stattdessen das Attribut "checked" setzen.
Beispiel:
Code:
echo "<input type='checkbox' name='zustaendig_1' value='Ahlendorf'";
if(!empty($_POST["zustaendig_1"])) echo ' checked="checked"';
echo ">";
Unabhängig davon ist Dein Code ein gutes Beispiel dafür, wie man PHP-Code NICHT schreiben sollte. Versuche PHP-Code und HTML strikt zu trennen, indem Du z.B. auf eine Template-Engine wie z.B. Smarty zurückgreifst.
Durch bessere Programmierung bekommst Du auch deutlich kürzeren Code hin - das Zusammenbauen des select-Tags z.B. (ab Zeile 90) könntest Du z.B. um gut 2/3 kürzen.
Aber das nur am Rande ...

HTH,

Macropolis
 
Danke!
Dein Tipp hat mich schon einen Schritt weiter gebracht - jetzt wird wenigstens schon mal was ausgegeben.

Aber Irgendwie klappt das noch nicht ganz - es werden immer alle Beiträge angezeigt!
 
Zuletzt bearbeitet:
Lass Dir doch z.B. mit var_dump mal die SQL-Query ausgeben und schau, dass Du sie anschließend z.B. in phpmyadmin so modifizierst, dass die erwarteten Ergebnisse rauskommen.
Auf diese Weise sollte es klarer sein, an welcher Stelle Du Deinen Code anpassen musst.

HTH,

Macropolis
 
habs hinbekommen - war ein Schreibfehler in einer Variablen die ich übersehen habe - manchmal sieht man den Wald vor lauter Bäumen nicht mehr ;-)