Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

MY SQL Tabellenverknüpfung zb per Joint

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
jaap
PostRank 4
PostRank 4
Beiträge: 122
Registriert: 14.03.2005, 22:03

Beitrag von jaap » 15.12.2005, 21:45

Hallo,

Der untere Code vergleicht Tage und Monat der jeweiligen anznummer mit den heutigen Tag und Monat stimmt Tag und Monat mit den heutigen Tag und Monat überein wird die jeweilige anznummer per echo ganz unten ausgegeben.

Problem ist aber das dann die jeweilige anznummer nur die id als Zahlen lierfert der Spitzname ist leider nicht in der Tabelle Geburtsdatum vorhanden sondern liegt in der Tabelle Userdaten.

Meine Frage ist jetzt wie codet man den unten folgenden Code so das die anzunummer dessen Bedingung zutrifft verkünpft wird wird mit der Tabelle Userdaten und dort dann den Spitznamen ausgeben kann? :-?

Wohl gemerkt in der Tabelle Userdaten sind die Spalten anznummer und Spitzname vorhanden...

Am besten kann man das mit einen Joint machen ich kriege es aber leider nicht hin :roll:

Code: Alles auswählen

<? 
   $query = "Select anznummer,tag,monat,jahr from Geburtsdatum where monat = MONTH&#40; NOW&#40;&#41; &#41; AND tag = DAYOFMONTH&#40; NOW&#40;&#41;&#41;"; 
   $result=mysql_db_query&#40;$dbname,$query,$conn&#41; or die &#40;mysql_error&#40;&#41;&#41;; 
   while&#40;$date=mysql_fetch_array&#40;$result&#41;&#41; 
    
        &#123; 
      $anznummer2=$date&#91;0&#93;; 
      $spitzname2=$date&#91;1&#93;; 
      echo '<option value="'.$anznummer2.'" style="background-color&#58;#F6FBFc; color&#58;#0420AE;">'.$spitzname2.'</option>'; 
   &#125; 
   mysql_free_result&#40;$result&#41;; 
   ?> 


Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Southmedia
PostRank 10
PostRank 10
Beiträge: 7322
Registriert: 20.07.2003, 19:56

Beitrag von Southmedia » 15.12.2005, 21:57

Code: Alles auswählen

SELECT Geburtsdatum.anznummer,Geburtsdatum.tag,Geburtsdatum.monat,Geburtsdatum.jahr, Userdaten.anznummer, Userdaten.Spitzname FROM Geburtsdatum, Userdaten WHERE Geburtsdatum.anznummer = Userdaten.anznummer AND Geburtsdatum.monat = MONTH&#40; NOW&#40;&#41; &#41; AND Geburtsdatum.tag = DAYOFMONTH&#40; NOW&#40;&#41;&#41;
Das sollte hinhaun. Ist ein EQUAL JOIN, zu jeder anznummer sollte ja nur ein Spitzname vorliegen, dann passt das.
Zuletzt geändert von Southmedia am 15.12.2005, 21:59, insgesamt 1-mal geändert.

HW
PostRank 8
PostRank 8
Beiträge: 761
Registriert: 04.04.2004, 08:00
Wohnort: Viersen

Beitrag von HW » 15.12.2005, 21:58

Hallo jaap,
die beiden Tabellen müssen ja ein gemeinsames Datenfeld haben, womit diese in Beziehung stehen. Diese kannst Du bei deiner Anfrage als Join ausbilden oder einfach als Where-Klausel anlegen.

Was ich nicht verstehe ist, wieso es für Geburtsdatum eine eigene Tabelle gibt.
Die Einzelnen Felder Tab Monat usw. lassen sich doch auch aus einem Datum extrahieren.

Im Web und auf de My-SQL Seite gibt es dazu genügend Beispiele.

Beispiel Select a.Spalte1 a.Spalte2 b.Spalte1 From tabelle1 as a, tabelle2 as b Where a.Beziehungsfeld = b.Beziehungspalte

Christophe
PostRank 5
PostRank 5
Beiträge: 246
Registriert: 13.12.2004, 13:07

Beitrag von Christophe » 15.12.2005, 22:00

Code: Alles auswählen

SELECT spitzname, ... FROM geburtsdatum AS g1 INNER JOIN userdaten AS u1 ON g1.id = u1.id WHERE ...

Southmedia
PostRank 10
PostRank 10
Beiträge: 7322
Registriert: 20.07.2003, 19:56

Beitrag von Southmedia » 15.12.2005, 22:00

Ich war schneller, wenn auch ohne die Aliase :)

jaap
PostRank 4
PostRank 4
Beiträge: 122
Registriert: 14.03.2005, 22:03

Beitrag von jaap » 15.12.2005, 22:43

Southmedia hat geschrieben:

Code: Alles auswählen

SELECT Geburtsdatum.anznummer,Geburtsdatum.tag,Geburtsdatum.monat,Geburtsdatum.jahr, Userdaten.anznummer, Userdaten.Spitzname FROM Geburtsdatum, Userdaten WHERE Geburtsdatum.anznummer = Userdaten.anznummer AND Geburtsdatum.monat = MONTH&#40; NOW&#40;&#41; &#41; AND Geburtsdatum.tag = DAYOFMONTH&#40; NOW&#40;&#41;&#41;
Das sollte hinhaun. Ist ein EQUAL JOIN, zu jeder anznummer sollte ja nur ein Spitzname vorliegen, dann passt das.
Danke für die schnellen Antworten habe gerade eingebaut leider kommt in der Ausgabe die zahl 15 jetzt vor statt der Spitzname ...

Nur nocheinmal zu Erinnerung der Spitzname liegt in der Tabelle Userdaten die Tabelle Userdaten verfügt natürlich ebenfalls wie die Tabelle Geburtsdatum über alle anznummer aller Mitglieder nur leider nicht eben die spalte Spitznamen.

Ich denke mal der Joint ist perfekt gecodet :wink: liegt es an der Echoausgabe oder und an der Date defination?

Also müssten hier die werte anders gesetzt werden? :-?

Code: Alles auswählen

$anznummer2=$date&#91;0&#93;; 
      $spitzname2=$date&#91;1&#93;; 
      echo '<option value="'.$anznummer2.'" style="background-color&#58;#F6FBFc;color&#58;#0420AE;">'.$spitzname2.'</option>'; 
Die Rechenaufgabe muss doch gelöst werden bei sovielen Profis hier in einen der besten Foren für Webmaster :D
Zuletzt geändert von jaap am 15.12.2005, 22:47, insgesamt 1-mal geändert.

Southmedia
PostRank 10
PostRank 10
Beiträge: 7322
Registriert: 20.07.2003, 19:56

Beitrag von Southmedia » 15.12.2005, 22:46

Ja, müssten sie.

Lass dir das Array $date ausgeben (print_r), dann kannst du ja nachschaun wo die gesuchten Daten drin sind. Generell solltest du es aber über $date['Userdaten.Spitzname'] bekommen...

jaap
PostRank 4
PostRank 4
Beiträge: 122
Registriert: 14.03.2005, 22:03

Beitrag von jaap » 15.12.2005, 23:03

ich erhalte jetzt folgende Fehlermeldung:

Parse error: parse error, unexpected '=' in

wenn ich diesen Code für die Ausgabe verwende:

$Geburtsdatum.anznummer2=$date[0];
$Userdaten.Spitzname2=$date[1];
echo '<option value="'.$Geburtsdatum.anznummer2.'" style="background-color:#F6FBFc; color:#0420AE;">'.$Userdaten.Spitzname2.'</option>';

hmm was könnte ich hier flasch gemacht haben? :-?

jaap
PostRank 4
PostRank 4
Beiträge: 122
Registriert: 14.03.2005, 22:03

Beitrag von jaap » 16.12.2005, 00:08

keine Chance habe alles probiert kann mir jemand eine Lösung anbieten wie der unten folgende Code aussehen muss? :-?

$Geburtsdatum.anznummer2=$date[0];
$Userdaten.Spitzname2=$date[1];
echo '<option value="'.$Geburtsdatum.anznummer2.'" style="background-color:#F6FBFc; color:#0420AE;">'.$Userdaten.Spitzname2.'</option>';

magadoo
PostRank 5
PostRank 5
Beiträge: 257
Registriert: 02.11.2004, 14:14

Beitrag von magadoo » 16.12.2005, 08:41

hmm was könnte ich hier flasch gemacht haben?
Ich glaube so geht das nicht:
Am besten kann man das mit einen Joint machen
:lol:

Nein, du solltest in deiner Variablendeklaration mal den Punkt weglassen.

tobsn
PostRank 7
PostRank 7
Beiträge: 495
Registriert: 26.10.2005, 02:10

Beitrag von tobsn » 16.12.2005, 08:53

das mit dem equal join hatte ich dir in deinem anderen posting schonmal erklärt.
lies halt dann was man dir schreibt.

ich find das gar nich witzig. :evil:
Unterhalte Dich mit anderen im SEO & ADSENSE IRC CHAT! :D
/server irc.german-elite.net -j #SEO
_________________
theonlybushilike.com!
_________________
"There are three kinds of lies: lies, damned lies, and statistics."
— Benjamin Disraeli (1804-1881), British politician

marc75
PostRank 9
PostRank 9
Beiträge: 1916
Registriert: 06.10.2004, 09:36

Beitrag von marc75 » 16.12.2005, 09:41

Code: Alles auswählen


$sql = mysql_query&#40;"SELECT
	t2.anznummer, 
	t2.spitzname 
FROM Geburtsdatum as t1
	INNER JOIN Userdaten  as t2
		ON t1.anznummer = t2.anznummer 
		AND t1.monat = MONTH&#40; NOW&#40;&#41; &#41; 
		AND t1.tag = DAYOFMONTH&#40; NOW&#40;&#41;&#41;"&#41; or die &#40;mysql_error&#40;&#41;&#41;; 
   while&#40;$row=mysql_fetch_assoc&#40;$sql&#41;&#41;&#123; 
      echo '<option value="'.$row&#91;'anznummer'&#93;.'" style="background-color&#58;#F6FBFc; color&#58;#0420AE;">'.$row&#91;'spitzname'&#93;.'</option>'; 
   &#125; 
   mysql_free_result&#40;$sql&#41;; 

macht 10 Euro in die Trinkgeldkasse

tobsn
PostRank 7
PostRank 7
Beiträge: 495
Registriert: 26.10.2005, 02:10

Beitrag von tobsn » 16.12.2005, 09:44

... *gähn*
Unterhalte Dich mit anderen im SEO & ADSENSE IRC CHAT! :D
/server irc.german-elite.net -j #SEO
_________________
theonlybushilike.com!
_________________
"There are three kinds of lies: lies, damned lies, and statistics."
— Benjamin Disraeli (1804-1881), British politician

Airport1
PostRank 10
PostRank 10
Beiträge: 4489
Registriert: 16.08.2004, 18:50
Wohnort: Backnang / bei Stuttgart

Beitrag von Airport1 » 16.12.2005, 10:15

> MY SQL Tabellenverknüpfung zb per Joint

LOL :) per Joint.. hoffentlich nicht gestreckt ;)
Linktauschanfragen zwecklos
https://www.bot-trap.de/ Spamschutz fuer Webmaster - zentrale Meldestelle fuer Web Spam
https://www.airport1.de/blog/ Lombagruschd Blog mid Gardadierle
https://www.ranking-hits.de/ Counter & PR Service

Nullpointer
PostRank 10
PostRank 10
Beiträge: 4790
Registriert: 22.04.2005, 19:14
Wohnort: West Berlin

Beitrag von Nullpointer » 16.12.2005, 15:25

@tobsn verzeih ihm, nach so vielen joints ist er total breit ;-)

Antworten