Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 03.01.2006, 13:49   #1
TP-Junior
 
Registriert seit: Nov 2004
AMIPEON macht alles soweit korrekt
Question

MySQL und PHP - Datensatzgruppe suche in ganzer Tabelle


Bin am verzweifeln...!!!
Habe eine Datenbank erstellt und in DW eine Suchseite, eine Ergebnisseite und eine Detailseite erstellt. Funzt alles prima (bin stolz auf mich; erstes Projekt...)

Doch nun zu meinem Problem. In der Suchseite habe ich ein Textfeld, wo der Besucher nach Inhalten der DB suchen kann. Möchte nun in der Ergebnisseite definieren, dass die ganze Tabelle durchsucht wird. Leider seit Stunden ohne Erfolg! Wenn ich unter Datensatzgruppe den Filter auf die Suche auf ein bestimmtes Feld beschränke, funktioniert alles. Sobald ich aber in die Ansicht Erweitert ... wechsle und versuche, zusätzliche Felder zu integrieren, geht gar nichts mehr. Kann mir jemand sagen, wie genau ich vorgehen muss BITTE!

Jetzt siehts wie folgt aus:

SELECT Firmenname, PLZ, Adresse, Ort, Telefon
FROM mitglieder
WHERE Firmenname LIKE '%colname%'
ORDER BY Firmenname ASC

Variable
Name colname
Standardwert 1
Laufzeitwerk $_GET['Firmenname']

Habe in der Funktion WHERE schon alles mögliche versucht, nix geht (darum habe ich jetzt mal den Standard für Suche im Feld Firmenname stehen lassen

Möchte zusätzlich zum Feld Firmenname auch das Feld Ort sowie Adresse durchsuchen oder eben gleich die ganze Tabelle!

Bin für jede Hilfe dankbar, sonst verzweifle ich noch!!
DANKE im Voraus
AMIPEON ist offline   Mit Zitat antworten


Alt 03.01.2006, 14:22   #2
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
Ähm ... woran scheitert es denn? Was waren deine ersten Versuche? Oder kennst du die entsprechenden MySQL Kommandos nicht?

SELECT Firmenname, PLZ, Adresse, Ort, Telefon
FROM mitglieder
WHERE Firmenname LIKE '%colname%'
OR feldsowieso LIKE '%das%'
OR feldblabla LIKE '%jenes%'
ORDER BY Firmenname ASC

Du kannst OR, AND und alle anderen Operatoren nutzen.
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten
Alt 03.01.2006, 14:46   #3
TP-Junior
 
Registriert seit: Nov 2004
AMIPEON macht alles soweit korrekt
Vielen Dank Boris für Deine Antwort, bin am Testen und Testen und Testen...
und siehe da

Jawohl, ich habs!!!!


Ist es auch korrekt? Habs wie folgt gelöst:

SELECT Firmenname, PLZ, Adresse, Ort, Telefon
FROM mitglieder
WHERE Firmenname LIKE '%colname%' OR mitglieder.Adresse LIKE '%colname%' OR mitglieder.Ort LIKE '%colname%'
ORDER BY mitglieder.Firmenname

Variable
Name colname
Standartwert 1
Laufzeitwert $_GET['colname']


Wie könnte ich allerdings die ganze Tabelle durchsuchen anstelle der
einzelnen Spalten?

Noch ne Frage; wenn jetzt kein Suchbegriff eingegeben wird, wird die ganze DB ausgegeben. Wie kann ich steuern, dass dies verhindert wird?

Danke
AMIPEON ist offline   Mit Zitat antworten
Alt 03.01.2006, 15:48   #4
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Code:
If (trim($_GET['colname'])=='') echo "Eingabe erforderlich";
else
{
  //suche
  ...
}
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 03.01.2006, 15:49   #5
TP-Junior
 
Registriert seit: Nov 2004
AMIPEON macht alles soweit korrekt
Oje, ich musste leider feststellen, dass meine Variante nicht korrekt funzt...

Wenn ich im Suchfeld zwei Begriffe eingebe (aus zwei verschiedenen Spalten) werden keine Datensätze gefunden??? Woran liegt das?

Hoffe, ihr könnt mir helfen - bin ratlos...!
Vielen Dank für eure Unterstützung.
AMIPEON ist offline   Mit Zitat antworten
Alt 03.01.2006, 18:16   #6
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Du musst die einzelnen Suchbegriffe anhand des Leerzeichens trennen und Deine Abfrage dann so gestalten:
WHERE Firmenname LIKE '%begriff1%' OR Firmenname LIKE '%Begriff2%OR Adresse LIKE '%begriff1%' OR Adresse LIKE '%Begriff2%' OR ..
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 04.01.2006, 12:16   #7
TP-Junior
 
Registriert seit: Nov 2004
AMIPEON macht alles soweit korrekt
Hallo DSB

Vielen Dank für Deine Antwort. Ich hab versucht, die Einstellungen gemäss Deiner Angabe anzupassen. Doch leider klappts nicht. Im Gegenteil, wenn ich das so einstelle, geht auch die Suche mit einem Begriff nicht mehr???

Kannst Du mir sagen, woran das liegt? Wie muss ich die Variablen dazu anpassen? Vielen Dank für Deine erneute Hilfe! Aller Anfang ist schwer...

Gruss und DANKE.
AMIPEON ist offline   Mit Zitat antworten
Alt 04.01.2006, 14:55   #8
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Da meine Glaskugel gerade zur Reparatur ist, kann ich ohne Deinen Code überhaupt nichts dazu sagen.
Deine Frage ist wie: mein Auto fährt nicht! Warum?

Du musst uns schon zeigen wie Du den Query generierst.
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank

Geändert von DSB (04.01.2006 um 14:58 Uhr).
DSB ist offline   Mit Zitat antworten
Alt 04.01.2006, 18:44   #9
TP-Junior
 
Registriert seit: Nov 2004
AMIPEON macht alles soweit korrekt
Hallo DSB

Entschuldige bitte. Hab vieles versucht, nichts funzt...
Letzte Variante ist wie folgt:

SELECT Firmenname, PLZ, Adresse, Ort, Telefon
FROM mitglieder
WHERE Firmenname LIKE '%colname1%' OR Firmenname LIKE '%colname2%' OR Adresse LIKE '%colname2%' OR Adresse LIKE '%colname2%' OR Ort LIKE '%colname1%' OR Ort LIKE '%colname2%'
ORDER BY mitglieder.Firmenname

Variable
Name colname1
Wert 1
$_GET['colname']

Name colname2
Wert 1
$_GET['colname']


Sorry, meine Fähigkeiten sind einfach noch sehr beschränkt. Kämpfe mich durch google, Foren usw....

Danke für Deine erneute Hilfe.

Gruss
AMIPEON ist offline   Mit Zitat antworten
Alt 04.01.2006, 22:46   #10
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Ich kann so keinen Fehler in Deinem Query entdecken - der sollte so klappen.

Lass ihn Dir mal nach dem Zusammenstellen auf dem Bildschirm ausgeben. Vielleicht bringt das ja Aufschluss.

Hast Du das Absenden des Querys auch mit ... or die(mysql_error()); versehen, so dass eventuelle Fehler des MySQL-Servers ausgegeben werden?
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 05.01.2006, 01:34   #11
321
TP-Specialist
 
Benutzerbild von 321
 
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
321 hilft, wo's geht321 hilft, wo's geht321 hilft, wo's geht
Heisst eines der Mitglieder colname? ... LIKE '%colname%'

Ich meine, da müsste deine Suchvariable rein, %$...%
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]


use my HTML-Tester

Motto'06: Mut zur deutschen Sprache!
321 ist offline   Mit Zitat antworten
Alt 05.01.2006, 07:45   #12
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
lol - das habe ich glatt überlesen.
Natürlich, das ist der Fehler.

*zustimm*
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 05.01.2006, 16:21   #13
TP-Junior
 
Registriert seit: Nov 2004
AMIPEON macht alles soweit korrekt
Vielen Dank für eure Hilfe. Doch es scheint mir, als wäre ich zu doof, um das hinzukriegen...

Irgendwie seh ich jetzt dann bald mal den Wald nicht mehr vor lauter Bäumen! Kannst Du mir sagen bitte, welche Suchvariable ich jeweils eingeben muss???

"Suchvariable rein, %$...%"

Entschuldigt, ich hab wirklich die unterschiedlichsten Varianten versucht, werde noch ganz konfus dabei... snif snif! Irgendwie raff ich jetzt gar nichts mehr...

Kopf in den Sand steckend... :-(((((
AMIPEON ist offline   Mit Zitat antworten
Alt 05.01.2006, 16:30   #14
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Was nicht stimmt, und da wird der Hase begraben sein, ist die Abfrage dieser beiden Werte, denn oben steht $_GET['colname']

also
PHP-Code:
if(isset($_GET['colname1'])) {
   
$colname1=get_magic_quotes_gpc() ? $_GET['colname1'] : addslashes($_GET['colname1']);
} else 
$colname1="-----";
if(isset(
$_GET['colname2'])) {
   
$colname2=get_magic_quotes_gpc() ? $_GET['colname2'] : addslashes($_GET['colname2']);
} else 
$colname2="-----"
und die SQL muss mit den Variablen gefüllt werden
PHP-Code:
$sql="SELECT Firmenname, PLZ, Adresse, Ort, Telefon
FROM mitglieder
WHERE Firmenname LIKE '%$colname1%' OR Firmenname LIKE '%$colname2%' OR Adresse LIKE '%$colname2%' OR Adresse LIKE '%$colname2%' OR Ort LIKE '%$colname1%' OR Ort LIKE '%$colname2%'
ORDER BY mitglieder.Firmenname
"

__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 05.01.2006, 19:47   #15
TP-Supporter
 
Registriert seit: Apr 2001
Judi macht alles soweit korrekt
Zitat:
Zitat von 321
Heisst eines der Mitglieder colname? ... LIKE '%colname%'

Ich meine, da müsste deine Suchvariable rein, %$...%
Huhu

wer sich noch nie eine Application im DW generiert hat, kann es auch nicht wissen.

Das ist im Dreamweaver kein Fehler.
Das Statement wird in einer Art Assistenten geschrieben. Das $-Zeichen wird im Gesamtscripting auch richtig generiert. Im Assistenten darf es nicht davor stehen. Ist blöd und eigentlich nicht korrekt und irritiert viele, zumindst wenn man die Zusammenhänge (Dreamweaver und Codegenerierung) nicht weiss.

Man kann keine 2 Suchbegriffe in ein Formularfeld einfügen und eine Suchabfrage im DW generieren lassen. Da kommt kein Begriff. Entweder 2 Felder und 2 Variablen oder handcoden (Wert des Textfeldes aufsplitten und das Statement daraus aufbauen).
__________________
Liebe Grüße, die Judi!

Geändert von Judi (05.01.2006 um 19:50 Uhr).
Judi ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
MySQL und PHP - Datensatzgruppe suche in ganzer Tabelle MySQL und PHP - Datensatzgruppe suche in ganzer Tabelle
« Formulareingaben vor SPAM/Hackern schützen | Pdf-Formulare betanken, nur wie? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:34 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54</