Probleme mit einer Abfrage.

Gesperrt
Enrico
Beiträge: 22
Registriert: Mo 26. Mär 2012, 14:07
Kontaktdaten:

Probleme mit einer Abfrage.

Beitrag von Enrico »

Hi in einem Beitrag hier im Forum habe ich von "Spider IT" gelesen, dass folgendes in Contenido funktioniert:

$db->query($sql) - Die übergebene SQL-Anweisung ausführen, ein Ergebnis wird gespeichert
$db->num_rows() - Anzahl der Datensätze im Ergebnis zurückgeben
$db->next_record() - Wechsel auf den nächsten (oder ersten beim ersten Aufruf) Datensatz im Ergebnis
$db->f($FieldName) - Den Inhat des angegebenen Feldes im aktuellen Datensatz zurückgeben
Also habe ich meine Abfrage so aufgebaut:

Code: Alles auswählen

        $sql = "SELECT * FROM `con_frontendusers_employees` WHERE id = '".$authID."'";
        $db->query($sql);
        $db->next_record();
        if($db->num_rows() > 0)
        {
            var_dump($db->f('id'));
            $innerTpl = new Template();
            $innerTpl->set('s', 'FIRSTNAME', $db->f('firstname'));
            $innerTpl->set('s', 'LASTNAME', $db->f('lastname'));
            $innerTpl->set('s', 'EMAIL', $db->f('email'));
        }
Trozdem bekomm ich immer den zweiten :( Kann mir einer helfen? - Danke
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Probleme mit einer Abfrage.

Beitrag von Oldperl »

Hallo,
Enrico hat geschrieben:

Code: Alles auswählen

        $sql = "SELECT * FROM `con_frontendusers_employees` WHERE id = '".$authID."'";
        $db->query($sql);
        $db->next_record();
        if($db->num_rows() > 0)
        {
            var_dump($db->f('id'));
            $innerTpl = new Template();
            $innerTpl->set('s', 'FIRSTNAME', $db->f('firstname'));
            $innerTpl->set('s', 'LASTNAME', $db->f('lastname'));
            $innerTpl->set('s', 'EMAIL', $db->f('email'));
        }
versuch es mal so

Code: Alles auswählen

        $sql = "SELECT * FROM `con_frontendusers_employees` WHERE id = '".$authID."'";
        $db->query($sql);       
        while( $db->next_record()) {
            var_dump($db->f('id'));
            $innerTpl = new Template();
            $innerTpl->set('s', 'FIRSTNAME', $db->f('firstname'));
            $innerTpl->set('s', 'LASTNAME', $db->f('lastname'));
            $innerTpl->set('s', 'EMAIL', $db->f('email'));
        }
 
ungetest :)

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Enrico
Beiträge: 22
Registriert: Mo 26. Mär 2012, 14:07
Kontaktdaten:

Re: Probleme mit einer Abfrage.

Beitrag von Enrico »

Habs getestet, gibt mir auch direkt den zweiten eintrag :/

habs jetzt so gelöst, aber schön ist das nicht gerade :)

Code: Alles auswählen

        $sql = "SELECT * FROM `con_frontendusers_employees`";
        $db->query($sql);
        if($db->num_rows() > 0)
        {
            while($db->next_record())
            {
                if($db->f('id') == $authID)
                {
                    $innerTpl = new Template();
                    $innerTpl->set('s', 'FIRSTNAME', $db->f('firstname'));
                    $innerTpl->set('s', 'LASTNAME', $db->f('lastname'));
                    $innerTpl->set('s', 'EMAIL', $db->f('email'));
                    $innerTpl->set('s', 'ID', $authID);
                }
            }
        }
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Probleme mit einer Abfrage.

Beitrag von Oldperl »

Enrico hat geschrieben:

Code: Alles auswählen

                if($db->f('id') == $authID)
                {
                    $innerTpl = new Template();
                    $innerTpl->set('s', 'FIRSTNAME', $db->f('firstname'));
                    $innerTpl->set('s', 'LASTNAME', $db->f('lastname'));
                    $innerTpl->set('s', 'EMAIL', $db->f('email'));
                    $innerTpl->set('s', 'ID', $authID);
                }
Warum die If-Schleife, nach der AuthId kannst du doch gleich im Query suchen lassen, so bekommst du eh nur entweder 1 oder kein Ergebnis.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Enrico
Beiträge: 22
Registriert: Mo 26. Mär 2012, 14:07
Kontaktdaten:

Re: Probleme mit einer Abfrage.

Beitrag von Enrico »

Danke, hat sich erledigt ... bin heute nicht so ganz auf der höhe
Gesperrt