[MYSQL] Where-Funktion mehr durchsuchen

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

  • [MYSQL] Where-Funktion mehr durchsuchen

    PHP-Code:
    $result mysql_query("SELECT * FROM gb WHERE name = '$suche' ORDER BY id DESC"); 
    so das wäre wenn nur ein feld durchsuchen werden sollte.
    ich will aber das er das feld name und feld news durchsucht.

    wie stell ich das am dümmsten an?

    PHP-Code:
     $result mysql_query("SELECT * FROM gb WHERE name = '$suche' and news = '$suche' ORDER BY id DESC"); 
    geht nicht. da sucht er dann gar nix mehr

  • #2
    OR statt AND

    es reicht ja wahrscheinlich wenn es in feld 1 ODER feld2 steh oder soll es wirklich in beiden stehen?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      mmh es klappt scho aber jetzt noch bissal anderes problem

      wenn ich
      PHP-Code:
      $result mysql_query("SELECT * FROM gb where wohnort = '$search' or name = '$search' ORDER BY id DESC"); 
      habe, dann sucht er in wohnort und in name.

      wenn ich aber
      PHP-Code:
      $result mysql_query("SELECT * FROM gb where eintrag = '$search' or name = '$search' ORDER BY id DESC"); 
      habe, dann sucht er nur noch in name


      Kann es sein das er nur "varchar"-Felder durchsucht und keine "text"-Felder???

      ich will ja aber des textfeld auch auslesen.

      p.s.

      wenn ich
      PHP-Code:
      $result mysql_query("SELECT * FROM gb where eintrag = '$search' ORDER BY id DESC"); 
      habe dann gehts auch ned

      Kommentar


      • #4
        PHP-Code:
        $result mysql_query"SELECT
                                    *
                                FROM
                                    gb
                                WHERE
                                    eintrag LIKE '%"
        .$search."%' OR
                                    name    LIKE '%"
        .$search."%'
                                ORDER BY
                                    id DESC"
        ) or die(mysql_error()); 
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          jo des geht.

          und wenn ich noch haben will, das wenn er nix findet ne message ausgibt wie z.b. "nix gefunden"


          könnte ich mir ne ifschleife machen oder?

          if(!isset($result))
          {
          echo 'blabla';
          }

          oder?

          Kommentar


          • #6
            ne ifschleife nich, die gibt's nämlich nicht

            aber du könntest mit
            PHP-Code:
            if (mysql_num_rows($result)==0)
              echo 
            'nix gefindet haben tut'
            arbeiten
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7


              ihr seit super *freu*

              dann is scho wieder der großteil der arbeit um. jawoll. heute habe ich es drauf
              macht direkt bock zu programmieren wenn alles klappt hehe

              Kommentar


              • #8
                noch ne frage.

                wenn ich jetzt mehr durchsuche will z.b. das halt dann $suche ist "hallo toll" also zweiwörter.
                dann macht der des ned.

                wie kann ich das noch anstellen?

                Kommentar


                • #9
                  nach jedem wort einzeln suchen, du kannst die ganzen AND und OR kombinieren wie du willst
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    naja also

                    $suche = 'hallo toll'


                    dann macht er es ned.
                    du sagst ich müsste dann nach jedem wort einzelnd fragen.

                    also müsste ich das $suche doch erst "splitten" (richtiger begriff? da gibts doch auch ne funktion) oder kann ich es dann wie ein array behandeln? (hab in array noch keine erfahrungen)

                    also dann müsste es praktisch so sein oder?

                    $suche1= 'hallo'
                    $suche2= 'test'

                    und dann müsste es bei der abfrage so lauten?

                    $result = mysql_query("SELECT * FROM news WHERE eintrag like '%".$suche."%' or headline like '%".$suche1."%' or headline like '%".$suche2."%' ORDER BY id DESC");

                    sowas in der art?

                    Kommentar

                    Lädt...
                    X