Select Anweisung Mit Sufu und Auswahlmöglichkeiten

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

  • Select Anweisung Mit Sufu und Auswahlmöglichkeiten

    Hi,
    ich bin durch google auf dieses nette Forum gestoßen und habe auch ehrlich gesagt schon ne halbe Stunde mit der SuFu nach einem ähnlichen Problem gesucht, wurde leider nicht fündig. Deswegen wollte ich hier mal mein Glück probieren.
    So ich möchte eine SQL Abfrage machen die ca. so aussieht, das ist momentan eher ein Gedankengang und ich weiss nicht einmal ob das so überhaupt möglich ist oder ob ich einfach nur einen Fehler in der Syntax habe.

    mysql_query(" SELECT * FROM ".$begin." order by name OR SELECT * FROM ".$begin.">='A' AND <='Z' WHERE name LIKE ".$begriff." oder by name");

    Bis zum OR hat man die Möglichkeit den Content nach Anfangsbuchstaben auszugeben (funktioniert).
    Was mich ein bisschen sutzig macht ist der Bereich nach dem OR wo ich versuche alle Tabellen die einem maximalwert von $begin entsprechen d.h. von A-Z nach $begriff zu durchsuchen und das Ergebniss auszugeben.

    Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken und würde mich über Hilfe sehr freuen.

    Schöne Grüße
    Chris
    Zuletzt geändert von Chrizzi; 24.04.2008, 10:22.

  • #2
    Wo ist der Bezug zu PHP? **move** nach SQL&Co
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      wo jahlives schon gerade dabei ist, beiträge zu verschieben kann er diesen hier ja direkt auch mal in die SQL-Gruppe verschieben.....

      EDIT:
      und er war auch noch schneller als ich^^


      des weiteren verstehe ich leider überhaupt nicht, was du willst.... du willst den Tabellennamen mit einem >= mit einem 'A' vergleichen?
      signed oder unsigned... das ist hier die Frage

      Kommentar


      • #4
        Ahh ja tut mir leid, liegt daran das ich einen ähnlichen Beitrag im php Forum fand, der aber bereits ein paar Jahre alt war.

        Die Tabellen heissen momentan A-Z (ist momentan noch ein wenig umständlich ) d.h. ich möchte nach dem OR Eine Abfrage starten die mir sämtlichen Inhalt(Inhalt von der Spalte name) aus Tabelle A-Z durchsucht, die Ergebnisse mit $begriff vergleicht und das ganze dann ausgibt.

        Kommentar


        • #5
          so, ich habe nochmal drüber nachgedacht, was du willst und mit Hilfe meiner Glaskugel könnte ich dir sagen, dass du mit einem Subselect irgendwie die tabellen vom information_schema selecten könntest, aber auf soetwas würde ich nie zurückgreifen, warum willst du das überhaupt?
          signed oder unsigned... das ist hier die Frage

          Kommentar


          • #6
            schmeiß das OR weg und mache einzelne Selects....


            ich würde dir allerdings empfehlen, dein Datenbankdesign in die Tonne zu kloppen und dir ein neues machen.

            Informiere dich mal über "Normalisierung"
            signed oder unsigned... das ist hier die Frage

            Kommentar


            • #7
              mein db design ist momentan wie bereits oben geschrieben noch umständlich, dient mir aber momentan bei der Hülle an Content zur Übersichtlichkeit, sobald die Abfrage bzw. Grundidee funktioniert wollte ich die Datenbank dafür strukturieren.

              Dennoch danke für den Tip

              Kommentar


              • #8
                mein db design ist momentan wie bereits oben geschrieben noch umständlich, dient mir aber momentan bei der Hülle an Content zur Übersichtlichkeit, sobald die Abfrage bzw. Grundidee funktioniert wollte ich die Datenbank dafür strukturieren.
                Ähm eigentlich falsch herum! Erst werden die Daten modelliert, danach sind die Abfragen ein leichtes.

                Tabellennamen von A bis Z können nur falsch sein.

                Kommentar


                • #9
                  ich habs umständlich gewählt weil ich eine Abfrage nach dem Anfangsbuchstaben nicht hinbekommen hatte =) die ca. so lauten sollte
                  (" SELECT * FROM archiv WHERE name LIKE ".$begin."[COLOR=orange]%[/COLOR] order by name" )

                  leider wusste ich nicht wie ich die Variable mit diesem % verknüpfen konnte, deswegen hatte ich die Tabellen zunächst aufgeteilt.

                  Kommentar


                  • #10
                    Naja, jetzt weißt du ja, wie man es besser macht.

                    Kommentar


                    • #11
                      zum einen ja, zum anderen nein ^^ da die Abfrage mit der Variable und dem nachgestellten % leider nicht funktioniert.
                      Syntax falsch?

                      Kommentar


                      • #12
                        EDIT:

                        Ja Syntax Falsch


                        Original geschrieben von Chrizzi

                        (" SELECT * FROM archiv WHERE name LIKE ".$begin."[COLOR=orange]%[/COLOR] order by name" )
                        Oo?

                        PHP-Code:

                        $sql
                        ="SELECT * FROM archive WHERE name LIKE '".$begin."%' ORDER BY name ASC"
                        da ich davon ausgehe das du wörter suchst die mit A-Z anfangen gehört sowas normaler weise ''< oder >"" ... das sagt dir aber auch schon phpMyAdmin ... wenn man die Suchmaske benutzt.
                        Bitte Beachten.
                        Foren-Regeln
                        Danke

                        Kommentar


                        • #13
                          dankeschön

                          Kommentar

                          Lädt...
                          X