Array Problem!

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

  • Array Problem!

    Hi!

    hab nen großes problem mit der funktion array.

    ich lese suchbegriffe aus meiner datenbank (textfeld) aus (format: begriff1, begriff2, begriff3, ... ) z.Zt. sind es 25 Datensätze, welche aber täglich immer weiter steigen.

    jetzt möchte ich in einem pulldown-menü alle begriffe anzeigen lassen, die mehr als 10 mal angegeben wurden.

    wenn ich alles auslese, habe ich folgendes format: array ( [0] => begriff1, begriff2, begriff3 [1] => begriff1, begriff2, begriff3 ... usw. )

    ich wollte ich alles worte trennen und diese dann überprüfen und zählen wie oft das wort vorhanden ist. aber irgendwie bekomme ich das net hin. ich weiß net woran es liegt bzw. was ich falsch machen sollte oder ob ich in eine falsche richtung denke?!

    vielleicht kann mir ja einer von euch helfen??

    gruiß
    profoli

  • #2
    Wenn ich deine Beschreibung recht verstehe, könnte das die Lösung für dein Problem sein:
    PHP-Code:
    <?
    // Testbegriffe in Array
    $suchbegriff_liste = array (
      "Auto","Fahrrad","Stuhl","Auto","Tisch","Fenster","Auto","Fahrrad","Fernseher",
      "Fahrrad","Stuhl","Auto","Fenster","Auto","Fahrrad","Fernseher","Musik","Fenster"
      );

    // Zum Testen nur auf 3 gesetzt
    $min_anzahl = 3;

    // Begriffe in Suchbegriff-Array zählen
    $anzahl_liste = array_count_values($suchbegriff_liste);

    /* Liste mit Anzahl des Vorkommens je Suchbegriff durchsuchen und
       jeder Begriff, der mindestens $min_anzahl mal vorkommt für
       Menü übernehmen */
    while(list($suchbegriff,$anzahl)=each($anzahl_liste))
      if ($anzahl >= 3) $option .= "<option>$suchbegriff</option>\n";
    ?>
    <form>
    Suchbegriffe, die mindestens <?=$min_anzahl ?> mal vorkommen <br>
    <select name="irgendwas">
    <?= $option ?>
    </select>
    </form>
    Hier kannst du diesen Quelltext "in Action" sehen.

    Entscheident bei der Zählerrei ist in dem Fall die Funktion array_count_values
    Immer erst mal gucken, ob Benzin im Tank ist ...

    Kommentar


    • #3
      das script ist fast das, was ich brauche!

      ich habe nur ein mehrdimensionales array, und wenn ich das script von dir richtig verstehe dann muß ich vorher schon die begriffe haben ??

      gruß
      profoli

      Kommentar


      • #4
        poste mal code
        Immer erst mal gucken, ob Benzin im Tank ist ...

        Kommentar


        • #5
          PHP-Code:

          $SeeAll 
          mysql_query"SELECT * FROM bilderdb" );

          $einzeln = array ( "Worte einzeln" );

          $i 1;
              while ( 
          $datensatz mysql_fetch_object$SeeAll ) )
              {
              
          $einzeln[] = $datensatz->stichwoerter;
              
          $i++;
              } 

          und jetzt wollte ich dir ausgabe haben.


          achso, so sieht das array aus:

          Array ( [0] => Worte einzeln [1] => Architektur, architecture, Kirchen, churches, Turm, TŸrme, towers, Charlottenburg, Werbung, advertising, Wirtschaft, economy, economies, Unternehmen, enterprises, company, companies, Wahrzeichen, symbole, landmarks, SehenswŸrdigkeiten, sightseeing, Tourismus, tourism, westcity, West-City, City West, Au§enaufnahmen, outside, exterior shots [2] => Architektur, architecture, Au§enaufnahme, outside, exterior shot, Ausstellungen, exhibitions, GedenkstŠtten, Denkmal, DenkmŠler, memorials, monuments, Kultur, culture, Kreuzberg, Museum, Museen, Menschen, people, Niederkirchnerstra§e, Ruine, ruin, ruins, SehenswŸrdigkeiten, sightseeing [3] => Architektur, architecture, Au§enaufnahmen, outside, exterior shots, Bahnhof, Bahnhšfe, railway stations, railroad stations, train stations, Moabit, precicnt, bahnhšfe,bahnhof,stations,kran,crane,baugerŸst, scaffolding [4] => Demo, Flughafen, Schönefeld ....
          Zuletzt geändert von ; 05.06.2002, 19:35.

          Kommentar


          • #6
            Wenn pro Datensatz die Suchbegriffe mit Komma gerennt sind, dann würde ich alle Datensätze in eine Variable schreiben, ein Array draus machen (am Komma getrennt) und das Zählen ist kein Problem mehr.
            PHP-Code:
            $result mysql_query"SELECT * FROM bilderdb" );
            while ( 
            $row mysql_fetch_array($result) ) $alle .= $row[stichwoerter].",";

            $suchbegriff_liste explode(",",$alle); 
            Immer erst mal gucken, ob Benzin im Tank ist ...

            Kommentar


            • #7
              DANKE !!!

              es funktioniert wie gewünscht !!!

              Kommentar

              Lädt...
              X