nix sortierung

stragri

Mitglied
Hallo,
wie kann man die Ausgabe sortieren?

PHP:
$such =$_POST[such];
$fp = fopen('dvd.txt', 'r'); 
if (!fp) 
{ 
    echo 'Fehler: konnte Textdatei nicht öffnen<br>'; 
    exit; 
} 
while ( ! feof($fp ) ) 
{ 
    $zeile = fgets($fp);
    $teile = explode('|', $zeile); 
    if ($such == trim($teile[1])) 
{
echo $teile[0] .'<br>';
}}

Besten Dank im vorraus.

Gruß Guido
 
Sorry,

die Datei ist so aufgebaut:



Filmtitel | Kategorie | FSK usw.

Durch $such kommt z.B. die Kategorie "Action". Jetzt werden alle Filme der Kategorie "Action" zwar ausgegeben, leider unsortiert.

Frage: Wie kann man die Ausgabe sortieren?


Besten Dank
 
die Datei kann nicht sortiert werden

also nimmste am besten "File" und liest die ganze Datei in ein PHP Array ein
und dann über z.B "usort" wird dann Sortiert und erst dann ausgegeben
 
Hallo an alle,

habs hinbekommen.

PHP:
$such =$_POST[such];
$fp = file("dvd.txt"); 
$anzahl = count ($fp);
sort ($fp);
for ($i = 1; $i <= $anzahl ; $i++)
{
$zeile = $fp[$i-1];
$teilen = explode ("|",$zeile);
    if ($such == trim($teilen[1])) 
{
echo $teilen[0] ."<br>";
}}
 
Hallo an alle,

doch noch nicht fertig.
Kann mir vielleicht jemand einen Tipp geben, wie man die Ausgabeanzahl auf z.B.5 beschränkt un dann eien neue Seite anfängt?

Vielleicht mit einer Blätterfunktion?
 
Leider hilft das nicht wirklich. :(

Ich filtere die txt mit folgendem Skript:

PHP:
$such =$_POST[such];
$fp = file("dvd.txt"); 
$anzahl = count ($fp);
sort ($fp);
for ($i = 1; $i <= $anzahl ; $i++)
{
$zeile = $fp[$i-1];
$teilen = explode ("|",$zeile);
    if ($such == trim($teilen[1])) 
{
echo $teilen[0] ."<br>";
}}
und das klappt. :)
Als Ergebnis erhalte z.B 5 Einträge.

Jetzt möchte ich, wenn die Anzahl der Eintäge höher 5 ist Blättern.

Ich habe ein funktionierendes Blätterskript:

PHP:
$seitenanzahl = 10; 

$inhalt = file("dvd.txt"); 
$anzahl = count($inhalt); 
sort($inhalt);
$show = intval($anzahl/$seitenanzahl);
$neuereintrag = $eintrag*$seitenanzahl; 
$wieviele = $neuereintrag + $seitenanzahl ; 
for($i = $neuereintrag; $i < $wieviele; $i++){
    $wahl = explode("|",$inhalt[$i]);  
echo("$wahl[0]<br>");
 }
for ($i = 0; $i <= $show; $i++){ 
$seite = ($i); 
$eintrag_zeige = $i + 1; 
echo "<a href=\"test suche.php?eintrag=$seite\"> [$eintrag_zeige]</a>"; 
}

Jetzt das Problem:

Wie kann ich erst die txt filtern (z.B. mit dem ersten Skript) und bei einer Ausgabe von mehr wie 5 Datenzeilen Blättern (z.B. mit dem zweiten Skript):
Ich kann diese beiden Skripte nicht miteinander verbinden.
 
Zurück