SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.01.2008, 18:29:25
jirweb jirweb ist offline
Anfänger
 
Registriert seit: Jan 2008
Beiträge: 5
Eine Tabelle mit Inhalten aus drei anderen Tabellen füllen

Hallo @ all,

ich beschäftige mich erst seit kurzem mit MySQL und bin an einem Punkt wo ich nicht weiter komme. Vielleicht hat hier jemand eine Idee die mir auf die Sprünge hilft.

Ich habe auf einer HP eine User-Registrierung, diese speichert alle relevanten Daten in zwei Tabellen users und profile_values. Diese beiden Tabellen sind über die Tabelle profile mit einander verknüpft.

Nun möchte ich die werte aus users und profile_values in eine übersichtlichere Tabelle "userlist" bringen. Das Problem ist das die Tabelle profile_values nur aus drei Spalten besteht uid, fid und value. In der Spalte value stehen alle wichtigen Werte die über fid und uid verknüpft sind.

Um die Daten in die Tabelle userlist zu schreiben habe ich REPLACE gewählt z.B.:

PHP-Code:
mysql_query("REPLACE INTO userlist (uid, name, mail, Anrede) SELECT a.uid, a.name, a.mail, b.value FROM users as a JOIN profile_values as b where a.uid=b.uid and b.fid=4;" ,$db); 
Bis dahin klappt alles wunderbar. Doch möchte ich jetzt einen zweiten Wert aus der Tabelle profile_values auslesen habe ich entweder keine Ergebnisse mehr oder die Ergebnisse werden falsch abgelegt.

Hat jemand einen Tip für mich wie ich die anderen Werte aus der Tabelle profile_values Abfragen und Einbinden kann?

Vielen Dank im Voraus
jirweb

Geändert von jirweb (23.01.2008 um 02:19:45 Uhr) Grund: Übersichtlichkeit
Mit Zitat antworten
  #2  
Alt 21.01.2008, 23:47:44
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Eine Tabelle mit Inhalten aus drei anderen Tabellen füllen

Ganz checke ich das nicht....

Was heißt denn zweiter Wert aus profile_values? Zweite Spalte oder 2. Zeile???

Die Bedingung b.fid=4 scheint wohl festzulegen, dass nur bestimmte (oder nur eine Zeile) ausgelesen werden.
Mit Zitat antworten
  #3  
Alt 22.01.2008, 02:36:05
jirweb jirweb ist offline
Anfänger
 
Registriert seit: Jan 2008
Beiträge: 5
AW: Eine Tabelle mit Inhalten aus drei anderen Tabellen füllen

Es ist etwas schwer für mich zu erklären...
Ich versuche mal die DB_Struktur näher zu erklären.
Es gibt drei Tabellen in dehnen werden die User-Daten gespeichert.

1. die Tabelle users in der gibt es die Spalten uid, name und mail.
2. die Tabelle profile_fields in der werden alle Formularfelder (Eingabeformular user-Registrierung) mit einer ID versehen die fid.
3. die Tabelle profile_values in der es wieder nur drei Spalten gibt uid, fid und value

In den Tabellen users und profile_values werden alle Daten der user gespeichert. Wobei die Abfrage der Tabelle users ja noch einfach ist.
Nun stehen aber alle relevanten Daten in der Tabelle profile_values und werden über die fid und die uid zugeordnet.

Will ich z.B. die Anrede eines Users abrufen muss ich die fid kennen. In meinem Beispiel oben ist dies fid4.

Nun will ich aber in meiner neuen Tabelle nicht nur alle werte aus der Tabelle users sondern auch noch ein paar mehr werte aus der Tabelle profile_values z.b. fid4 , fid5 usw. und nicht nur einen wie es mir bis her möglich war.

Ich habe mir schon ganze Nächte damit um die Ohren geschlagen und komme einfach nicht weiter.

Ich habe schon überlegt ob ich es mit temporären Tabellen schaffen könnte, leider weis ich auch da noch nicht wie das geht.

Vielen Dank für das Interesse an meinem Problem.
jirweb
Mit Zitat antworten
  #4  
Alt 22.01.2008, 23:53:00
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Eine Tabelle mit Inhalten aus drei anderen Tabellen füllen

Immer noch unklar. Zeig mal den Code, der nicht klappt, und beschreibe, was eigentlich rauskommen müsste.

P.S. Benutze bitte die PHP-Tags des Forums für den Code.
Mit Zitat antworten
  #5  
Alt 23.01.2008, 02:18:03
jirweb jirweb ist offline
Anfänger
 
Registriert seit: Jan 2008
Beiträge: 5
AW: Eine Tabelle mit Inhalten aus drei anderen Tabellen füllen

Ich habe eine neue Tabelle erstellt, die die wichtigsten Daten der Nutzer zusammenfasst.
1. uid
2. name
3. mail

4. Anrede
5. Vorname
6. Nachname
7. Strasse Nr.
6. Postleitzahl
7. Ort
8. Telefon
usw.

Die ersten drei sind kein Problem die stehen einzeln in der Tabelle users. Alle Inhalte die danach kommen stehen in der Tabelle profile_values in der Spalte value und sind über die ID's uid und fid verknüpft.

Nun habe ich mir folgenden Code ausgedacht:

PHP-Code:
mysql_query("REPLACE INTO userlist (uid, name, mail, Anrede) SELECT a.uid, a.name, a.mail, b.value FROM users as a JOIN profile_values as b where a.uid=b.uid and b.fid=4;" ,$db); 
So bekomme ich den Wert aus der Tabelle profile_values der der fid4 entspricht und die ersten drei Werte aus der Tabelle users.
Und ab da habe ich dann ein Problem ich komme einfach nicht an die anderen Daten in der Spalte value um sie an der richtigen Stelle in die neue Tabelle zu übernehmen.

Verlängere ich den Code z.B. um eine Vergleichsklausel wie and oder or kommt nur noch Müll in der neuen Tabelle an. Was ja auch verständlich ist. Schreibe ich aber in das Skript eine weitere Abfrage z.B.
PHP-Code:
mysql_query("REPLACE INTO userlist (Vorname) SELECT value FROM profile_values  where users.uid=profile_values.uid and profile_values.fid=5;" ,$db); 
Kommen in der neuen Tabelle zwar die Werte an aber nicht in den selben Zeilen sondern genau um die Anzahl der user versetzt.

Ich habe bestimmt nur irgend einen dummen Anfängerfehler in meiner Denkweise.

Danke im Voraus
jirweb
Mit Zitat antworten
  #6  
Alt 23.01.2008, 23:52:46
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Eine Tabelle mit Inhalten aus drei anderen Tabellen füllen

Wenn du die neue Abfrage dranhängst, wird natürlich bei INTO eine neue Zeile geschrieben...
Mit Zitat antworten
  #7  
Alt 24.01.2008, 12:22:59
jirweb jirweb ist offline
Anfänger
 
Registriert seit: Jan 2008
Beiträge: 5
AW: Eine Tabelle mit Inhalten aus drei anderen Tabellen füllen

Zitat:
Wenn du die neue Abfrage dranhängst, wird natürlich bei INTO eine neue Zeile geschrieben...
Ja das habe ich bemerkt.

Ich habe überlegt das Problem mit Temporären-Tabellen zu lösen.
Ist das Sinnvoll?

Ich muss mich dazu erst schlau machen, wie das eigentlich funktioniert.
Mit Zitat antworten
  #8  
Alt 27.01.2008, 18:07:03
jirweb jirweb ist offline
Anfänger
 
Registriert seit: Jan 2008
Beiträge: 5
AW: Eine Tabelle mit Inhalten aus drei anderen Tabellen füllen

Hallo @ all,

ich habe das Problem jetzt mit Hilfe Temporärer-Tabellen gelöst.

Vielen Dank für eure Zeit.

Grüße
jirweb
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabelle dynamisch mit Bildern füllen + URL Der_Martin PHP Grundlagen 1 13.02.2007 22:17:22
DB-Abfrage mit 2 Tabellen + zus. Tabelle euromark MySQLi/PDO/(MySQL) 0 30.12.2006 00:48:39
Eine Vorlage mit verschiedenen Inhalten füllen Agentmulder79 PHP Grundlagen 2 10.02.2006 00:29:02
Abfrage von gleichen Inhalten aus versch. Tabellen Esnabur MySQLi/PDO/(MySQL) 7 25.01.2006 17:14:54
Tabelle aus drei anderen Tabellen erstellen? Knuffl MySQLi/PDO/(MySQL) 4 18.03.2005 11:17:45


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:39:50 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt