Ankündigung

Einklappen
Keine Ankündigung bisher.

in where-klausel like und AND kombinieren, geht das nicht ?

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema in where-klausel like und AND kombinieren, geht das nicht ?.

    in where-klausel like und AND kombinieren, geht das nicht ?

    Hi Leute

    hab da nen kleines Problem... ich hab mir ne suche erstellt, in der man nach artikeln suchen kann...
    ich hab aber auch artikel in der DB die deaktiviert sind.
    um die bei der suchabfrage nicht miteinzubeziehen hab ich einfach
    das active=1 in die where-klausel geschrieben :
    WHERE active='1' AND name LIKE '%$suchbegriff%'

    jedoch wird das ignoriert und es werden auch artikelt mit active=2 angezeigt...

    kann man da nicht kombinieren ? und wenn nicht, wie muss ich das umgehen ?

  • Zergling-new
    antwortet
    Zitat von ways2web
    die Lösung war eine andere !

    das active=1 muss 2 mal eingesetzt werden ! wegen dem OR
    also jeweils nach : LIKE '%$suchbegriff%'

    dan funtz es !
    lol

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Zitat von ways2web
    die Lösung war eine andere !

    das active=1 muss 2 mal eingesetzt werden ! wegen dem OR
    also jeweils nach : LIKE '%$suchbegriff%'

    dan funtz es !
    Das mag eine andere Lösung sein, aber diejenige von MarkusHausB ist ebenso korrekt und erst noch eleganter (und wahrscheinlich schneller).

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    die Lösung war eine andere !

    das active=1 muss 2 mal eingesetzt werden ! wegen dem OR
    also jeweils nach : LIKE '%$suchbegriff%'

    dan funtz es !

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Klammern würden helfen.
    Der Ausrdruck wird von links nach rechts ausgewertet. Deswegen würde dieser Part
    PHP-Code:
    info LIKE '%$suchbegriff%' AND active=
    ausgewertet und dann mit diesem
    PHP-Code:
    name LIKE '%$suchbegriff%' 
    ver"or"t.
    Also:

    PHP-Code:
    <?php
    "SELECT * FROM $language WHERE (name LIKE '%$suchbegriff%' OR info LIKE '%$suchbegriff%') AND active=1 LIMIT $start,$resultsperPage"
    ?>

    Einen Kommentar schreiben:


  • greg
    antwortet
    Wende bitte mal folgende Funktion an, statt dem gewöhnlichen mysql_query().
    Das könnte klarheit verschaffen.

    PHP-Code:
    <?php
    function debug_query($query) {
            
    $result mysql_query($query);
            
    $error $result == false mysql_error() : '';
            echo 
    '

    <pre>' 
    htmlspecialchars($query) . '</pre></p>

    $error '</p>';
            
            return 
    $result;
        }

    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ich find den fehler nicht

    hier meine kompletetr query :

    PHP-Code:
    <?php
    $sql_products
    =mysql_query("SELECT * FROM $language WHERE name LIKE '%$suchbegriff%' OR info LIKE '%$suchbegriff%' AND active=1 LIMIT $start,$resultsperPage"
    ?>
    und hier meine tabelle :
    CREATE TABLE `en` (
    `id` int(11) NOT NULL default '0',
    `text_id` int(11) NOT NULL default '0',
    `name` text NOT NULL,
    `info` text NOT NULL,
    `active` tinyint(4) NOT NULL default '1',
    PRIMARY KEY (`id`),
    FULLTEXT KEY `name` (`name`),
    FULLTEXT KEY `info` (`info`)
    ) TYPE=MyISAM;

    #
    # Daten für Tabelle `en`
    #

    INSERT INTO `en` VALUES (0, 1001, 'starter kit 1 en', 'starter kit 1 en description', 1);
    INSERT INTO `en` VALUES (1, 1002, 'starter kit 2 en', 'starter kit 2 en description', 2);
    INSERT INTO `en` VALUES (2, 1003, 'starter kit 3 en', 'starter kit 3 en description', 1);
    INSERT INTO `en` VALUES (3, 1004, 'starter kit 4', 'starter kit 4 en description', 1);

    Einen Kommentar schreiben:


  • greg
    antwortet
    Doch das geht, der Syntax deines Querys hier im Board ist soweit korrekt, der Fehler muss wo anders in dem Script liegen. Poste es hier oder such den Fehler selber, in dem du Schritt für Schritt die Variablen auf ihren Inhalt hin überprüfst.

    Einen Kommentar schreiben:

Lädt...
X