[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
MySQL Suche - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
JonasLoerken
Beiträge: 70
Registriert: 13. Feb 2015, 23:22

MySQL Suche

6. Okt 2015, 16:19

Hey,
ich habe auch meiner Seite eine kleine Suchfunktionier einegbaut, welche eine Tabelle in meiner Datenbank durchsucht. Grundsätzlich funktioniert die Suchfunktion auch. Wenn jedoch ein ein Suchbegriff zwei Tabellen-Zeilen zugeordnet werden kann, wird die erste Zeile Doppel ausgegeben.

Als Beispiel:

in Meine Tabelle gibt es ledeglich die Spalte "projektname" (abgesehen von der ID).
Die die Tabelle sind vier Elemente eingetragen: "lorem ipsum", "dolor sit lorem", "amet nulus" und "voluptua cicero". Wenn ich jetzt nach "lorem" suche, bekommen ich zweimal "lorem ipsum" ausgegeben, nicht "lorem ipsum" und "dolor sit lorem" wie es eigentlich der Fall sein sollte. Was mache ich falsch?
Zuletzt geändert von JonasLoerken am 19. Okt 2015, 16:42, insgesamt 1-mal geändert.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: MySQL Suche

7. Okt 2015, 08:57

Hej,

du solltest die Requestwerte casten. Was bei dir aber fehlt ist ein $sql->next() um zur nächsten Sql-Reihe zu wechseln.

Ich habe dir mal beide Bspl. aufgezeigt.

Code: Alles auswählen

<?php

$q = rex_request('suche', 'string');

if ($q != '') {

    $sql = rex_sql::factory();
    $sql->setQuery('SELECT projektname FROM rex_projekte WHERE projektname LIKE "%' . mysql_real_escape_string($q) . '%"');

    // For Schleife
    if ($sql->getRows() >= 1) {
        for ($i = 1; $i <= $sql->getRows(); $i++, $sql->next()) {

            $projektname = $sql->getValue('projektname');
            
            echo $projektname;
        }        
    }

    // Foreach Schleife
    $results = $sql->getArray();
    if (count($resuts)) {
        foreach ($results as $result) {

            $projektname = $result['projektname'];
            
            echo $projektname;

        }
    }


}

?>
vg Thomas

JonasLoerken
Beiträge: 70
Registriert: 13. Feb 2015, 23:22

Re: MySQL Suche

7. Okt 2015, 09:32

Tausend Dank, Thomas!

Funktioniert, wie zu erwarten, perfekt! :)

Zurück zu „Sonstiges“