Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] SELECT COUNT(id) erweitern

Einklappen

Neue Werbung 2019

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

  • [Erledigt] SELECT COUNT(id) erweitern

    hey leute,

    folgedendes problem:
    würde gerne folgende abfrage erweitern:

    PHP-Code:
        $sql = ("SELECT Count(id) FROM `firma` WHERE (`branche_1`='$auswahl' or `branche_2`='$auswahl' or `branche_3`='$auswahl')");
        
    $res mysql_db_query($dbn,$sql);
        list(
    $id_branche) = mysql_fetch_row($res); 
    mit folgedender abfrage kompinieren:
    PHP-Code:
    $association 'AND';
    $keyword $search_word;
    $keywords explode(" ",$keyword);
    $query = array();
        foreach(
    $keywords as $keyword) {
        
    $query[] = "`ort` LIKE '%".$keyword."%' OR `plz` LIKE '%".$keyword."%'";
    }
    $query implode("\n ".$association." ",$query);
    $sql = ("SELECT `id`, `plz`, `ort`
            FROM `firma` WHERE "
    .$query."
            "
    ) or die (mysql_error("Keine Verbindung zur Datenbank"));
    $result mysql_query($sql) OR die(mysql_error());
    $res mysql_query($sql);
    while(
    $row mysql_fetch_assoc($result))  {

    beide scripte laufe unabhängig voneinander einwandfrei.
    ziel soll sein, das bei der ersten abfrage das ergebnis per eingabe unterteilt werden kann.

    währe supi wenn jemand einen lösungsansatz hätte
    [/code]

  • #2
    Ich verstehe leider nicht, was du willst. Aber wenn du aus den beiden Abfragen eine machen willst, wirst du Probleme kriegen, da wenn eine Aggregatsfunktion (count()) verwendet wird, alle Attribute, die abgefragt werden, logischerweise auch in der GROUP BY-Klausel vorkommen müssen.
    Aber vielleicht kannst du mal genauer beschreiben, was du haben möchtest.
    Ausserdem bezweifle ich, dass die zweite Abfrage einwandfrei läuft, da dort einige Klammern fehlen und AND mehr bindet, als OR. Und zwei mal mysql_query() auf die gleiche Abfrage macht auch nicht viel Sinn.
    Gruss
    L

    Kommentar


    • #3
      die beiden abfragen gehen im augenblick getrennt von einander.
      ich würde gerne die erste abfrage mit dem count id noch mit einem array ausbauen. in dem array steht ein wert aus einem suchfeld wie zb. einem ort oder die plz.

      Kommentar


      • #4
        Erklär dein Problem mal an einem konkreten Beispiel (Tabellenstruktur, Beispieldatensätze und gewünschtes Ergebnis).

        Kommentar


        • #5
          ok:
          tabelle mit id, plz, ort und branche_1, branche_2 und branche_3 usw.

          mit der ersten Abfrage schaue ich, welche Branchen mit firmen belegt.
          ist eine branche mit einer oder mehr firmen belegt, wir diese angezeigt.

          nun habe ich ein eingabefenster, wo der besucher die auswahl auf plz oder einen ort begrenzen kann.

          ich hoffe das problem ist somit erklärt.

          Kommentar


          • #6
            Zunächst einmal solltest du wohl deine Datenbankstruktur normalisieren. Dann lässt sich eine entsprechende Abfrage auch leichter zusammenbauen.

            Kommentar


            • #7
              die felder branchen 1-3 dienen dazu, das sich firmen in 3 bereiche eintragen können. darum brachen 1-3. als kennung ist in den branchen kein text hinterlegt sondern einfach nur bestimmte zahlen, welche dann in einer funktion ausgewertet werden..

              Kommentar


              • #8
                Das hat mit einer normalisierten Datenbankstruktur trotzdem nichts zu tun.

                Kommentar


                • #9
                  ok, habs nochmal durchgeschaut. das würde ja bedeuten ich müsste eine zweite tabelle machen, wo die id des eintages drin steht und in der zweiten tabelle die branchenauswahl.
                  oder liege ich da falsch?

                  Kommentar


                  • #10
                    Die Tabelle sieht dann so aus:
                    firma_branche:
                    firmaid
                    brancheid

                    Kommentar


                    • #11
                      wollte jetzt eignentlcih die tabelle nicht mehr spalten, da die seite schon seit über einem jahr lauft und dann müsste man ja die ganzen formulare usw. umbauen. gibt es keine möglichkeit das andest zu machen?

                      Kommentar


                      • #12
                        Was genau möchtest du jetzt ermitteln?

                        Kommentar


                        • #13
                          hab ein $serach die nun auf die zelle ort und plz mit %$search% eine weitere unterteilung macht

                          Kommentar

                          Lädt...
                          X