php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.11.2004, 19:06  
Gast
 
Beiträge: n/a
Standard sortieren

ich habe ein kleines problem!
leider habe ich auf meinem server kein sql und ich brauchs eigentlich auch nicht für diesen zweck, darum lade ich alles aus einer textdatei, in der die variablen durch ||| getrennt sind. jetzt möchte ich die einträge nach nachnamen ($name2 ) sortieren, habe mit sort schon probiert, funktioniert aber nicht kann mir jemand weiterhelfen?

PHP-Code:
<?
    
// Liste auslesen
    
$datei fopen("liste.txt""r");
    
$file file("liste.txt");
    
sessid=$sess&id=";
                echo "
<html>
<
head>
<
title>Untitled Document</title>
</
head>
<
body bgcolor="#FFFFFF\" text=\"#000000\">
<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
;
        foreach (
$file as $k=>$v) {
        
$data=explode("|||",$v);
        
$name htmlentities(stripslashes($data[1]));
        
$name2 htmlentities(stripslashes($data[2]));
        
$country htmlentities(stripslashes($data[3]));
        
$city htmlentities(stripslashes($data[4]));
        
$status htmlentities(stripslashes($data[5]));
        
// Ausgabe
        
$size sizeof($file)-$k;
        echo 
"<tr>
    <td>

<a href=\"$link"
.$data[0]."\"><span class=\"blackbold\">$name</span> $name2</a></p>
      </td>
    <td>

$country</p>
      </td>
    <td>

$city</p>
      </td>
    <td>


$status</p>
      </td>
  </tr>"
;
    }                
    echo 
"
</table>


<a href=\"javascript:history.back();\">zur&uuml;ck</a></p>
</body>
</html>

"
;
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.11.2004, 19:29  
Gast
 
Beiträge: n/a
Standard

Um eine der PHP-Sortierfunktionen zu verwenden muss der ganze Krempel erstmal in nen Array, dabei kann man name2 gleich als Key verwenden:

foreach ($file as $v) { $teile=explode("|||",$v); $kappes[$teile[2]]=$teile; }

In $teile[2] ist ja jeweils dein name2. Und dann das Ganze mit ksort($teile); nach den Keys (und damit nach name2) sortieren. Danach kannst du den Rotz wie gewohnt mit nem foreach ausgeben.

Wolfgang
http://www.zackbagga.com
 
Alt 04.12.2004, 18:30  
Gast
 
Beiträge: n/a
Standard

ich weiß nicht wo ich das sort setzten muss??
 
Alt 05.12.2004, 01:01  
Gast
 
Beiträge: n/a
Standard

Direkt nach dem foreach (das sollte sort($kappes) heissen, Schreibfehler, sorry).

Wolfgang
 
Alt 05.12.2004, 10:35  
Gast
 
Beiträge: n/a
Standard

es funktioniert aber noch nicht habe jetzt folgendes skript:
PHP-Code:
<? 
    
// Liste auslesen 
    
$datei fopen("liste.txt""r"); 
    
$file file("liste.txt"); 
                echo 
"<html> 
<head> 
<title>Untitled Document</title> 
</head> 
<body bgcolor="
#FFFFFF\" text=\"#000000\"> 
<table width="100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
// Ab hier habe ich abgeänder!
        
foreach ($file as $v) { 
               
$teile =explode("|||",$v);
               
$kappes[$teile[2]]=$teile//} 
    
sort($kappes);
    
$name htmlentities(stripslashes($teile[1]));
    
$name2 htmlentities(stripslashes($teile[2]));
    
$country htmlentities(stripslashes($teile[3]));
    
$city htmlentities(stripslashes($teile[4]));
    
$status htmlentities(stripslashes($teile[5]));
        
// Ausgabe 
        
$size sizeof($file)-$k
        echo 
"<tr> 
    <td>

<a href=\"$link"
.$data[0]."\"><span class=\"blackbold\">$name</span> $name2</a></p> 
      </td> 
    <td>

$country</p> 
      </td> 
    <td>

$city</p> 
      </td> 
    <td> 


$status</p> 
      </td> 
  </tr>"

    }                 
    echo 

</table> 


<a href=\"javascript:history.back();\">zur&uuml;ck</a></p> 
</body> 
</html> 

"

?>
 
Alt 05.12.2004, 17:38  
Gast
 
Beiträge: n/a
Standard

Du brauchst 2 Schleifen, eine die sortiert, und eine die ausgibt, weil das Zeug ja vor der Ausgabe vollständig sortiert sein muss. Einfach den Code wild zusammen mischen ohne selbst mitzudenken klappt nicht

Wolfgang
 
Alt 05.12.2004, 18:42  
Gast
 
Beiträge: n/a
Standard

werde es probieren, bin nur im studiumstress und sollte es schnell daneben machen daher hab ichs so probiert!
 
Alt 08.12.2004, 19:42  
Gast
 
Beiträge: n/a
Standard

ich komme da einfachnicht weiter, keine ahnung wie ich das zusammenstückeln muss, muss das ausgabeforeach in das sortforeach hinein??
kannst du mir das nicht richtigstellen!

PHP-Code:
foreach ($file as $v) { 
                
$teile=explode("|||",$v);
    
$kappes[$teile[2]]=$teile; } 
    
sort($kappes);
    foreach (
$file as $k=>$v) {
    
$data=explode("|||",$v);
    
$name htmlentities(stripslashes($data[1]));
    
$name2 htmlentities(stripslashes($data[2]));
    
$country htmlentities(stripslashes($data[3]));
    
$city htmlentities(stripslashes($data[4]));
    
$status htmlentities(stripslashes($data[5])); 
muss ich dann statt $data[1] und so $kappes[1] nehmen??
 
Alt 08.12.2004, 20:32  
Gast
 
Beiträge: n/a
Standard

Tausch das sort durch ksort (der Name wonach du sortieren willst ist ja der Key des $kappes Arrays. Und dann bei der Ausgabe-Schleife natürlich $kappes statt das unsortierte $file ausgeben.

Wolfgang
 
Alt 08.12.2004, 22:25  
Gast
 
Beiträge: n/a
Standard

muss ich foreach ($kappes as $k=>$v) statt foreach($file... schreiben, weil es funktioniert so auch noch nicht!
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Array nach mehreren Feldern sortieren Marcel1 PHP Tipps 2008 4 04.06.2008 05:09
Problem mit sortieren Cirrha PHP Tipps 2008 11 19.01.2008 23:05
Daten aus XML sortieren GSJLink HTML, Usability und Barrierefreiheit 13 09.12.2007 18:24
Nach Datum sortieren zoro Datenbanken 9 28.11.2007 14:00
Array nach bestimmter Spalte sortieren GELight PHP Tipps 2006 4 19.08.2006 23:42
DECIMAL lässt sich nicht mit ORDER BY sortieren buggybugga Datenbanken 4 07.07.2006 15:43
Sortieren "ORDER BY" ?? Cyrus Datenbanken 11 30.10.2005 11:12
Nach 2 Spalten sortieren Datenbanken 2 10.07.2005 23:36
Problem beim Sortieren PHP Tipps 2005-2 5 29.06.2005 07:00
multidim Array nach Inhalt und Key sortieren PHP Tipps 2005 1 20.05.2005 16:22
Termine sortieren Tschuu PHP Tipps 2005 12 18.05.2005 21:15
Array mit Gruppen: Wie Sortieren PHP Tipps 2005 2 29.01.2005 15:15
Inhalt einer datei Sortieren ???? PHP Tipps 2004 12 21.06.2004 22:56
Sortieren nach Timestamp Datenbanken 5 01.06.2004 16:04


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.