Ergebnis 1 bis 4 von 4

Thema: [MySQL] absteigendes sortieren von einer bestimmten Anzahl Datensätze

  1. #1
    Registered User
    Registriert seit
    Apr 2001
    Beiträge
    449
    Renommee
    95

    problem für ausgabe

    also mein problem ist:

    ich habe eine mysql-tabelle die so aussieht

    -----------------------------------
    | datum | user_id | ex_id |
    |(datetime)| (int) | (int) |
    -----------------------------------

    darin befinden sich in jedem datensatz die zeit wann jemand eine übung besucht hat, die id des users, der die übung besucht hat und die id der übung die er besucht hat.

    jetzt muss ich daraus statistiken machen.
    wie kann ich die anzahl der datensätze (mit einer bestimmten user_id) und diese user_id ausgeben lassen, alles sortiert nach der anzahl dieser datensätze absteigent.

    und am liebsten wäre es mir wenn das nachher alles schön so in einem array ist (PHP):

    $stats[x][y][user_id]

    x läuft durch von 0 bis ... und dabei wird y immer kleiner denn das soll die anzahl der datensätze mit deiner bestimmten user_id sein.

  2. #2
    Member
    Registriert seit
    Jul 2001
    Beiträge
    177
    Renommee
    10
    Code:
    <?php
    				
    echo "<table border=\"0\">\n<tr>\n";
    echo "<td>Datum:</td>\n";
    echo "<td>User:</td>\n";
    echo "<td>Uebung:</td>\n</tr>\n";
    
    
    $connect = "mysql_connect('$user','$pass','$db')";
    mysql_select_db('$dbname','$connect');
    
    	$auslese = mysql_query("SELECT user_id FROM $tabelle");
    
    		while ('$userid = mysql_fetch_array($auslese)')
    		{
    
    			$auslesen = mysql_query("SELECT * FROM $tabelle WHERE userid='$userid' order by datum ASC);
    			$anzahl = mysql_num_rows($auslesen);
    			echo "<tr>\n<td colspan=\"3\">".$userid.", Anzahl der Übungen: ".$anzahl."</td>\n</tr>\n";
    				while ('$ausgabe = mysql_fetch_array($auslesen)')
    				{
    				$ausgabe['0'] -> $datum;
    				$ausgabe['1'] -> $user_id;
    				$ausgabe['2'] -> $ex_id;
    				
    				echo "<tr>\n<td>".$datum."</td>\n";
    				echo "<td>".$user_id."</td>\n";
    				echo "<td>".$ex_id."</td>\n</tr>\n";
    				}
    		}
    mysql_close;
    echo "</table>";
    ?>
    angaben ohne gewähr net getestet nix
    sowas in der art ?? habs shcon lang nimmer gemacht


    ohh mir fällt grad auf das zählen vorher fehlt. Naja wirst shcon drauf kommen *g*
    Geändert von BuDDh4 (24.03.2002 um 19:50 Uhr)

  3. #3
    Member
    Registriert seit
    Oct 2000
    Beiträge
    537
    Renommee
    10
    ganz einfach:

    Code:
    SELECT count(*) as anzahl,user_id FROM `test` group by user_id
    wirklich reich sind die, die mehr träume haben als die realität zerstören kann

    http://pgp.mit.edu:11371/pks/lookup?...Cano2&op=index

  4. #4
    Registered User
    Registriert seit
    Apr 2001
    Beiträge
    449
    Renommee
    95
    ich glaubs net. ich bin soooooo dooooof.

    cano du bist mein gott. danke danke


    ich könnt mir mal wieder kräftig in den arsch beißen:



    Code:
    <?php
                                        $table_ids = mysql_query("select distinct user_id from ite_ex_visits;", $db);
                                        
                                        $anzahl = 0;
                                        
                                        while($anzahl < mysql_num_rows($table_ids))
                                        {
                                            $daten_id = mysql_fetch_array($table_ids, MYSQL_ASSOC);
                                            $id{$anzahl} = (int)$daten_id[user_id];   //beim ersten durchlauf tuts dann nemme
                                            $anzahl++;
                                        }
                                        
                                        $anzahl = 0;
                                        while($anzahl < count($id))
                                        {
                                            $table_zahl = mysql_query("select count(*) as zahl from ite_ex_visits where user_id = \"".$id{$anzahl}."\";", $db);
                                            $daten_zahl = mysql_fetch_array($table_zahl, MYSQL_ASSOC);
                                            $table_name = mysql_query("select name from ite_users where id = \"".$id{$anzahl}."\";", $db);
                                            $daten_name = mysql_fetch_array($table_name, MYSQL_ASSOC);
                                            $stat[$anzahl][0] = $daten_name[name];
                                            $stat[$anzahl][1] = $daten_zahl[zahl];
                                            $anzahl++;
                                            echo $stat[$anzahl][0]."(".$stat[$anzahl][1].")<br>";
                                        }//ok $stat[...][0] = name des typs und $stat[...][1] = wieviele exs er gemacht hat, nur noch sortieren
                                        
                                        /*
                                        $anzahl = -1;
                                        $zahl = 0;
                                        while(count($stat) != 0)
                                        {
                                            $anzahl++;
                                            if($anzahl > count($stat))
                                            {
                                                $anzahl = 0;
                                            }
                                            if(isset($stat[$anzahl]) && !(isset($max)))
                                            {
                                                 $max = $stat[$anzahl];
                                            }
                                            else
                                            {
                                                break;
                                            }
                                            
                                            $i = 0;
                                            while($i < count($stat))
                                            {
                                                 if($max < $stat[$i][1])
                                                 {
                                                      unset($max);
                                                 }
                                                 $i++;
                                                 if($i == count($stat))
                                                 {
                                                     $statistics[$zahl] = $max;
                                                     unset($max);
                                                 }
                                            }
                                        }
                                        
                                        $anzahl = 0;
                                        while($anzahl > count($statistics))
                                        {
                                            echo $statistics[$anzahl]."<br>";
                                        }
                                        */
                                   ?>
    nix gut das da

    vielleicht sollte ich mal gscheit mysql lernen

    <edit>und ich könnt mir noch viel mehr in den arsch beißen wenn ich sehe dass ich immernoch zu blöd bin das syntaxs highlighting zu nutzen</edit>

    [rot]//Kann ich auch nicht - Dann eben code - Tags [/rot]
    Geändert von solanum (25.03.2002 um 07:44 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. mysql: Datensätze zählen
    Von Movergan im Forum Datenbanken
    Antworten: 8
    Letzter Beitrag: 08.02.2005, 09:05
  2. [php + mysql] Datensätze nach ID sortieren????
    Von NuK3 im Forum PHP, Perl und ASP
    Antworten: 5
    Letzter Beitrag: 05.08.2002, 15:57
  3. [MySQL] Anzahl an Zeilen einer Tabelle auslesen
    Von PsychoSchlumpf im Forum PHP, Perl und ASP
    Antworten: 9
    Letzter Beitrag: 20.07.2002, 11:55
  4. Datensätze sortieren?
    Von Xion im Forum VisualBasic / VBScript
    Antworten: 3
    Letzter Beitrag: 25.05.2002, 18:25
  5. Antworten: 2
    Letzter Beitrag: 29.07.2001, 09:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •