Daten einer Tabele vergleichen

Emuhe

Grünschnabel
Halo PhP`ler
ich habe ein Script , womit ich Zeiten (zb. 23:12:01) in einer DB ablege .
Nun möchte ich alle Zeiten in der spalte "zeit" miteinander vergleichen lassen und errechnen lassen , welches die häufugste zeit ist (Minuten und Sekunden spielen hierbei keine Rolle ), die hier eingetragen ist und die häufigste zeit anzeigen lassen .
Nur habe ich keine Ahnung , wie ich die Zeiten vergleichen lassen kann .
Hat jemand eine Ahnung wie man das anstellt ?

Gruß

Emuhe
 
Hmm ich versuchs erstma zu erklären und dann mal zu programmieren. :) Also du musst jedes Feld eines Arrays mit jedem vergleichen. Dazu musst du 2 for-schleifen ineinanderschachteln. Die erste for-schleife gibt z.b. den ersten Wert des Arrays an und die zweite vergleicht dann alle Werte aus dem Array mit dem ersten. Ich hoffe ich hab das nich zu kompliziert ausgedrückt. So und jetzt mal schnell nen Stückchen Code.

PHP:
$ende = count($array); // Zählt die Feler im Array, damit die for-schleife ein Ende hat

for($i = 0; $i <= $ende; $i++)
{
      for($j = 0; $j <= $ende; $j++)
      {
           if(substr($array[$i],0,2) == substr($array[$j],0,2) && $i != $j) //gleicht die Inhalte ab und schließt dabei die selben Felder aus
           {
                  if(array_key_exists(substr($array[$i],0,2), $array1))  //Prüft ob Key im Array schon existiert
                  {
                      $array1[substr($array[$i],0,2)] +=1; //Addiert auf vorhandenes Feld eins drauf
                  }
                  else
                  {
                      $array1[substr($array[$i],0,2)] =1; //schreibt in neuem Array einen weiteren Key, der der gesuchten Uhrzeit entspricht
                  }
           }
      }
}

Ausgabe kannste dann so ungefähr machen

PHP:
foreach($array1 as $key=>$values)
{
    echo "Die Uhrzeit ".$key." Uhr ist ".$values." mal vorhanden.".<br />
}

Ich hoffe alles stimmt so weit, ansonsten bitte ich um Verbesserungen
 
Zuletzt bearbeitet:
ok , das habe ich verstanden , aber woher weiss das Script , welches Array er durchsuchen soll , denn in der Tabelle sind noch weiter (Name und Coordinate drin )
Also denke ich , muss ich dem Script doch zuweisen , welches Array er durchsuchen soll oder nicht ?

Hier mal das Onlinescript :

http://www.my-kiki.de/test2/sections/oz.php

Gruß

Emuhe
 
Also du kannst das ja folgendermaßen machen

PHP:
$sql = "SELECT * FROM tabelle";
$zeiger = mysql_query($sql);
$ergebnis = mysql_fetch_array($zeiger);

In dem Array ergebnis sind dann die Daten aus der Datenbank sowohl über einen assoziativen Key, also Name,Coordinate und Zeit, ansprechbar, aber auch über Zahlen, wie halt 0,1,2,3 ... ansprechbar, wenn ich mich jetz nich irre. Somit kannst du über die Assoziation und über die Zahlen einen Datensatz ansprechen. Das Problem dabei ist glaub ich nur, dass dann die 0 zum Beispiel die Zeit ist, die 1 die Koordinate zu dem Datensatz und die 2 der Name zu dem Datensatz ist. Das bedeutet du darfst die Zählvariablen nicht um eins erhöher, sondern um 3 und musst eventuell auch mit einem anderen Wert beginnen, anstatt mit 0.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück