FORUMARCHIV  
  formular bleibt unsausgefüllt   
 
ja guten morgen,

habe das gefühl, dass php nur komplizierter statt einfacher wird desto länger man damit arbeitet....

folgende frage: ich habe ein formular wo jemand einfach daten eintregen soll. z.b. grösse, alter geschlecht. in der action-seite werden die dinge dann genommen und in eine sql-abfrage gepackt.

z.b.: select * from mensch where grösse = '$grösse' and geschlecht = '$geschlecht' and......

problem ist nun, dass jemand einen wert nicht angibt. also zb geschlecht weg lässt. bei meiner abfrage würde das heissen, dass er nach allen sucht wo kein geschlecht ist.

select * from mensch where grösse = '$grösse' and geschlecht = '' and......

aber ich will in dem falle alle haben, also egal was für ein geschlecht. hoffe ihr versteht mein problem. und könnt mir helfen

> Hier gehts zum Orginal Eintrag

 
  Antworten  
 

1.

Hmm ... du könntest es zum Beispiel so machen :

Code:                   In Zwischenablage kopieren (nur IE)
1">

Ich mach das immer so, dass ich ein bis 2 Felder mitgebe, die auf jeden Fall gefüllt sind. Kommt aber halt auch immer drauf an, wie umfangreich die DB/Tabelle ist ...



2.

na dat klingt nach einem sinnvollen lösungsansatz. habe dann zwar am ende evtl ein AND noch da stehen, aber das kann ich ja einfach lösen indem ich noch irgendeine sinnlose angabe hinten dran hänge. super, danke!



3.

"...indem ich noch irgendeine sinnlose angabe hinten dran hänge...."

Na, das ist dann aber nicht grade profesionell....

Ich würde es da lieber so machen:

[PHP]
<?php
$bedingung=array();
$sql="select * from mensch";

if (!empty($grösse)) $bedingung[] = "grösse='$grösse'";

if (!empty($geschlecht)) $bedingung[] = "geschlecht='$geschlecht'";

if (!empty($alter)) $bedingung[] = "alter='$alter'";

if (count($bedingung))
{
$where=implode(" and ",$bedingung);
$sql .= " where " . $where;
}

echo $sql;

?>
[/PHP]

[doc]count, implode[/doc]



4.

Nuja .. du kannst das ja auch variieren .. und so sinnlos muss das zusätzliche Argument gar net sein, kommt ganz darauf an, was du alles in der Tabelle hast, und was sich lohnen könnte "auf jeden Fall" mit abzufragen.

Code:                   In Zwischenablage kopieren (nur IE)
2">

Dadurch wäre dann auch das "AND" am Ende weg ..

Edit : Das von Swiftnick ist natürlich die optimale Lösung ... cool .. wieder was gelernt!
Diese empty()-Funktion kannte ich auch noch net! Man lernt halt nie aus ..



5.

swiftnick du hast ja recht. aber - ich muss eh noch die id´s von zwei verschiedenen tabellen am ende abgleich, von daher muss ich eine "sinnlose" abfrage dran hängen. dennoch, deine lösung ist optimal fürs nächste mal!

danke euch beiden zu so früher stunde



> Weiter Einträge finden Sie in unserem Forum

 

Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.



Webspace mit PHP und MySQL bei phpforum.de!

Quelltext erweitern , aber wie
windows mediaplayer
Problem mit FDF
keine idee wie!
Zeilen einer bestimmten spalte zählen
Anmeldung - wie am Besten umsetzen?
Internet Explorer und Hover-effekt bei &lt;td&gt;
Namenvergleich mit Tabelle falls vorhanden 100 Punkte dazu
Weiterleitung
Sessions übergebe in ein forum
Brauche tipp bei mysql Fehlermeldung
Wörter mit Apostroph
Einen Script um Scripte zu sperren und entsperren
Gutes Java Tutorial für Anfänger
Einlesen von bestimmten Daten in Db
in mysql immer in die zeile eintrage die die höchste ID trägt
Terminkalender - Dauertermine
select in der länge begrenzen
copy() ignoriert if-abfrage
Tut oder Script für eine Download section
Textdatei durchsuchen und Ergebnis mit Button ausgeben
Probleme beim Insert
Variabel hochzählen
Daten von DB in einer Tabelle anzeigen
if abfrage wird übergangen
Kompletter Pfad von &lt;input type=&quot;file&quot;
mysql_fetch_object überspringt die erste zeile
Problem mit open_basedir restriction
formular erweiterung
checkboxen name=&quot;alles_haben_den_gleichen_name&quot; wie auslesen?
div elemente mit variabler groesse
30 Tage Testlizens
was ist das für eine Fehlermeldung
Probleme die Textdatei korrekt auszulesen
onmouseover in tabelle anderen text anzeigen
Formular und Variablenproblem
Kontaktformular - Bitte um Hilfe!
Apache Server funktioniert nicht
Tabelle mit Zufallszahlen füllen
Php search script
Script aktualisieren
Ie-fenster
DTD Problem mit BG Anzeige
wamp STARTEN OHNE MYSQL UD APACHE ZU STARTEN ß
Prüfen, ob Ordner existiert
Parse error in array
strip_tags(sid) funktioniert bei mir nicht
Variablen auslesen und mailen
imagecopyresampled()
function in echo &lt;&lt;&lt;
Weiter

Webdesign und TYPO3 Agentur - analog multimedia

phpforum.de das deutsche PHP-Forum. Hier finden Sie alles über PHP, PHP3, PHP4, PHP5 MySQL, ASP, JSP,Linux, Apache ...
  phpforum.de