SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.06.2005, 04:36:58
Max_04 Max_04 ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 43
Tabelle per Klick sortieren

Hallo Leute.

Alle Suche und experimentieren hat nichts geholfen. Vermutlich sehe ich den Wald vor lauter Bäumen nicht.
Ich hab folgendes Prob.

Ich lasse per php eine Tabelle dynamisch generieren.
Die Daten für die Tabelle werden in txt-Dateien abgelegt. D.h. sie kommen nicht
aus einer Datenbank. Für jede Zeile wird eine einzelne Datei angelegt.

Jetzt mein Problem, die Zeilen der Tabelle werden erst mal nach ihrem eingabealter
aufgelistet. Also die zu letzt eingegebenen Daten werden als erste Zeile (nach der kopfzeile die fest besteht) ausgegeben.
Will ich aber nicht. Die Tabelle soll zum Beispiel nach Spalte 4 sortiert angezeigt werden.
Und zum anderen möchte ich diese dann mit Klick auf die Spaltenüberschrift nach der entsprechenden Spalte sortieren lassen. Ein neu Laden der Seite ist dabei akzeptabel.

So sieht das ganze aus bis jetzt aus: (ohne Sortierexperiment)
PHP-Code:
<body>
<div align="center"> 
  <p class="Ueberscrift">Mitgliederverzeichnis</p>
  <table align="center" cellpadding="0" class="TabelleVerzeichnis" id="table0">
    <tr> 
      <td width="130" height="30" class="Tabellenueberschrift"> <div align="center">Name</div></td>
      <td width="80" height="30" class="Tabellenueberschrift"> <div align="center">Vorname</div></td>
      <td width="80" height="30" class="Tabellenueberschrift"> <div align="center">Codename</div></td>
      <td width="60" class="Tabellenueberschrift"> <div align="center">Bereich</div></td>
      <td width="60" height="30" class="Tabellenueberschrift"> <div align="center">Email</div></td>
      <td width="110" height="30" class="Tabellenueberschrift"> <div align="center">Handy</div></td>
      <td width="80" height="30" class="Tabellenueberschrift"> <div align="center">Status</div></td>
      <td width="60" height="30" class="Tabellenueberschrift"> <div align="center">Zugang</div></td>
      <td width="90" height="30" class="Tabellenueberschrift"> <div align="center">Mitglied 
          seit</div></td>
    </tr>
    <?php
require ('config.php');
$dateianzahl=fopen("news_kommentare/anza.hl","r");
$anzahly=intval(fgets($dateianzahl,10000));
fclose($dateianzahl);

$dateianzahl=fopen("artikel/anza.hl","r");
$anzahl=intval(fgets($dateianzahl,10000));

$readin=array();

$x=0;
for(
$i=$anzahl;$i>-1;$i--) {
    
$k=0;
    if(
file_exists("artikel/".$i.".atk")){
        for(
$y=$anzahly;$y>-1;$y--) {
            if(
file_exists("news_kommentare/".$i."_".$y.".atk"))$k++;
        }

        
//$commentanzahl=$k;
        
include "artikel/".$i.".atk";
        
$readin[$x][]=stripslashes($usname);
        
$readin[$x][]=stripslashes($usvorname);        
        
$readin[$x][]=stripslashes($uscode);
        
$readin[$x][]=stripslashes($usbereich);
        
$readin[$x][]=stripslashes($usemail);
        
$readin[$x][]=stripslashes($ushandy);
        
$readin[$x][]=stripslashes($usstatusaktiv);
        
$readin[$x][]=stripslashes($usstatusinaktiv);
        
$readin[$x][]=stripslashes($usstatusunklar);
        
$readin[$x][]=stripslashes($usstatusaus);
        
$readin[$x][]=stripslashes($usstatusgek);        
        
$readin[$x][]=stripslashes($uszugangja);
        
$readin[$x][]=stripslashes($uszugangnein);
        
$readin[$x][]=stripslashes($usseit);
        
$readin[$x][]=$i;
        
$readin[$x][]=$k;
        
$x++;
    }
}

if(isset(
$_GET['page'])) $page=intval($_GET['page']);
else 
$page=0;

for(
$x=($page)*$perpage;$x<(($page)*$perpage+$perpage) && $x<sizeof($readin);$x++){
    
$usname=$readin[$x][0];
    
$usvorname=$readin[$x][1];
    
$uscode=$readin[$x][2];
    
$usbereich=$readin[$x][3];
    
$usemail=$readin[$x][4];
    
$ushandy=$readin[$x][5];
    
$usstatusaktiv=$readin[$x][6];
    
$usstatusinaktiv=$readin[$x][7];
    
$usstatusunklar=$readin[$x][8];
    
$usstatusaus=$readin[$x][9];
    
$usstatusgek=$readin[$x][10];
    
$uszugangja=$readin[$x][11];
    
$uszugangnein=$readin[$x][12];
    
$usseit=$readin[$x][13];
    
$i=$readin[$x][14];
    include 
"template_index.php";

}
?>
</table>
  <p>V = Vorstand<br>
    M = Mitglied</p>
</div>
<? echo $menu; ?>
</body>
Ich weiß das es da funktionen wie "sort" "nasort" usw. gibt. Komme aber irgendwie nich richtig klar damit. Hab sicherlich en Denkfehler drin.
Danke schon mal für Eure Hilfe.
Mit Zitat antworten
  #2  
Alt 16.06.2005, 08:11:43
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Tabelle per Klick sortieren

> Hab sicherlich en Denkfehler drin.

Ich verstehe ehrlich gesagt nicht, warum Du für sowas keine SQL-Datenbank verwendest, die sowas bestens mit einer Anweisung erledigt.
Mit Zitat antworten
  #3  
Alt 16.06.2005, 09:30:35
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
AW: Tabelle per Klick sortieren

Wenn Du mit JavaScript spielen darfst, dann wäre das was:
--> http://webfx.eae.net/dhtml/tablesort/tablesort.html

Ansonsten ist MySQL natürlich die einzig wahre Lösung.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #4  
Alt 16.06.2005, 11:52:32
vestine vestine ist offline
Anfänger
 
Registriert seit: Jun 2005
Ort: Haan
Alter: 38
Beiträge: 24
AW: Tabelle per Klick sortieren

Hallo,
für dein Fall wäre vielleicht die Funktion Array-Multisort interessant
__________________
Hallo ;-)

Geändert von vestine (16.06.2005 um 11:52:49 Uhr)
Mit Zitat antworten
  #5  
Alt 16.06.2005, 16:20:22
Max_04 Max_04 ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 43
AW: Tabelle per Klick sortieren

Ok, hab es jetzt mit "sort" bzw "rsort" hinbekommen.

PHP-Code:
$readin=array();

$x=0;
for(
$i=$anzahl;$i>-1;$i--) {
    
$k=0;
    if(
file_exists("artikel/".$i.".atk")){
        for(
$y=$anzahly;$y>-1;$y--) {
            if(
file_exists("news_kommentare/".$i."_".$y.".atk"))$k++;
        }

        
//$commentanzahl=$k;
        
include "artikel/".$i.".atk";
        
$readin[$x][]=stripslashes($usname);
        
$readin[$x][]=stripslashes($usvorname);        
        
$readin[$x][]=stripslashes($uscode);
        
$readin[$x][]=stripslashes($usbereich);
        
$readin[$x][]=stripslashes($usemail);
        
$readin[$x][]=stripslashes($ushandy);
        
$readin[$x][]=stripslashes($usstatusaktiv);
        
$readin[$x][]=stripslashes($usstatusinaktiv);
        
$readin[$x][]=stripslashes($usstatusunklar);
        
$readin[$x][]=stripslashes($usstatusaus);
        
$readin[$x][]=stripslashes($usstatusgek);        
        
$readin[$x][]=stripslashes($uszugangja);
        
$readin[$x][]=stripslashes($uszugangnein);
        
$readin[$x][]=stripslashes($usseit);
        
$readin[$x][]=$i;
        
$readin[$x][]=$k;
        
$x++;
    }
}

if(isset(
$_GET['page'])) $page=intval($_GET['page']);
else 
$page=0;
sort ($readin);


for(
$x=($page)*$perpage;$x<(($page)*$perpage+$perpage) && $x<sizeof($readin);$x++){
    
$usname=$readin[$x][0];
    
$usvorname=$readin[$x][1];
    
$uscode=$readin[$x][2];
    
$usbereich=$readin[$x][3];
    
$usemail=$readin[$x][4];
    
$ushandy=$readin[$x][5];
    
$usstatusaktiv=$readin[$x][6];
    
$usstatusinaktiv=$readin[$x][7];
    
$usstatusunklar=$readin[$x][8];
    
$usstatusaus=$readin[$x][9];
    
$usstatusgek=$readin[$x][10];
    
$uszugangja=$readin[$x][11];
    
$uszugangnein=$readin[$x][12];
    
$usseit=$readin[$x][13];
    
$i=$readin[$x][14];
    include 
"template_index.php"
Trotzdem noch zwei Probleme.
Wenn ich die Funktion "sort" aufrufe sortiert er grundsätzlich nach dem ersten

PHP-Code:
$readin[$x][]=stripslashes($usname); 
was in der Liste steht.
Wie muß ich es anstellen, das er z.B. nach

PHP-Code:
$readin[$x][]=stripslashes($usbereich); 
sortiert? Was hier
PHP-Code:
        include "artikel/".$i.".atk";
        
$readin[$x][]=stripslashes($usname);
        
$readin[$x][]=stripslashes($usvorname);        
        
$readin[$x][]=stripslashes($uscode);
        
$readin[$x][]=stripslashes($usbereich);
        
$readin[$x][]=stripslashes($usemail);
        
$readin[$x][]=stripslashes($ushandy);
        
$readin[$x][]=stripslashes($usstatusaktiv);
        
$readin[$x][]=stripslashes($usstatusinaktiv);
        
$readin[$x][]=stripslashes($usstatusunklar);
        
$readin[$x][]=stripslashes($usstatusaus);
        
$readin[$x][]=stripslashes($usstatusgek);        
        
$readin[$x][]=stripslashes($uszugangja);
        
$readin[$x][]=stripslashes($uszugangnein);
        
$readin[$x][]=stripslashes($usseit);
        
$readin[$x][]=$i;
        
$readin[$x][]=$k;
        
$x++; 
weiter unten steht
Und, wie kann ich es anstellen, das ich die Sortierung interaktiv steuern lassen kann.
Zu gut deutsch, Mit Klick auf die Überschrift sortiert er die Spalte. Wie lautet denn dann der Aufruf. Ich kann ja nicht für alle Spalten ne eigene index.php erstellen. Oder muß ich das?

@c4 ich wollte eigentlich JavaScrip hier raus halten, zum anderen blicke ich bei den Script nicht ganz durch.
Mit Zitat antworten
  #6  
Alt 16.06.2005, 16:22:35
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
AW: Tabelle per Klick sortieren

Überlass die Sortierung einfach MySQL. Das geht schneller, macht schöneren Code, wartet sich einfacher und ist am vernünftigsten!
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #7  
Alt 16.06.2005, 17:52:07
Max_04 Max_04 ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 43
AW: Tabelle per Klick sortieren

@c4
Jo, glaub ich Dir. Das Prob. mit sql-Datenbanken kenne ich mich noch nicht so aus.
Bin froh, das ich diesen code zum laufen gebracht habe.
Ne Datenbank steht mir zwar zur Verfügung, wie ich da was einfüge und anlege is auch klar, nur die Interaktion dann mit der php-Datei, da haperts.
Zum anderen will ich diese Code weiter verwenden.
Habe mehrere html-Seiten mit Tabellen mit jeweils fast 100-200 Zeilen mit Daten. Die alle in ne sql-Datenb. zu übertragen, nö... das is Irrsinn.
Aus ner html ne text-datei zu machen und nur die Daten die ich brauch rauszuselektieren ist einfacher.
Mit Zitat antworten
  #8  
Alt 17.06.2005, 05:20:50
Max_04 Max_04 ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 43
AW: Tabelle per Klick sortieren

Ok, das mit dem Multisort ist nicht ganz das ware für mein Zwecke.
Ich hab nen JS eingedunden.

http://webfx.eae.net/dhtml/tablesort/tablesort.html

Funktioniert supi.

@c4
Trotzdem Danke für den Tip mit der sql-Dat.
Vielleicht steig ich irgendwann mal um ;-)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Nach Bewertung sortieren ProGamer11 PHP für Fortgeschrittene und Experten 2 03.02.2005 18:19:15
Popupfenster und sortieren nach ID Geordi PHP Grundlagen 9 18.08.2004 19:28:07
auto_increment zuückgeben oder Tabelle sperren -TC- MySQLi/PDO/(MySQL) 2 17.08.2004 14:55:54
SQL-Result Tabelle sortieren StefanGe PHP Grundlagen 1 10.11.2003 01:17:35
MySQL - tabelle in tabelle Gweilo PHP für Fortgeschrittene und Experten 4 09.11.2002 19:41:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:47:34 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt