php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.11.2008, 15:00  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] mit einer CHECKBOX feld nach mehreren wörtern durchsuchen

Hi,
gut ^^
mithilfe der checkboxen markiere ich wonach gesucht werden soll z.b. nach dir oder techn. die checkbox "fo" muss aber nach zwei wörtern suchen, die wären fo oder rez.
da ich in die value ja nicht einen wert wie "%fo% oder %rez%" eingeben kann muss eine andere lösung her...
PHP-Code:
<input type="checkbox" name="depart1" value="Dir"  />Dir
<input type="checkbox" name="depart1" value="techn"  />Tec
<input type="checkbox" name="depart1" value="fo"  />Rez
<input type="checkbox" name="depart1" value="bla"  />bla 
ich bräuchte also so etwas:
if ($depart1=='fo')
{
$depart1='%fo%' or '%rez%';} entweder fo oder rez
else $depart1='*' <-- also das was angeklickt wurde z.b. dir oder dir und bla oder ...
...


danke der hilfe

Geändert von taurus (30.11.2008 um 15:10 Uhr).
taurus ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.11.2008, 15:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Da Du die Schlüssel wegen Manipulierbarkeit ohnehin nicht direkt im LIKE einsetzen solltest, böte sich sowas an:

PHP-Code:
$lookup = array (
  
'Dir'   => '%Dir%' ,
  
'techn' => '%techn%' ,
  
'fo'    => array ('%rez%','%fo%')
  );

... 
'WHERE abc LIKE "' implode ('" OR abc LIKE "' , (array) $lookup[$_POST['depart1']]) . '"'
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 30.11.2008, 15:17  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ach das geht? für fo einfach ein array erzeugen=?

sieht gut aus werd ich gleich mal probieren
taurus ist offline   Mit Zitat antworten
Alt 30.11.2008, 15:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Ist ja nicht erzeugt. Sondern ein Setting.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 30.11.2008, 15:51  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mhh. will leider trotzdem noch nicht.
die abfrage für dir,tech funktioniert. für die checkbox fo bringt er mir aber keine ergebnisse und auch keinen fehler :/ einfach eine leere tabelle

PHP-Code:
$lookup = array (
  
'Dir'   => '%Dir%' ,
  
'techn' => '%techn%' ,
    
'EDV' => '%EDV%',
  
'fo'    => array ('%rez%','%fo%') <-- daran liegt es ;-))
  );
$sql "select......
  where t_kunden.f_kdname like '" 
$sqlKunde "'              
             and t_kunden.f_telefon like '" 
$sqlPhone "' 
             and zz_kette.f_value like '" 
$sqlKette "'

                        
 and t_kdansparts.f_depart like '" 
implode ('" OR t_kdansparts.f_depart LIKE "' , (array) $lookup[$_POST['depart1']]) . "'
   order by $sqlSort "
;
?> 
haste ne idee woran das liegen könnte?

Geändert von taurus (30.11.2008 um 15:57 Uhr).
taurus ist offline   Mit Zitat antworten
Alt 30.11.2008, 16:34  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

mysql_error () und var_dump ($sql) mal eingebaut?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 30.11.2008, 16:54  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja is drin... fehler == 0;
bei anderen checkboxen stehen jede menge strings drin.. was macht vardump?
PHP-Code:
string(1423"select t_kunden.*, t_servicev.*, t_kdansp,....... 
taurus ist offline   Mit Zitat antworten
Alt 30.11.2008, 17:38  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Die Query ausgeben. Poste mal das Ergebnis hier.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 30.11.2008, 17:44  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich bezweifel das du da durchsteigst. geschweige den das du die zeit hast )
nochmal kurz: wähle ich "dir" gehts und ich bekomm das query auch ausgespuckt siehe unten.
weähle ich die checkbox "fo" gehts nicht. vardump spuckt mir hier rein gar nix aus

mal abgesehen davon dass ich es hinbekommen muss z.b. die checkbox dir und die tech auszwuählen und beides angezeigt zu bekommen *gg

PHP-Code:
string(1424"select t_kunden.*, t_servicev.*, t_kdansparts.*, zz_kette.f_value as f_hotelkette, zz_reseller.f_value as f_reseller, zz_inbetriebnahme.f_value as f_inbetriebnahme from t_kunden left outer join t_servicev on t_servicev.f_refkunde = t_kunden.f_idkunde left outer join t_kdansparts on t_kdansparts.f_refkunde = t_kunden.f_idkunde left outer join t_customer_datafields zz_kette on zz_kette.f_idkunde = t_kunden.f_idkunde and zz_kette.f_label = 'Hotelkette' left outer join t_customer_datafields zz_reseller on zz_reseller.f_idkunde = t_kunden.f_idkunde and zz_reseller.f_label = 'Verkäufer (Firma):' left outer join t_customer_datafields zz_inbetriebnahme on zz_inbetriebnahme.f_idkunde = t_kunden.f_idkunde and zz_inbetriebnahme.f_label = 'Datum Inbetriebnmahme:' where t_kunden.f_kdname like '%%' and t_kunden.f_telefon like '%%' and zz_kette.f_value like 'NH' and t_kdansparts.f_depart like '%Dir%' order by t_kunden.f_kdname ASC " string(1424"select t_kunden.*, t_servicev.*, t_kdansparts.*, zz_kette.f_value as f_hotelkette, zz_reseller.f_value as f_reseller, zz_inbetriebnahme.f_value as f_inbetriebnahme from t_kunden left outer join t_servicev on t_servicev.f_refkunde = t_kunden.f_idkunde left outer join t_kdansparts on t_kdansparts.f_refkunde = t_kunden.f_idkunde left outer join t_customer_datafields zz_kette on zz_kette.f_idkunde = t_kunden.f_idkunde and zz_kette.f_label = 'Hotelkette' left outer join t_customer_datafields zz_reseller on zz_reseller.f_idkunde = t_kunden.f_idkunde and zz_reseller.f_label = 'Verkäufer (Firma):' left outer join t_customer_datafields zz_inbetriebnahme on zz_inbetriebnahme.f_idkunde = t_kunden.f_idkunde and zz_inbetriebnahme.f_label = 'Datum Inbetriebnmahme:' where t_kunden.f_kdname like '%%' and t_kunden.f_telefon like '%%' and zz_kette.f_value like 'NH' and t_kdansparts.f_depart like '%Dir%' order by t_kunden.f_kdname ASC " string(1424"select t_kunden.*, t_servicev.*, t_kdansparts.*, zz_kette.f_value as f_hotelkette, zz_reseller.f_value as f_reseller, zz_inbetriebnahme.f_value as f_inbetriebnahme from t_kunden left outer join t_servicev on t_servicev.f_refkunde = t_kunden.f_idkunde left outer join t_kdansparts on t_kdansparts.f_refkunde = t_kunden.f_idkunde left outer join t_customer_datafields zz_kette on zz_kette.f_idkunde = t_kunden.f_idkunde and zz_kette.f_label = 'Hotelkette' left outer join t_customer_datafields zz_reseller on zz_reseller.f_idkunde = t_kunden.f_idkunde and zz_reseller.f_label = 'Verkäufer (Firma):' left outer join t_customer_datafields zz_inbetriebnahme on zz_inbetriebnahme.f_idkunde = t_kunden.f_idkunde and zz_inbetriebnahme.f_label = 'Datum Inbetriebnmahme:' where t_kunden.f_kdname like '%%' and t_kunden.f_telefon like '%%' and zz_kette.f_value like 'NH' and t_kdansparts.f_depart like '%Dir%' order by t_kunden.f_kdname ASC " string(1424"select t_kunden.*, t_servicev.*, t_kdansparts.*, zz_kette.f_value as f_hotelkette, zz_reseller.f_value as f_reseller, zz_inbetriebnahme.f_value as f_inbetriebnahme from t_kunden left outer join t_servicev on t_servicev.f_refkunde = t_kunden.f_idkunde left outer join t_kdansparts on t_kdansparts.f_refkunde = t_kunden.f_idkunde left outer join t_customer_datafields zz_kette on zz_kette.f_idkunde = t_kunden.f_idkunde and zz_kette.f_label = 'Hotelkette' left outer join t_customer_datafields zz_reseller on zz_reseller.f_idkunde = t_kunden.f_idkunde and zz_reseller.f_label = 'Verkäufer (Firma):' left outer join t_customer_datafields zz_inbetriebnahme on zz_inbetriebnahme.f_idkunde = t_kunden.f_idkunde and zz_inbetriebnahme.f_label = 'Datum Inbetriebnmahme:' where t_kunden.f_kdname like '%%' and t_kunden.f_telefon like '%%' and zz_kette.f_value like 'NH' and t_kdansparts.f_depart like '%Dir%' order by t_kunden.f_kdname ASC " 
taurus ist offline   Mit Zitat antworten
Alt 30.11.2008, 17:51  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
ich bezweifel das du da durchsteigst
Dann solltest Du Dir angewöhnen
- hier im Board ausreichende Infos zu posten (DB Dumps/Strukturen)
- Dein SQL zu formatieren
Zitat:
mal abgesehen davon dass ich es hinbekommen muss z.b. die checkbox dir und die tech auszwuählen und beides angezeigt zu bekommen
Die Logik mußt Du schon selbst umsetzen. Keine Ahnung, ob das jetzt AND oder OR verknüpft wird, ob die Bedingung ins ON oder ins WHERE kommt. Das weißt nur Du. Mein Codebeispiel war nur ein grundlegendes Prinzip.

Zitat:
weähle ich die checkbox "fo" gehts nicht.
Von fo und gez sehe ich leider im obigen Dump nix.
Zitat:
vardump spuckt mir hier rein gar nix aus
Wenn ein var_dump der Query nichts ausspuckt, dann hast Du einen Syntaxfehler. Und seis NULL, var_dump spuckt immer etwas aus. Korrekt bleiben.


[edit]
Ähm sorry, Du mußt die Formularfelder natürlich als Array abbilden, wenn sie einen gemeinsamen Namen haben. Warum sie das aber haben weiß auch nur Du.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Limit auf Ergebnissumme mehrerer Tabellen Frank Datenbanken 8 02.09.2008 11:33
<select> Feld aktiviert sich wenn checkbox aktiviert w HTML, Usability und Barrierefreiheit 1 28.01.2006 15:31
strng mit hilfe einer badwortlist nach wörtern durchsuchen PHP Tipps 2005-2 24 11.09.2005 22:39
string splitten und nach bestimmten wörtern durchsuchen PHP Tipps 2005-2 5 11.09.2005 13:05
Abfrage einer Tabelle mit mehreren wörtern Diego1978 PHP Tipps 2005-2 4 15.08.2005 14:58
Array nach Feld sortieren PHP Tipps 2005-2 2 07.08.2005 23:00
checkbox mit mehreren values? $$$ ThiKool $$$ PHP Tipps 2005 11 03.03.2005 08:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php radiobutton nach abfragen ausgewählt bleiben, php webseite nach worten durchsuchen, php string nach mehreren wörtern durchsuchen, checkbox edv, php checkbox feld in sql, edv checkbox, string nach mehreren wörtern durchsuchen, \nach wörtern durchsuchen\ php, formcheckbox feldfunktionen, sql nach mehreren wörtern durchsuchen, checkboxen durchsuchen, chckbox feld, seite nach mehreren wörtern durchsuchen, php string durchsuchen nach mehreren wörtern, arrays nach wörtern durchsuchen, webseite nach mehreren worten durchsuchen, sql nach zwei wörtern durchsuchen

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum