Abfrage bzw Anzeigeproblem

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

  • Abfrage bzw Anzeigeproblem

    Hi,

    ich habe folgende SQL-Abfrage:

    PHP-Code:
    "SELECT hosts.name,hostgroups.name,hosts.customers_id,hosts.id,hostgroups.hosts_id
                                   FROM hosts,hostgroups
                                   WHERE hosts.id=hostgroups.hosts_id
                                   AND hosts.customers_id IN (
    $ids)
                                   AND hosts.name LIKE '
    $host'
                                   AND hostgroups.name LIKE '
    $hostgroup'
                                   "
    ); 
    Alle diese Daten benötige ich für die Verknüpfung. Als Ergebnis werden folgende Daten angezeigt:

    name name customers_id id hosts_id

    Ich möchte aber bei der Ausgabe nur die ersten beiden namen anzeigen lassen, customers_id id und hosts_id nicht.
    Kann man das in der Abfrage berücksichtigen oder muß ich das bei der Formatierung einstellen? Als Ausgabe benutze ich das hier:

    PHP-Code:
    // es folgt die Standard-Tabellen-Ausgabe

    echo "<h1>Ergebnisliste</h1>";
    $anz=pg_numfields($result);
         
    $breit=100/$anz."%";
         
    // Formatierung der Tabellenfelder  cellpaddimng=zellbreite cellspacing= Abstand zwischen den Feldern
         
    echo "<table width=100% border=1 cellpadding='1' cellspacing='1'>";
         echo 
    "<tr bgcolor=#D0D0D0>";
         for (
    $i=0;$i<$anz;$i++)
         {
             echo 
    "<th width='$breit' align='left'><font size='3'>";
             echo 
    pg_field_name($result,$i);
             
    //echo "_Host_";
                    //echo $customer_name_var[$x];
             
    echo "</font> </th>";
         }
            echo 
    "</tr>";
            echo 
    "<tr>";
            
    $num pg_numrows($result);
            for (
    $j$j $num$j++)
            {
                     
    $row=pg_fetch_array($result);
                     echo 
    "<tr bgcolor=#8080D0>";
                     for (
    $k=0;$k<$anz;$k++)
                     {      
    // nowrap = kein zeilenumbruch
                         
    $fn=pg_fieldname($result,$k);
                         echo 
    " <td nowrap width='$breit'><font size='3'>$row[$fn] </font></td>";
                         
    $var[$k]=$row[$fn];
                     }
                     echo 
    "</tr>";


            } 
    Danke für eure Hilfe!

  • #2
    Abfrage bzw Anzeigeproblem

    Hi,

    ich habe folgende SQL-Abfrage:

    PHP-Code:

    "SELECT hosts.name,hostgroups.name,hosts.customers_id,hosts.id,hostgroups.hosts_id
                                   FROM hosts,hostgroups
                                   WHERE hosts.id=hostgroups.hosts_id
                                   AND hosts.customers_id IN (
    $ids)
                                   AND hosts.name LIKE '
    $host'
                                   AND hostgroups.name LIKE '
    $hostgroup'
                                   "
    ); 
    Alle diese Daten benötige ich für die Verknüpfung. Als Ergebnis werden folgende Daten angezeigt:

    name name customers_id id hosts_id

    Ich möchte aber bei der Ausgabe nur die ersten beiden namen anzeigen lassen, customers_id id und hosts_id nicht.
    Kann man das in der Abfrage berücksichtigen oder muß ich das bei der Formatierung einstellen? Als Ausgabe benutze ich das hier:

    PHP-Code:
    // es folgt die Standard-Tabellen-Ausgabe

    echo "<h1>Ergebnisliste</h1>";
    $anz=pg_numfields($result);
         
    $breit=100/$anz."%";
         
    // Formatierung der Tabellenfelder  cellpaddimng=zellbreite cellspacing= Abstand zwischen den Feldern
         
    echo "<table width=100% border=1 cellpadding='1' cellspacing='1'>";
         echo 
    "<tr bgcolor=#D0D0D0>";
         for (
    $i=0;$i<$anz;$i++)
         {
             echo 
    "<th width='$breit' align='left'><font size='3'>";
             echo 
    pg_field_name($result,$i);
             
    //echo "_Host_";
                    //echo $customer_name_var[$x];
             
    echo "</font> </th>";
         }
            echo 
    "</tr>";
            echo 
    "<tr>";
            
    $num pg_numrows($result);
            for (
    $j$j $num$j++)
            {
                     
    $row=pg_fetch_array($result);
                     echo 
    "<tr bgcolor=#8080D0>";
                     for (
    $k=0;$k<$anz;$k++)
                     {      
    // nowrap = kein zeilenumbruch
                         
    $fn=pg_fieldname($result,$k);
                         echo 
    " <td nowrap width='$breit'><font size='3'>$row[$fn] </font></td>";
                         
    $var[$k]=$row[$fn];
                     }
                     echo 
    "</tr>";


            } 

    Danke für eure Hilfe!

    Kommentar


    • #3
      wenn du nur die beiden Namen haben willst, dann selektiere auch nur die 2 in der Abfrage, etwa so select a.name, b.name from ...
      EDIT:
      bitte kein cross posting **zusammenführen**

      Kommentar


      • #4
        Das war mir ja bekannt aber ich brauche eben die anderen Dinge um die Abfrage zu machen. Ich will sie bloß net bei der Ausgabe

        Kommentar


        • #5
          Original geschrieben von felix007
          Das war mir ja bekannt aber ich brauche eben die anderen Dinge um die Abfrage zu machen. Ich will sie bloß net bei der Ausgabe
          Hä?

          [ ] du weißt, dass alles was in ON, WHERE, GROUP BY, HAVING steht, nicht unbedingt selektiert werden müssen.
          [ ] du weißt NICHT, dass alles was in ON, WHERE, GROUP BY, HAVING steht, nicht unbedingt selektiert werden müssen.

          Bitte ankreuzen.

          Kommentar


          • #6
            [x ] du weißt NICHT, dass alles was in ON, WHERE, GROUP BY, HAVING steht, nicht unbedingt selektiert werden müssen.

            Kommentar


            • #7
              na, also was gedenkst du zu tun?

              Kommentar


              • #8
                genau dat wes isch ja nit ( würde der Kölner sagen)

                Kommentar


                • #9
                  lies nochmals

                  Original geschrieben von asp2php
                  wenn du nur die beiden Namen haben willst, dann selektiere auch nur die 2 in der Abfrage, etwa so select a.name, b.name from ...

                  Kommentar


                  • #10
                    Gerne sage ich auch nochmal, dass ich die anderen brauche sonst kann ich ja die SQL Verknüpfungsabfrage gar net machen!!

                    Kommentar


                    • #11
                      dann geh ich mal die PostgreSQL-Doku lesen, aber ich glaube nicht, dass PostgreSQL hier aus der Reihe tanzt

                      Kommentar

                      Lädt...
                      X