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

  • Gast-Avatar
    Ein Gast erstellte das Thema [Erledigt] SELECT COUNT(id) erweitern.

    [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]

  • Gast-Avatar
    Ein Gast antwortete
    hab ein $serach die nun auf die zelle ort und plz mit %$search% eine weitere unterteilung macht

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Was genau möchtest du jetzt ermitteln?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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?

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Die Tabelle sieht dann so aus:
    firma_branche:
    firmaid
    brancheid

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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?

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Das hat mit einer normalisierten Datenbankstruktur trotzdem nichts zu tun.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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..

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    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.

    Einen Kommentar schreiben:

Lädt...
X