php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.09.2005, 21:04  
Benutzer
 
Registriert seit: 05.08.2005
Beiträge: 64
Schubi
Standard CSV Datei rückwärts auslesen

Hi erstmal!

Also ich habe ein Problem und zwar möchte ich in einer CSV Datei Daten abspeichern. Diese Daten sind für meine HP gedacht und beinhalten die News die auf der ersten Siete angezeigt werden. Diese News sollen nun aber nicht nur von mir ergänzt werden können sopndern auch von anderen Usern. Das ist soweit alles kein Problem gewesen, hab

eine Datei zum Eintragen der Daten
eine Datei zum Auswerten der Daten (in CSV schreiben)
und eine Datei zum wiedergeben in einer Tabelle.

Nun habe ich aber das Problem, das ich beim auswerten der Daten aus der CSV Datei die Einträge vom ersten nach dem letzten wieder gebe, das heißt das ich den neuesten Beitrag immer an unterster Stelle wiederfinde.

Das ist ziemlich schlecht wenn man z.B 30 News hat und man immer 5 Seiten nach unten Blättern muss um die neuesten News zu sehen.

Falls ihr wisst wie man die Daten Beispielsweise andersherum auslesen kann oder wiedergeben kann wäre ich sehr dankbar.

(Ach ja und bitte sagt mir nicht das ich MYSQL nehmen soll. Habe keine Datenbank zur Verfügung )^^

MfG

Schubi
Schubi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.09.2005, 21:05  
Gast
 
Beiträge: n/a
Standard

Schreib sie einfach anders herum in die Datei hinein^^
:: Auslesen, neue Daten schreiben, alte Daten schreiben!
 
Alt 11.09.2005, 21:10  
Gast
 
Beiträge: n/a
Standard

würd ich auch sagen.
ansonsten datei in ein array lesen und array_reverse()
(heisst die Funktion so?)
 
Alt 11.09.2005, 21:17  
Benutzer
 
Registriert seit: 05.08.2005
Beiträge: 64
Schubi
Standard

hä wie jetzt?? wenn ich die daten auslese (mit einer schleife) dann kann ich die doch nur in der selben reihenfolge wieder abspeichern oder?
Schubi ist offline  
Alt 11.09.2005, 21:20  
Erfahrener Benutzer
 
Registriert seit: 14.04.2005
Beiträge: 1.004
search
Standard

rsort

(PHP 3, PHP 4, PHP 5)
rsort -- Sortiert ein Array in umgekehrter Reihenfolge
Beschreibung
void rsort ( array array [, int sort_flags] )

Diese Funktion sortiert ein Array in umgekehrter Reihenfolge (vom höchsten zum niedrigsten Wert).
__________________
schlimmer gehts nimmer.... dümmer immer!
search ist offline  
Alt 11.09.2005, 21:29  
Benutzer
 
Registriert seit: 05.08.2005
Beiträge: 64
Schubi
Standard

Geht nicht habe nicht alle Daten in einem array sondern:
z.b.:
Testuser;Testbeitrag;Hallo;11.09.2005;


das ist ein array und das ganze ist dann nen paar mal in einer CSV datei (also habe viele Arrays.
Schubi ist offline  
Alt 11.09.2005, 21:29  
Gast
 
Beiträge: n/a
Standard

Ahja... danke
 
Alt 11.09.2005, 21:31  
Gast
 
Beiträge: n/a
Standard

Zitat:
wenn ich die daten auslese (mit einer schleife) dann kann ich die doch nur in der selben reihenfolge wieder abspeichern oder?
Jap. Das willst Du auch.

Datei öffnen, wie bisher auslesen.
Datei schliessen.
Datei neu öffnen mit Positionszeiger am Anfang (also quasi die Datei löschen).
Neuen Eintrag schreiben.
Alle alten Einträge wie in der Variable "gespeichert" schreiben.
Fertig.
 
Alt 11.09.2005, 21:41  
Benutzer
 
Registriert seit: 05.08.2005
Beiträge: 64
Schubi
Standard

bin ich so blöd oder tu ich nur so ^^
wie jetzt ^^

warte so hab ich das bissher gemacht:

datei zum reinschreiben:


Code:
<?php
echo    "<html>\n";
echo    "  <head>\n";
echo    "   <title>11a</title>\n";
echo    "   <link rel=\"stylesheet\" type=\"text/css\" href=\"styletext.css\" />\n";
echo    "   <meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-1\">\n";
echo    "  </head>\n";
echo    "<body>\n";
  
  
  $name=$HTTP_POST_VARS['name'];
  $eintrag=$HTTP_POST_VARS['eintrag'];
  $thema=$HTTP_POST_VARS['thema'];
  $punkt=".";
  $dpunkt=":";
  $trenner=";";
  
  
  $datum=date(d);
  $datum.=$punkt;
  $datum.=date(m);
  $datum.=$punkt;
  $datum.="20".date(y);
  
   
      
  
  if($name=="Testuser" or $name=="Guest")                   {
  if($eintrag!="" and $thema!="")                 {
  
  $datensatz=$name;
  $datensatz.=$trenner;
  $datensatz.=$thema;
  $datensatz.=$trenner;
  $datensatz.=$eintrag;
  $datensatz.=$trenner;
  $datensatz.=$datum;
  $datensatz.=$trenner;
  $datensatz.=$nummer;
  $datensatz.="\n";
  
  
  
  
  $bol=file_exists("news.csv");
  if($bol)                          {
  $datei=fopen("news.csv","a");
  if($datei)                      {
  $output=fwrite($datei,$datensatz);
  fclose($datei);
 
  echo "<h1>Eintrag gespeichert</h1>
";
  echo "<h1>Du wirst in 3 Sekunden weitergeleitet.</h1>
";
  echo "<h1>Falls dein Browser keine automatische weiterleitung unterst&uuml;tzt, beutze bitte folgenden Link: </h1>
";
  echo "<h1><a href=\"http://www.bullerdieck-schubert.de/Marcel/homepage/index.php\">Startseite 11D</a></h1>
";
  echo "<META HTTP-EQUIV=Refresh CONTENT=\"3; URL=http://www.bullerdieck-schubert.de/Marcel/homepage/index.php\">\n";
  }
  }
  }
  
  else                          {
  if ($eintrag==""){echo "Du hast keinen Eintrag gemacht";}
  else {echo "Du hast kein Thema angegeben";}
  
  }
  }
  
  
  else {
  echo  "Falscher Name";
  }
  
  
  
  
  
  

  
    
echo  "</body>\n";
echo "</html>\n";

?>

Datei zum Auslesen:

Code:
<?php
echo    "<html>\n";
echo    "  <head>\n";
echo    "   <title>11a</title>\n";
echo    "   <link rel=\"stylesheet\" type=\"text/css\" href=\"texte/styletext.css\" />\n";
echo    "   <meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-1\">\n";
echo    "  </head>\n";
echo    "<body>\n";
  
  
  $bol=file_exists("texte/news.csv");
  if ($bol) {
    $datei = fopen("texte/news.csv","r");
    if ($datei) {
      
      $dateigroesse=filesize("texte/news.csv");
      $data = fgetcsv ($datei, $dateigroesse, ";");
     
      
      
      
      while($data!=false)  {
        
        
                      
                    
echo         "<table border=\"0\">\n";
echo     "<colgroup>\n";
echo  "<col width=\"50\">\n";
echo	"<col width=\"75\">\n";
       
echo	"<col width=\"50\">\n";
echo	"<col width=\"284\">\n";

echo	"<col width=\"50\">\n";
echo  "<col width=\"100\">\n";
echo    "</colgroup>\n";
echo   "<tr>\n";
echo      "<td><h1>Autor:</h1></td>\n";
echo      "<td><h2>$data[0]</h2></td>\n";
      
echo      "<td><h1>Thema:</h1></td>\n";
echo      "<td><h2>$data[1]</h2></td>\n";
    
echo      "<td><h1>Datum:</h1></td>\n";
echo      "<td><h2>$data[3]</h2></td>\n";
echo    "</tr>\n";
        
echo "</table>\n";

echo "<table style=\"background-color:#FFFFFF;\">\n";
echo "<colgroup>\n";
echo "<col width=\"609\">\n";
echo "</colgroup>\n";
echo "<tr>\n";
echo "<td><h2>$data[2]</h2></td>\n";
echo "</tr>\n";
echo "</table>\n";
           
           
          
         $data = fgetcsv ($datei, $dateigroesse, ";");
       }
      fclose($datei);
     }
    }
    
    echo    "</body>\n";
echo    "</html>\n";
  ?>

Nehmen wir jetzt mal an ich schreibe einen Beitrag und klicke dann auf "senden". Dann geht dieser Beitrag zuerst in die Datei die die Daten aufnimmt und reinschreibt.

sagen wir mal wir haben 2 daten die dort ind die csv reingeschrieben werden:

Testuser1;Testbeitrag1;Hallo1;11.09.2005;
Testuser2;Testbeitrag2;Hallo2;11.09.2005;

so diese daten werden anhand einer schleife mit der 2ten datei ausgelesen:

Code:
while($data!=false)  {
...
$data = fgetcsv ($datei, $dateigroesse, ";");
       }
so gebe ich die dateien wieder.

wenn ich die nun anstatt sie wiederzugeben nun nochmal in einer csv datei schreibe, dann behalte ich doch aber die gleiche reihenfolge oder habe ich was falsch verstanden?
Schubi ist offline  
Alt 11.09.2005, 21:43  
Gast
 
Beiträge: n/a
Standard

Jetzt liest Du nochmal meinen letzten Post und denkst darüber nach, was ich wohl meinen könnte.
 
 


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
Datei auslesen Joerg80 PHP Tipps 2008 8 26.03.2008 22:18
Werte aus txt Datei auslesen und mit DB Werten abgleichen und ausgeben MatthiasNI PHP-Fortgeschrittene 1 18.02.2008 17:07
XML datei auslesen und in array schreiben PHP Tipps 2006 10 27.09.2006 13:58
Log Datei auslesen Computer PHP Tipps 2006 7 05.09.2006 16:15
txt datei auslesen PHP Tipps 2005-2 18 14.08.2005 18:53
Bestimmte Werte aus cvs Datei auslesen PHP Tipps 2005-2 1 20.06.2005 13:11
Datei auslesen & ausgeben PHP Tipps 2005 5 01.06.2005 19:46
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Datei auslesen ergibt ein Problem Fraylman PHP Tipps 2004-2 4 22.12.2004 10:12
teile einer datei auslesen Fraylman PHP Tipps 2004-2 3 09.12.2004 08:32
bestimmter abschnitt einer datei auslesen PHP Tipps 2004-2 1 08.12.2004 15:22
Datei auslesen PHP Tipps 2004 5 18.09.2004 12:17
[Erledigt] Einzelne Werte aus TXT Datei auslesen und anzeigen. PHP Tipps 2004 1 08.09.2004 06:31
Auslesen einer log Datei! PHP Tipps 2004 18 19.08.2004 13:25
Variable von .txt Datei auslesen PHP Tipps 2004 1 01.07.2004 11:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datei rückwärts lesen, csv datei rückwärts einlesen, php file rückwärts lesen, fgetcsv rückwärts, php datei rückwärts einlesen, http://www.php.de/php-tipps-2005-2/30711-csv-datei-rueckwaerts-auslesen.html, php datei einlesen umgekehrt, csv rückwärts auslesen, getcsv umgekehrt, csv datei rückwärts auslesen php, php csv rückwärts einlesen, php datei umgekehrt auslesen, csv datei auswerten, php csv umgekehrt auslesen, php .csv rückwärts html einlesen, php csv rückwärts auslesen, php lese datei rückwärts, fopen rüchwärts, textdatei rückwärts einlesen php, php datei rückärts lesen

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 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.