SQL Ausgabe in Tabelle

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Ausgabe in Tabelle

    Hallo PHP-User,

    ich bin absoluter Neuling, habe eine Frage und hoffe hier im Forum auf eine Antwort.

    Ich habe eine SQL-Spalte und möchte diese gerne als Tabelle ausgeben.

    z.B. die SQL-Spalte heist : IP
    die Tabelle heist : xxx_75109_xxx

    nun möchte ich folgende Tabellenausgabe haben, die mir die doppelten einträge zählt.



    Für eine Antwort und Hilfestelung wäre ich dankbar

    Danke - Manuela

  • #2
    so gehts:

    SELECT ip, count( ip ) AS anzahl
    FROM `test`
    GROUP BY ip

    gruss

    Comment


    • #3
      Danke MoRtAlAn für die schnelle Antwort,
      jeoch klappt das nicht.

      Ich habe nun folgenden Code benutzt :

      <?
      $sql = "SELECT ip, count( ip ) AS anzahl
      FROM test GROUP BY ip";
      $res = mysql_query($sql);
      $hits = mysql_result($res, 0);
      echo $hits
      ?>

      und bekomme folgendes Ergebnis :

      10.0.0.1

      Häääää ?

      Gruß Manuela

      Comment


      • #4
        hier, nur noch db-verbindung und ausgabe anpassen:

        PHP Code:
        <?php
        $sql 
        'SELECT ip, count( ip ) AS anzahl FROM `test` GROUP BY ip LIMIT 0, 30';
        mysql_connect"192.168.208.222""root""") or die( errorhandle($mess));
        mysql_select_db"test" ) or die( errorhandle($mess));

        $result mysql_query($sql);

        while (
        $row mysql_fetch_array($result)) {
                echo 
        "Die IP ".$row[ip]." kommt ".$row[anzahl]."x vor<br>";
            }
        ?>
        gruss

        Comment


        • #5
          Jo, das mit den Anzeigen funktioniert nun,
          jedoch möchte ich dieses in einer Tabelle Anzeigen mit
          in dem die einzelnen Tabellen eine andere Farbe haben
          und mit dem höchsten Anzahl-Wert beginnend.

          Ich habe mir gedacht das ich die Tabelle mit folgender Funktion
          aufbaue.

          PHP Code:
          <?
          function bgColor()
          {   static $color = 0xAAAAFF;
               $color ^= 0x444411;
               return "\"#".dechex($color)."\"";
          }
          ?>
          Nun habe ich versucht folgenden Code mit einer Table-Anweisung
          PHP Code:
          <tr>
              <td bgcolor=<?php echo bgColor()?>><?"IP".$row[ip].?>"</td>
            </tr>
          in die While-Schleife mit ein zu binden, jedoch klappt das nicht

          Gruß Manuela

          Comment


          • #6
            O.K. habe es geschaft, trotzdem D A N K !

            Falls einen interessiert hier der Quellcode :

            PHP Code:
            <HTML>
            <
            HEAD>
            <
            TITLE>Abfrage der SQL-Tabelle Sortierte Liste</TITLE>
            </
            HEAD>
            <
            font size=4>Abfrage der SQL-Tabelle Sortierte Liste</font><br>
            <
            script language="php">

              
            $db_server "Server";
            /* Datenbankname */
              
            $db_name "datenbankname";
            /* Datenbankuser */
              
            $db_user "datenbankusername";
            /* Datenbankpasswort */
              
            $db_passwort "datenbankpasswort";
            $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);

              if (
            $sortnach=="")
                {
                 print 
            "sortiert nach Hostname";
                 
            $abfrage MySQL_db_query("datenbankname","select hostname, count(hostname) as hits from pphl_85245_logs as hits GROUP BY hostname ORDER BY hits DESC LIMIT 0, 10");
                }
              else
               {
                 print 
            "sortiert nach $sortnach<br>";
                 
            $abfrage MySQL_db_query("datenbankname","select $sortnach, count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $sortnach ORDER BY hits DESC LIMIT 0, 10");
                }

              
            $z=MySQL_num_rows($abfrage);
              
            $s=MySQL_num_fields($abfrage);
              print 
            "<table border=1 bgcolor=lightgreen>\n";
              print 
            "<tr bgcolor=red>";
              for (
            $j=0$j<$s$j++) { $fn=MySQL_fieldname($abfrage,$j); print "<td><b>$fn</b></td>";}
              print 
            "</tr>";
              for (
            $i=0$i<$z$i++)
                {
                  print 
            "<tr>\n";
                  
            $zeile=MySQL_fetch_array($abfrage);
                  for (
            $j=0$j<$s$j++) { print "  <td>$zeile[$j]</td>\n";}
                  print 
            "</tr>\n";
                }
              print 
            "</table>\n";
              print 
            date("Y-m-d H:i:s");
            </
            script>

            <
            FORM action=award.php method=POST>
            Neu Sortieren nach:
              <
            select name="sortnach">

                <
            option selected value="hostname"  >Hostname
                
            <option value="ip"                             >IP
                
            <option value="referer"                     >Referer
                
            <option value="proxy"                       >Proxy
                
            <option value="Proxy_ip"                  >Proxy IP
                
            <option value="Proxy_hostname"     >Proxy Hostname

              
            </select>
              <
            input type="submit" Value="Sortieren">
            </
            FORM>

            </
            BODY>
            </
            HTML
            Gruß Manuela
            Last edited by manuelakersten; 07-11-2002, 13:11.

            Comment


            • #7
              PHP Code:
               <select name="sortnach">

                  <
              option selected value="hostname"  >Hostname</option>
                  <
              option value="ip"                             >IP</option>
                  <
              option value="referer"                     >Referer</option>
                  <
              option value="proxy"                       >Proxy</option>
                  <
              option value="Proxy_ip"                  >Proxy IP</option>
                  <
              option value="Proxy_hostname"     >Proxy Hostname</option>

                </
              select
              Du musst Option auch wieder schliessen, sonst gibt es Probleme.
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Comment


              • #8
                Danke,

                jetzt habe ich doch eine Frage, wenn ich keine Auswahl für den Benutzer
                des Tables abfragen möchte, sondern dem User die Möglichkeit
                geben möchte, die Tabellen mit einer Checkbox aus zu wählen,
                wie realisiere ich das, denn zwischen den Strings muß erstensein Komma stehen und wenn eine Checkbox nicht angeklickt wird, wird es eine Fehlermeldung geben.



                Für Hilfe wäre ich dankbar

                Gruß Manuela

                Comment


                • #9
                  Versuche doch mal folgendes. Vorraussetzung hierfür ist, das du die Checkboxen alle wie folgt benennst:
                  Beispiel:
                  PHP Code:
                  tabelle[] 
                  Damit erzeugst du einen Array. Auf der nächsten Seite greifst du dann wie folgt auf den Array zu und baust das Statement...
                  PHP Code:
                  for ($i=0;$i<=count($tabelle)-1;$i++) {
                    
                  $statement .= $tabelle[$i];
                    if (
                  $i count($tabelle)) {
                      
                  $statement .= ", ";
                    }

                  Das ist jetzt nur ein Beispiel. Könntest es auch mit einer while schleife, oder ganz anners machen
                  Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                  Comment


                  • #10
                    Mhhhh, die Funktionsweise vom zweiten Script verstehe ich, jedoch nicht wo ich dieses einfügen soll und das erste mit 'tabelle[]' überhaupt nicht.

                    Sorry aber ich bin Anfänger, wäre Super wenn Du mir das etwas genauer erklären könntest ( vielleicht mit einem Beispiel aus meinem Script :-) )

                    Danke im voraus

                    Gruß Manuela

                    Comment


                    • #11
                      Dein Formular, das momentan aus einer ComboBox besteht muss ja erst einmal geändert werden. So das du für jedes Item (Tabelle) eine Checkbox hast.

                      PHP Code:
                      <FORM action=award.php method=POST>
                      Neu Sortieren nach:
                        <
                      input type=checkbox name=sortnach[] value="hostname">
                        <
                      input type=checkbox name=sortnach[] value="ip">
                        <
                      input type=checkbox name=sortnach[] value="referer">
                        <
                      input type=checkbox name=sortnach[] value="proxy">
                        <
                      input type=checkbox name=sortnach[] value="Proxy_ip">
                        <
                      input type=checkbox name=sortnach[] value="Proxy_hostname">

                        <
                      input type="submit" Value="Sortieren">
                      </
                      FORM
                      So das ist dein Form. Und nun musst du das noch in deinem Script, bevor du die SQL Abfrage macht, einfügen.
                      PHP Code:
                      //Wenn keine Checkbox geklickt ist, dann wird nur hostname benutzt
                      if (empty($sortnach)) {
                        
                      $sortnach[] = "hostname";
                      }

                      //Bilden des benötigten Strings für SQL Query
                      for ($i=0;$i<=count($sortnach)-1;$i++) {
                        
                      $statement .= $sortnach[$i];
                        if (
                      $i count($sortnach)) {
                          
                      $statement .= ", ";
                        }
                      }

                      print 
                      "sortiert nach $statement <br>";
                      $abfrage MySQL_db_query("datenbankname","select $statement , count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $statement ORDER BY hits DESC LIMIT 0, 10");

                      $z=MySQL_num_rows($abfrage);
                      $s=MySQL_num_fields($abfrage); 
                      Noch fragen?
                      Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                      Comment


                      • #12
                        S U P E R - DANKE FÜR DIE MÜHE,
                        jedoch bekomme ich folgende Fehlermeldungen :

                        PHP Code:
                        Warningmysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/local/httpd/htdocs/kunden/web625/html/award.php on line 44

                        Warning
                        mysql_num_fields(): supplied argument is not a valid MySQL result resource in /usr/local/httpd/htdocs/kunden/web625/html/award.php on line 45 
                        Ich habe die Scrippasagen ersetzt :

                        PHP Code:
                        <HTML>
                        <
                        HEAD>
                        <
                        TITLE>Abfrage der SQL-Tabelle Sortierte Liste</TITLE>
                        </
                        HEAD>
                        <
                        font size=4>Abfrage der SQL-Tabelle Sortierte Liste</font><br>

                        <
                        script language="php">
                          
                        $db_server "xxx";
                        /* Datenbankname */
                          
                        $db_name "xxx1";
                        /* Datenbankuser */
                          
                        $db_user "xxx";
                        /* Datenbankpasswort */
                          
                        $db_passwort "xxx";
                        $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);

                          
                        //Wenn keine Checkbox geklickt ist, dann wird nur hostname benutzt

                        if (empty($sortnach)) {

                          
                        $sortnach[] = "hostname";

                        }

                        //Bilden des benötigten Strings für SQL Query

                        for ($i=0;$i<=count($sortnach)-1;$i++) {

                          
                        $statement .= $sortnach[$i];

                          if (
                        $i count($sortnach)) {

                            
                        $statement .= ", ";

                          }

                        }

                        print 
                        "sortiert nach $statement <br>";


                        $abfrage MySQL_db_query("xxx","select $statement , count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $statement ORDER BY hits DESC LIMIT 0,10");

                        $z=MySQL_num_rows($abfrage);    // FEHLERMELDUNG
                        $s=MySQL_num_fields($abfrage);    // FEHLERMELDUNG

                        print "<table border=1 bgcolor=lightgreen>\n";
                          print 
                        "<tr bgcolor=red>";
                          for (
                        $j=0$j<$s$j++) { $fn=MySQL_fieldname($abfrage,$j); print "<td><b>$fn</b></td>";}
                          print 
                        "</tr>";
                          for (
                        $i=0$i<$z$i++)
                            {
                              print 
                        "<tr>\n";
                              
                        $zeile=MySQL_fetch_array($abfrage);
                              for (
                        $j=0$j<$s$j++) { print "  <td>$zeile[$j]</td>\n";}
                              print 
                        "</tr>\n";
                            }
                          print 
                        "</table>\n";
                          print 
                        date("Y-m-d H:i:s");
                        </
                        script>

                        <
                        FORM action=award.php method=POST>

                        Neu Sortieren nach:

                          <
                        input type=checkbox name=sortnach[] value="hostname">

                          <
                        input type=checkbox name=sortnach[] value="ip">

                          <
                        input type=checkbox name=sortnach[] value="referer">

                          <
                        input type=checkbox name=sortnach[] value="proxy">

                          <
                        input type=checkbox name=sortnach[] value="Proxy_ip">

                          <
                        input type=checkbox name=sortnach[] value="Proxy_hostname">



                          <
                        input type="submit" Value="Sortieren">

                        </
                        FORM>

                        </
                        BODY>
                        </
                        HTML
                        Den falschen Syntax habe ich markiert.

                        Für Hilfe wäre ich dankbar

                        Gruß Manuela

                        Comment


                        • #13
                          Versuch mal das

                          PHP Code:
                          $abfrage MySQL_db_query("xxx","select $statement , count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $statement ORDER BY hits DESC LIMIT 0,10"); 
                          Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                          Comment


                          • #14
                            Ne, leider ohne Erfolg **schnieeeffff **

                            Gruß Manuela

                            Comment


                            • #15
                              PHP Code:
                              $db MYSQL_CONNECT($db_server,$db_user,$db_passwort); // erste Änderung


                              $abfrage MySQL_db_query("xxx","select $statement , count($sortnach) as hits from pphl_85245_logs as hits GROUP BY $statement ORDER BY hits DESC LIMIT 0,10")or die(mysql_error());// Zweite Änderung 
                              Probiers mal so!
                              Und dann poste die Fehlermeldung noch mal!
                              *winks*
                              Gilbert
                              ------------------------------------------------
                              Hilfe für eine Vielzahl von Problemen!!!
                              http://www.1st-rootserver.de/

                              Comment

                              Working...
                              X