Haumis wbb hilfe 
Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite
Galerie Datenbank Zum Portal

Startseite| Das Board| wbb2| wbblite| Wo finde ich was| Veränderungen| Grafik-Bereich-WBB2| Boardspiele| Vorstellungen| Allgemeines| Trainingscenter|
Haumis wbb hilfe » ...:::Trainingscenter-wbb2:::... » mysql » 3 Tabellen durchsuchen mit 1 Suchbefehl » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen 3 Tabellen durchsuchen mit 1 Suchbefehl
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Hangasilly Hangasilly ist männlich

[meine Galerie]


Dabei seit: 29.06.2012
Beiträge: 173
Herkunft: NRW
Postid: 16912
3 Tabellen durchsuchen mit 1 Suchbefehl Beitrag Nr.: 1     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey, ich brauch nochmal hilfe, ich komm nich klar mit dem ganze join und union und union all und und und was google ausspuckt :-\

es geht drum, dass ich 3 Tabellen habt, aus den ich mit ner Scuhe was rausfiltern will.

Derzeit hab ichs so gelöst:
code:
1:
2:
3:
4:
$suchebezeich = $_POST[Suche];

$search = "SELECT * FROM (`bb1_bugtracker_open`,`bb1_bugtracker_closed`,`bb1_bugtracker_workon`) WHERE bb1_bugtracker_open.titel LIKE '"."%".$suchebezeich."%"."' OR `bb1_bugtracker_closed`.titel LIKE '"."%".$suchebezeich."%"."' OR `bb1_bugtracker_workon`.titel LIKE '"."%".$suchebezeich."%"."' "; 



aber da findet er nix...
ich will erstmal nur die Spalte 'titel' in allen Tabellen absuchen...

Jemand ne idee, wo mein Fehler ist? Mit UNION, UNION ALL oder JOIN - was google so sagt - weiß ich nicht wirklich, was es dann macht, daher will ichs ungerne auf 'blauen Dunst' benutzen...

__________________

22.06.2018 16:49 Hangasilly ist offline E-Mail an Hangasilly senden Homepage von Hangasilly Beiträge von Hangasilly suchenNehmen Sie Hangasilly in Ihre Freundesliste auf
haumi haumi ist männlich
Boardbetreiber

images/avatars/avatar-214.jpg
[meine Galerie]


Dabei seit: 06.06.2009
Beiträge: 3.289
Herkunft: NRW
Postid: 16914
RE: 3 Tabellen durchsuchen mit 1 Suchbefehl Beitrag Nr.: 2     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Versuche es mal damit

SELECT bb1_bugtracker_open.titel, bb1_bugtracker_close.titel, bb1_bugtracker_workon.titel
FROM ((bb1_bugtracker_open
INNER JOIN bugtracker_close ON bb1_bugtracker_open.titel = bb1_bugtracker_close.titel)
INNER JOIN bb1_bugtracker_workon ON bb1_bugtracker_close.titel = bb1_bugtracker_workon.titel);

Ist auf die Schnelle und es kann sein das deine Tabellenfelder etwas angepasst werden müssten.
Sollte es nicht richtig funktionieren dann hast du aber ein Gerüst zum aufbauen!

LG haumi

__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.

22.06.2018 21:01 haumi ist offline E-Mail an haumi senden Homepage von haumi Beiträge von haumi suchenNehmen Sie haumi in Ihre Freundesliste auf
Hangasilly Hangasilly ist männlich

[meine Galerie]


Dabei seit: 29.06.2012
Beiträge: 173
Herkunft: NRW
Postid: 16916
Themenstarter Thema begonnen von Hangasilly
RE: 3 Tabellen durchsuchen mit 1 Suchbefehl Beitrag Nr.: 3     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hmm klappt so auch nciht... die Suche greift drauf zu, wenn ich nur 1 Tabelle abfrage... sobald es mehr werden, ob mit JOIN oder ohne... findet er nixmehr...

__________________

22.06.2018 22:03 Hangasilly ist offline E-Mail an Hangasilly senden Homepage von Hangasilly Beiträge von Hangasilly suchenNehmen Sie Hangasilly in Ihre Freundesliste auf
haumi haumi ist männlich
Boardbetreiber

images/avatars/avatar-214.jpg
[meine Galerie]


Dabei seit: 06.06.2009
Beiträge: 3.289
Herkunft: NRW
Postid: 16917
Beitrag Nr.: 4     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Kann es sein das denn auch nichts mehr da ist zum finden?
Ich habe es mal mit drei anderen Tabellen, die in jedem wbb2 vorhanden sind probiert und da klappt es!

code:
1:
2:
3:
4:
SELECT bb1_users.username, bb1_user2groups.userid, bb1_userfields.field1
FROM ((bb1_users
INNER JOIN bb1_userfields ON bb1_users.userid = bb1_userfields.userid)
INNER JOIN bb1_user2groups ON bb1_users.userid = bb1_user2groups.userid)




Probiere es mal und wenn es auch bei dir klappt, dann musst du es nur an deine Tabellen anpassen!

LG
haumi

__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.

23.06.2018 06:51 haumi ist offline E-Mail an haumi senden Homepage von haumi Beiträge von haumi suchenNehmen Sie haumi in Ihre Freundesliste auf
Hangasilly Hangasilly ist männlich

[meine Galerie]


Dabei seit: 29.06.2012
Beiträge: 173
Herkunft: NRW
Postid: 16918
Themenstarter Thema begonnen von Hangasilly
Beitrag Nr.: 5     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von haumi
Kann es sein das denn auch nichts mehr da ist zum finden?
Ich habe es mal mit drei anderen Tabellen, die in jedem wbb2 vorhanden sind probiert und da klappt es!

code:
1:
2:
3:
4:
SELECT bb1_users.username, bb1_user2groups.userid, bb1_userfields.field1
FROM ((bb1_users
INNER JOIN bb1_userfields ON bb1_users.userid = bb1_userfields.userid)
INNER JOIN bb1_user2groups ON bb1_users.userid = bb1_user2groups.userid)





Also ich muss sagen, ich kann grad nich nachvollziehen, wie die Verbindung bei dir in dem Beispiel ist...
Du verknüpfst da aber auch unterschiedliche Spalten, wenn ich das richtig sehe, oder? - in meinem Tabellen heißt ja je Tabelle die spalte in der ich suchen will 'titel' ....
Vllt liegt das bei mir aber auch an der Suchvariablen?

Sieht jedenfalls nun so bei mir aus:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//Suchfunktion

if(isset($_POST['action']) == "search" && ($_POST['action']) != "neu" && ($_POST['action']) != "workon"){
$suchebezeich = $_POST[Suche];

$bugsearch = "SELECT bb1_bugtracker_open.titel, bb1_bugtracker_close.titel, bb1_bugtracker_workon.titel
FROM ((bb1_bugtracker_open
INNER JOIN bb1_bugtracker_closed ON bb1_bugtracker_open.titel = bb1_bugtracker_close.titel)
INNER JOIN bb1_bugtracker_workon ON bb1_bugtracker_closed.titel = bb1_bugtracker_workon.titel)
WHERE titel LIKE '"."%".$suchebezeich."%"."' "; 



Dei Sachen sind definitiv noch da, da ich die Tabelle '...open' nochmal für bestimmte User unter der Suche direkt anzeige - und da seh ich, dass zum Beispiel der Eintrag 'Test' unter titel existiert...

Such ich aber nach eben jenem 'Test', sagt er 0 Ergebnisse...

__________________

25.06.2018 16:41 Hangasilly ist offline E-Mail an Hangasilly senden Homepage von Hangasilly Beiträge von Hangasilly suchenNehmen Sie Hangasilly in Ihre Freundesliste auf
haumi haumi ist männlich
Boardbetreiber

images/avatars/avatar-214.jpg
[meine Galerie]


Dabei seit: 06.06.2009
Beiträge: 3.289
Herkunft: NRW
Postid: 16920
Beitrag Nr.: 6     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich probiere es auch mal mit den gleichen Feldern.
wird aber Mittwoch weil ich morgen nicht zu Hause bin!

Zitat:
Du verknüpfst da aber auch unterschiedliche Spalten, wenn ich das richtig sehe, oder?


Hast du schon mal versucht statt WHERE titel LIKE '"."%".$suchebezeich."%"."' ";

WHERE bb1_bugtracker_open.titel LIKE '"."%".$suchebezeich."%"."' ";

zu nehmen?

Nee ich verknüpfe die userid von allen drei Tabellen.
Trotzdem schau ich mal nach!

LG
haumi

__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.

25.06.2018 18:25 haumi ist offline E-Mail an haumi senden Homepage von haumi Beiträge von haumi suchenNehmen Sie haumi in Ihre Freundesliste auf
haumi haumi ist männlich
Boardbetreiber

images/avatars/avatar-214.jpg
[meine Galerie]


Dabei seit: 06.06.2009
Beiträge: 3.289
Herkunft: NRW
Postid: 16921
Beitrag Nr.: 7     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi Hangasilly,
mir ist noch etwas aufgefallen:

SELECT bb1_bugtracker_open.titel, bb1_bugtracker_close.titel, bb1_bugtracker_workon.titel
FROM

Warum willst du den titel aus drei Tabellen anzeigen, da diese doch ohnehin identisch sein sollen?

__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.

27.06.2018 13:51 haumi ist offline E-Mail an haumi senden Homepage von haumi Beiträge von haumi suchenNehmen Sie haumi in Ihre Freundesliste auf
Hangasilly Hangasilly ist männlich

[meine Galerie]


Dabei seit: 29.06.2012
Beiträge: 173
Herkunft: NRW
Postid: 16922
Themenstarter Thema begonnen von Hangasilly
Beitrag Nr.: 8     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey Haumi...

Also 'Jein' *gg...

erstmal zum Post voher:
Mache ich das so:
code:
1:
2:
... WHERE bb1_bugtracker_open.titel LIKE '"."%".$suchebezeich."%"."' OR bb1_bugtracker_closed.titel LIKE '"."%".$suchebezeich."%"."' OR bb1_bugtracker_workon.titel LIKE '"."%".$suchebezeich."%"."' ";  





zeigt er mir beim Suche anklicken dann die Meldung

>> Column 'titel' in where clause is ambiguous <<

Das geht also irgendwie dann nicht, KP warum.... heißt wohl 'Spalte Titel ist mehrfahc definiert' oder so...

Was die Ausgabe angeht verhält es sich wie folgt:
die "open" ist für Einträge, die offen sind (also noch bearbeitet werden müssen), werden sie auf In Bearbeitung gesetzt, verschiebe ich sie in die Tabelle "workon". Sind die EInträge abgearbeitet wandern sie von "workon" nach "closed" .... mit der Suche möchte ich alle Tabellen abfragen, da ich wissen will, ob ein Eintrag, welcher gesucht wird, schon eingetragen wurde... da ich die Einträge durch die Tabellen 'schiebe' verschwinden sie ja aus der ersten, wenn sie in die nächste kommen...

Wobei mir grad beim erklähren nun ein ganz anderer Weg einfällt:

Wenn ich eine Tabelle mit 2 Spalten mehr mache, in der ich nur makiere, ob die einträge bearbeitet bzw abgarbeitet sind, hat sich die 'mehrer-Tabellen-Geschichte' eigendlich erledigt... dann muss ich die Tabellen nur dementsprechend anders auslesen, aber das geht ja mit sowas wie:
code:
1:
WHERE workon != ""




Hier trag ich den Bearbeiter ein mit userid und naja mit abgearbeitet dann genauso...
Ja das is machbar denk ich... ncihtsdesto trotz wüsste ich gerne, wie das mit den mehrfachtabellen klappt, bzw wo mein Fehler is halt^^....

Übrigens das mit dem Bearbeiter eintragen:
In der Tabelle für 'offen' hab ich am ende der Anzege ne Spalte mit einem Button 'Bearbeiten' JE ZEILE.
Wenn nun wer den Button anklickt, wie krieg ich raus, in welcher Zeile dieser Button angeklickt wurde, damit ich die Zeile dan 'in Bearbeitung ' setzen kann und die ID desjenigen, der den Button angeklickt hat, in eben JENE ZEILE eintrage?!?


edit://
So die suche hab ich nun wie oben beschrieben umgescriptet - funzt nu auch... alerdings hab ich jetzt ein neues Problem... und zwar das mit dem Button...
ICh lese also meine Tabelle nun auch und sage, wenn was is der Spalte 'work_on' steht, übernimm das... macht er auch... nur will ich, wenn nichts darin steht, dass er mir einen Button 'Bearbeiten' in der Tabelle anzeigt, das geht allerdings nicht...

Tabelle im TPL hat diese Zelle:
code:
1:
 <td width="17%" align="center">$in_work</td>




Im Script versuch ichs so zu machen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
$auszg = "SELECT * FROM `bb1_bugtracker` ORDER BY time DESC";
	$ausz = mysql_query($auszg);
	while ($ds = mysql_fetch_object($ausz)) {
		$id = $ds->id;
		$user = $ds->melder;
		$titel = $ds->titel;
		$text = $ds->bugtext;
		$zeit = $ds->time;
		$timestamp = date("H:i:s - d.m.Y",$zeit);
		$work = $ds->in_work;
		If($work != ""){
			$in_work = $work;			
		}else{
			$in_work = "button" ;
		} 
		eval ("\$bugtrackeropen .= "".$tpl->get("bugtracker_open")."";"); 
	}




das amcht er mir auch so wie ers soll, allerdings krieg ich mit echo da leider den Button nicht rein, wenn ich bei "else"
code:
1:
$in_work = echo "<input type="bugtracker.php" name="hidden" value="workon"><input type="hidden" name="Bearbeiten" value="workon">";



schreibe...

Und dann is noch die Sache mit was passiert, wenn der BUtton angeklickt wird.. aber dazu später vllt noch

__________________

27.06.2018 15:30 Hangasilly ist offline E-Mail an Hangasilly senden Homepage von Hangasilly Beiträge von Hangasilly suchenNehmen Sie Hangasilly in Ihre Freundesliste auf
haumi haumi ist männlich
Boardbetreiber

images/avatars/avatar-214.jpg
[meine Galerie]


Dabei seit: 06.06.2009
Beiträge: 3.289
Herkunft: NRW
Postid: 16923
Beitrag Nr.: 9     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn ich das richtig verstehe, ist das Feld Titel immer nur in einer Tabelle beschrieben.
So kann es doch keine Fundstelle geben, wenn ich den Eintrag in zwei Tabellen verknüpfe.
Hier ist es wirklich sinnvoll die Tabellen zu einer bb1_bugtracker zusammenzufassen und ein Feld "status" hinzuzufügen.
Hier wird denn je nach Status ein o, ein w oder ein c rein geschrieben.

Dann wird das input-Element in Formularen benutzt.
Schau dir das hier mal an.

LG
haumi

__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.

28.06.2018 13:46 haumi ist offline E-Mail an haumi senden Homepage von haumi Beiträge von haumi suchenNehmen Sie haumi in Ihre Freundesliste auf
Hangasilly Hangasilly ist männlich

[meine Galerie]


Dabei seit: 29.06.2012
Beiträge: 173
Herkunft: NRW
Postid: 16924
Themenstarter Thema begonnen von Hangasilly
Beitrag Nr.: 10     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja, nein... Eintragen is klar... Das läuft auch soweit...

Ich hab nun die Tabelle mit der Spalte 'Bearbeitung' ...

Hier soll nun entweder ein Button rein, der mit 'Bearbeiten' beschriftet ist (sofern das Feld in der DB leer ist).
Nun hab ich mehrere Zeilen in der Tabelle, wo in jeder Zeile ein anderes Problem steht.

Wenn nun ein Modetator daher kommt und eines der Probleme bearbeiten will, soll er den betreffenden Button in der Betreffenden Zeile anklicken können, und durch diesen Klick schreibt sich sein $wbbuser [nickname] in die DB...
Beim reload der Seite wird nun in der betreffenden Zeile halt nichtmehr der Button "Bearbeiten" angezeigt, sondern der Name...
(Das Namen aus der DB auslesen klappt auch, habe halt mal testweise von Hand jemand reingeschrieben... Nur der Button will nicht da rein...)
Die Unterscheidung (s.o.) funzt auch, er schreibt mir im Moment halt entwedet den Namen aus der DB, oder halt das Wort "button" anstatt eines echten Buttons in meine Ausgabetabelle....


Ganz genial wäre dazu beim Anklicken des Buttons noch ne 'make new thred' funktion, die mir dann ein Threat von dem User, mit Titel aus der Tabelle bucktracker und auch Text aus der Tabelle erstellt... Und das natürlich in einem vorgegebenen Forum halt...

***********************************

Was die Suchgeschichte angeht, die Spalte Titel wäre ggf in allen Tabellen beschrieben gewesen... Jenachdem, welchen Status der Bug gehabt hätte, da ich ja von mehreren Zeilen (viele Unterschiedliche Bugs) ausgehen kann... Aber das hat sich ja erledigt durch die Umstruckturierung auf nur 1 Tabelle... (Soll hier nurnoch mal zur Erläuterung erwähnt sein ;) )

__________________

29.06.2018 01:05 Hangasilly ist offline E-Mail an Hangasilly senden Homepage von Hangasilly Beiträge von Hangasilly suchenNehmen Sie Hangasilly in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Haumis wbb hilfe » ...:::Trainingscenter-wbb2:::... » mysql » 3 Tabellen durchsuchen mit 1 Suchbefehl

Views heute: 1.989 | Views gestern: 16.238 | Views gesamt: 35.238.521
Powered by Burning Board 2.3.6 © 2001-2004 WoltLab GmbH
Am Netz seit dem 3.6.2009 - Powered by © haumis-Team
Style & Buttons © by FriendsbistroTeam
Boardregeln Impressum & Haftungsauschluss Datenschutzerklärung