Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Wert anhand ID finden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • pexcel
    hat ein Thema erstellt [Erledigt] Wert anhand ID finden.

    [Erledigt] Wert anhand ID finden

    Hallo zusammen,

    als absoluter Newbie in Sachen mysql habe ich folgendes Problem:

    Datenbankabfrage in user1.php:

    PHP-Code:
    $query "SELECT id, name, username, email, usertype, registerDate, lastvisitDate FROM users";
    $database->setQuery($query);
    $rows $database->loadObjectList(); 
    Datenbankabfrage in user2.php:
    PHP-Code:
    $query "SELECT user_FK, garten FROM usermeta";
    $db->setQuery($query);
    $results $db->loadObjectList(); 
    Die 'id' in Tabelle "users" entspricht 'user_FK' in der Tabelle "usermeta", wobei nicht jeder User eine 'user_FK' hat.

    Ich möchte jetzt die Daten aller User aus Tabelle "users" ausgeben (funktioniert auch), zusätzlich aber in einer weiteren Spalte den Wert 'garten', wenn die 'id' gleich 'user_FK' ist.
    PHP-Code:
    foreach($rows as $row)
    {
       echo 
    "Name: " .$row->name"<br />\n";
       echo 
    "EMail: " .$row->email."<br />\n";
       echo 
    "Garten: ........

    Kann mir jemand einen Tipp geben, wie ich dem User den richtigen Wert 'garten' zuordnen kann?

    Vielen Dank
    pexcel

  • pexcel
    antwortet
    OK, hat sich erledigt, ich habs wohl geschafft...
    PHP-Code:
    // Select query
        
    if (class_exists('JFactory')) {
            
    // Joomla! 1.5
            
    $query "SELECT u.id AS id, u.name AS name, u.username AS username, u.email AS email, u.registerDate AS registerDate, u.lastvisitDate AS lastvisitDate, g.name AS usertype, m.garten As garten"
                
    "\nFROM #__users AS u"
                
    "\nINNER JOIN #__core_acl_aro AS aro ON aro.value = u.id"    // map user to aro
                
    "\nINNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.id"    // map aro to group
                
    "\nINNER JOIN #__core_acl_aro_groups AS g ON g.id = gm.group_id"
          
    "\nLEFT JOIN #__usermeta AS m ON m.user_FK = u.id";
        } else {
            
    $query "SELECT u.id AS id, u.name AS name, u.username AS username, u.email AS email, u.registerDate AS registerDate, u.lastvisitDate AS lastvisitDate, g.name AS usertype, m.garten As garten"
                
    "\nFROM #__users AS u"
                
    "\nINNER JOIN #__core_acl_aro AS aro ON aro.value = u.id"    // map user to aro
                
    "\nINNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id"    // map aro to group
                
    "\nINNER JOIN #__core_acl_aro_groups AS g ON g.group_id = gm.group_id"
          
    "\nLEFT JOIN #__usermeta AS m ON m.user_FK = u.id";
        } 
    Vielen Dank noch mal für den Link - wieder was gelernt

    Einen Kommentar schreiben:


  • pexcel
    antwortet
    Hi Asipak,

    vielen Dank für den Link.
    Habe mir das mal eingehend angesehen, ich denke, dass das Ganze über RIGHT Join bzw. LEFT JOIN realisierbar wäre.

    Ich kriegs trotzdem nicht in den Code implementiert, zumal der im Ganzen so aussieht:
    PHP-Code:
    // Select query
        
    if (!$settings->usertype) {
            
    // faster query
            
    $query "SELECT id, name, username, email, usertype, registerDate, lastvisitDate FROM #__users";
        } else if (
    class_exists('JFactory')) {
            
    // Joomla! 1.5
            
    $query "SELECT u.id AS id, u.name AS name, u.username AS username, u.email AS email, u.registerDate AS registerDate, u.lastvisitDate AS lastvisitDate, g.name AS usertype"
                
    "\nFROM #__users AS u"
                
    "\nINNER JOIN #__core_acl_aro AS aro ON aro.value = u.id"    // map user to aro
                
    "\nINNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.id"    // map aro to group
                
    "\nINNER JOIN #__core_acl_aro_groups AS g ON g.id = gm.group_id";
        } else {
            
    $query "SELECT u.id AS id, u.name AS name, u.username AS username, u.email AS email, u.registerDate AS registerDate, u.lastvisitDate AS lastvisitDate, g.name AS usertype"
                
    "\nFROM #__users AS u"
                
    "\nINNER JOIN #__core_acl_aro AS aro ON aro.value = u.id"    // map user to aro
                
    "\nINNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id"    // map aro to group
                
    "\nINNER JOIN #__core_acl_aro_groups AS g ON g.group_id = gm.group_id";
        } 
    Könntest Du mir erklären, wie ich hier die Tabelle "usermeta" mit der Spalte 'user_FK' einbinden kann?

    Viele Grüße
    pexcel

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Hallo,

    http://aktuell.de.selfhtml.org/artik...nbanken/joins/

    Einen Kommentar schreiben:

Lädt...
X