DB-Abfrage optimieren

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

  • DB-Abfrage optimieren

    hallo,

    kann mir bitte jemand zeigen wie ich aus diesen 2 db-abfragen eine machen kann. ich hab gelesen das es mit join geht, aber ich blick das einfach nicht.

    PHP-Code:

    $_db_1
    ->mysql
    ("
        SELECT * 
        FROM servicekatalog
    "
    )
    or die (
    send_error($_base__LINE__$_error_db_connect));



    $_db_2->mysql
    ("
        SELECT plz, servicekatalog_id, servicename, COUNT(servicename) as summe 
        FROM anbieterkatalog 
        WHERE plz = '"
    .$_plz."' 
        GROUP BY servicename
    "
    )
    or die (
    send_error($_base__LINE__$_error_db_connect)); 

  • #2
    Holst du denn $_plz überhaupt mit der 1. Query aus der DB? Sonst haben die beiden Queries nämlich überhaupt nichts miteinander gemeinsam.

    Kommentar


    • #3
      hallo,

      hatte einen denkfehler.
      hab es jetzt gelöst, trotzdem danke dir.

      Kommentar


      • #4
        Vielleicht erklärst du hier noch was du gemacht hast, damit irgendwelche leute die auch so ein Problem haben die Lösung auch direkt haben
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          jepp,

          das ist die lösung:

          PHP-Code:

          if($_db_1->count() > 0){

              while(
          $_tmp1 $_db_1->object()){
                  
          $_tmp_glossar[$i] = ucfirst(sortiert($_tmp1->servicename{0}));
                  
          $_tmp_service[utf8_encode($_tmp1->servicename)] = 0;
                  
          $i++;
              }
              
              if(
          $_db_2->count() > 0){
                  while(
          $_tmp2 $_db_2->object()){
                      
          $_tmp_service[utf8_encode($_tmp2->servicename)] = $_tmp2->summe;
                  }
              }
              


          dadurch spare ich mir die db-abfragen in eine while schleife. bekomme also meine ergebnisse mit nur 2 abfragen.

          Kommentar

          Lädt...
          X