Zählen von gleichen Wörtern

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

  • Zählen von gleichen Wörtern

    wie kann ich ausgeben wieviel gleiche Worte sich in einer db befinden??
    würde mich sehr um einen tip freuen.
    bin hallt noch newbie, vielen dank
    <<<-----newbie na und???

  • #2
    .. warte bis ich vom essen zurück bin

    Kommentar


    • #3
      jo dann mal guten appetit,
      achso wichtig ist noch zu erwähnen:
      ich will die gleichen wörter in einer spalte in der gesamten DB zählen nicht nur die in einer zeile.
      <<<-----newbie na und???

      Kommentar


      • #4
        Eine Möglichkeit ist array_count_values()
        http://www.php-resource.de/manual.ph...y-count-values

        Ansonsten via count() in der mysql query:
        select count(spalte) from tabelle where spalte="suchstring"
        http://www.mysql.de/documentation/my...#Counting_rows

        mfg
        Zuletzt geändert von CHnuschti; 02.09.2002, 22:30.

        Kommentar


        • #5
          moin!
          so, hier isses. das skript dürfte sogar recht zackig laufen. strick das dann für deine bedürfnisse um:
          PHP-Code:
          <?php
          $db   
          "all";
          $link mysql_connect"localhost""root""xxx" );
          $temp mysql_select_db$db$link );

          $resultmysql_query("SHOW TABLES;",$link);

          while (
          $a=mysql_fetch_array($result))
              
          $all_tables[]=$a["Tables_in_all"];

          // wieviele tables haben wir?
          $len count($all_tables);
          print(
          "<b>Tabellen:</b><br>----------------<br>");
          for(
          $i=0;$i<$len;++$i)
              
          printf("%s<br>",$all_tables[$i]);
          print(
          "----------------<br><b>Inhalt der Felder:</b><br>---------------<br>");

          // hole alle wörter aus allen spalten der db heraus
          for($i=0;$i<$len;++$i){
              
          $fields  mysql_list_fields($db$all_tables[$i], $link);
              
          $columns mysql_num_fields($fields);
              for (
          $j=0;$j<$columns;++$j)
                  
          $field[]=mysql_field_name($fields$j);

              
          $result=mysql_query("SELECT ".implode(", ",$field)." FROM {$all_tables[$i]};",$link);
              
              while(
          $a=mysql_fetch_array($result)){
                  for (
          $j=0;$j<$columns;++$j){
                      
          $text $a[$field[$j]];
                      if(
          $text!=""){
                          
          printf("%s<br>",$text);
          // das leerzeichen ist ein akzeptables worttrennzeichen ...
                          
          $words[] = explode(" ",$text);
                      }
                  }
              }
              unset(
          $field);
          }

          // kopiere das mehrdimensionale array zwecks leichterem handling in ein einzelnes array
          for($i=0;$i<count($words);++$i){
              
          $wrdc+=count($words[$i]);
              for(
          $j=0;$j<count($words[$i]);++$j)
                  
          $tmp[]=$words[$i][$j];
          }

          print(
          "--------------<br><b>Häufigkeit von Wörtern:</b><br>--------------<br>");

          // benutze array_count_values für die berechnung der vorkommnisse einzelner worte
          $cntval array_count_values($tmp);
          while(list(
          $k,$v)=each($cntval))
                    
          printf("<b style='color:red'>'%s'</b> kommt %d mal vor.<br>",$k,$v);

          // anzahl aller wörter    
          printf("---------------<br><b>Wörter insgesamt:</b> %d",$wrdc);

          mysql_close($link);

          ?>
          Zuletzt geändert von beebob; 03.09.2002, 02:04.

          Kommentar


          • #6
            hm danke erstmal, aber irgendwie komme ich nicht weiter:

            Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\appserv\www\tutorial\tmp18190bpe5.php on line 4

            Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\tutorial\tmp18190bpe5.php on line 8
            Tabellen:
            ----------------
            ----------------
            Inhalt der Felder:
            ---------------
            --------------
            Häufigkeit von Wörtern:
            --------------

            Warning: Argument to array_count_values() should be an array in c:\appserv\www\tutorial\tmp18190bpe5.php on line 50

            Warning: Variable passed to each() is not an array or object in c:\appserv\www\tutorial\tmp18190bpe5.php on line 51
            ---------------
            Wörter insgesamt: 0

            wäre nett wenn du mir helfen könntest, vielen dank
            <<<-----newbie na und???

            Kommentar


            • #7
              $db = "Dein Datenbankname"

              steht das noch auf 'all', oder haste die zu durchsuchende db korrekt angegeben?
              stimmen deine datenbank-verbindungsdaten?
              Zuletzt geändert von beebob; 03.09.2002, 16:50.

              Kommentar


              • #8
                ich hatte mich tarächlich vertipt LOL aber jetzt bin ich auch nicht viel weiter:
                Tabellen:
                ----------------


                ----------------
                Inhalt der Felder:
                ---------------

                Warning: Unable to save MySQL query result in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 21

                Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 22

                Warning: Bad arguments to implode() in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 26

                Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 28

                Warning: Unable to save MySQL query result in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 21

                Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 22

                Warning: Bad arguments to implode() in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 26

                Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 28
                --------------
                Häufigkeit von Wörtern:
                --------------

                Warning: Argument to array_count_values() should be an array in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 51

                Warning: Variable passed to each() is not an array or object in c:\appserv\www\tutorial\tmp1cislbyzq.php on line 52
                ---------------
                Wörter insgesamt: 0

                irgendwie check ic das nicht....
                <<<-----newbie na und???

                Kommentar

                Lädt...
                X