brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 22-10-2010, 16:22
DonnyDarko
 Registrierter Benutzer
Links : Onlinestatus : DonnyDarko ist offline
Registriert seit: Sep 2010
Beiträge: 8
DonnyDarko befindet sich auf einem aufstrebenden Ast
Angry Left Join - Array liefet andere Werte als in phpmyadmin

Hallo liebe com,

ich steh seit gestern vor dem Join Thema,
habe eine admin_log Tabelle und eine member Tabelle

in der adminl_log speichere ich folgendes ab:

| al_date | al_ip | al_member_id | al_admin_id | al_action |al_block_reason|

Meine Abfrage
PHP-Code:
select AL.*, M.m_usernameM.m_lastnameM.m_surnameA.m_usernameA.m_surnameA.m_lastname from `admin_log` as AL 
    left join 
`members` as M on (M.id AL.al_member_id
    
left join `members` as A on (A.id AL.al_admin_id
array wirft mir das aus....

[0] => Array
(
[al_date] => 1287592347
[al_ip] => 86.32.*.*
[al_member_id] => 2
[al_admin_id] => 1
[al_action] => User gesperrt
[al_block_reason] => 0
[al_func] => 1
[m_username] => username
[m_lastname] => Nachname
[m_surname] => Vorname
)
so wie kann ich es anstellen das mir das array beide namen ausgibt also das von dem User (al_member_id) und von den ausführenden Admin (al_admin_id)... im PHP Admin gibt er mir beide Namen zurück nur in PHP nicht -.-

wo liegt den mein gedanken fehler oder wie kann ich es anstellen das er mir beide namen auswirft und wie spreche ich die dann an?.

Kann mir bitte irgendwer das Brett vor meinen Kopf wegmachen??^^
Mit Zitat antworten
  #2 (permalink)  
Alt 22-10-2010, 16:52
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Führe die vermissten Spalten mal explizit im SELECT-Teil auf.

Wieso präfixt du alle Spalten in einer Tabelle mit a_ bzw. m_? Das bringt doch nichts, macht nur die SQL-Queries schwer lesbar und führt zu häßlichen Arraykeys. Und wieso brichst du diese Konvention bei den id-Spalten?

Warum joinst du die Member-Tabelle zweimal dazu? Was genau willst du mit dieser Query erhalten?
Mit Zitat antworten
  #3 (permalink)  
Alt 22-10-2010, 17:01
DonnyDarko
 Registrierter Benutzer
Links : Onlinestatus : DonnyDarko ist offline
Registriert seit: Sep 2010
Beiträge: 8
DonnyDarko befindet sich auf einem aufstrebenden Ast
Standard

ich habe im Log ja nur die IDs (al_member_id | al_admin_id) stehen und wollte damit die dazugehörigen namen mir holen und dachte das ich das so trennen muss -.-
Mit Zitat antworten
  #4 (permalink)  
Alt 22-10-2010, 17:05
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Das hilft mir nicht weiter. Ich weiß nicht was du für ein Log meinst. Ist aber auch egal. Irgendwoher hast du IDs von Benutzern und Admins. Zu diesen IDs möchtest du die Namen aus der Datenbank holen. Soweit hab ich es begriffen.
Aber warum brauchst du dafür JOIN?

Bitte beschreibe dein Vorhaben mal verständlich, damit das große Fragezeichen aus meinen Kopf verschwindet.
Mit Zitat antworten
  #5 (permalink)  
Alt 22-10-2010, 17:05
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

du musst diese Spaltenreferenzen aliasen, denn wenn du es mit PHP als assoziatives Array abrufst, bekommst du sonst nur den ersten Spaltennamen von zwei gleichen.

Wenn du also sowas wie
Code:
select M.m_username as member_username, A.m_username as admin_username, ...
selektierst, hast du auch beide Aliasse als Schlüssel im Array drin.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #6 (permalink)  
Alt 22-10-2010, 17:11
DonnyDarko
 Registrierter Benutzer
Links : Onlinestatus : DonnyDarko ist offline
Registriert seit: Sep 2010
Beiträge: 8
DonnyDarko befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von onemorenerd Beitrag anzeigen
Das hilft mir nicht weiter. Ich weiß nicht was du für ein Log meinst. Ist aber auch egal. Irgendwoher hast du IDs von Benutzern und Admins. Zu diesen IDs möchtest du die Namen aus der Datenbank holen. Soweit hab ich es begriffen.
Aber warum brauchst du dafür JOIN?

Bitte beschreibe dein Vorhaben mal verständlich, damit das große Fragezeichen aus meinen Kopf verschwindet.
in der Datenbank ist eine Log die mir die aktivitäten der Admins mitloggt und ich wollte nicht immer die Namen mitspeichern falls jemand seinen Nick ändert das dieser dann auch angezeigt wird und nicht die alten stehen. ....
admin_id und member_id
Mit Zitat antworten
  #7 (permalink)  
Alt 22-10-2010, 17:16
DonnyDarko
 Registrierter Benutzer
Links : Onlinestatus : DonnyDarko ist offline
Registriert seit: Sep 2010
Beiträge: 8
DonnyDarko befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von AmicaNoctis Beitrag anzeigen
Hallo,

du musst diese Spaltenreferenzen aliasen, denn wenn du es mit PHP als assoziatives Array abrufst, bekommst du sonst nur den ersten Spaltennamen von zwei gleichen.

Wenn du also sowas wie
Code:
select M.m_username as member_username, A.m_username as admin_username, ...
selektierst, hast du auch beide Aliasse als Schlüssel im Array drin.

Gruß,

Amica

Vielen Dank so klappt es wunderbar
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
left join, php


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
LEFT JOIN ohne JOIN prego SQL / Datenbanken 10 19-11-2009 11:21
[LEFT JOIN] Weiteres Left Join Anhängen mit Sortierfunktion Laire SQL / Datenbanken 3 11-01-2008 09:38
left join tsaenger SQL / Datenbanken 1 19-10-2003 19:42
array andere werte zuweisen tomstig PHP Developer Forum 5 19-10-2003 19:06
left join Kropff SQL / Datenbanken 3 26-05-2002 00:13

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:26 Uhr.