• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

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 -----------------------
 

Macropolis

Tokyo Rose
Registriert
27.02.08
Beiträge
68
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
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
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:

Macropolis

Tokyo Rose
Registriert
27.02.08
Beiträge
68
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
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
habs hinbekommen - war ein Schreibfehler in einer Variablen die ich übersehen habe - manchmal sieht man den Wald vor lauter Bäumen nicht mehr ;)