csv-zeile automatisch löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • csv-zeile automatisch löschen

    Hallo!

    Ich bin totaler php-neuling und hab folgendes problem:

    Mein Ziel ist es, einen Terminkalender zu basteln, in dem der nächste Termin in einer Tabelle ganz oben steht. Der Kalender soll online administrierbar sein und Termine, deren Datum älter als das Aktuelle Datum sind automatisch löschen.

    Bisher hab ich es mit viel Mühe geschafft, ein AdminLogin zu basteln. Die Eingabe der Daten funzt auch. Die Daten (Datum, Schlagwort, Text) werden in einer .csv gespeichert. (Datumsformat dd.mm.jjjj).
    Die Ausgabe der Daten in einer Tabelle funktioniert ebenfalls.

    Mein Problem liegt darin, Termine deren Datum älter als das aktuelle ist zu löschen.

    Kann mir da wer weiterhelfen??

    Gruß PiVO

  • #2
    hmm,

    lies alle daten ein, lösche die, die alt sind, schreib sie wieder ins file.

    nicht grad hilfreich, ich weiß, aber ich kenne deinen code/deine strukturen nicht ...
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      ich dachte mir ja, daß ich das so machen muß, die frage is das "wie"

      Kommentar


      • #4
        Mein - mich wunderts eh - funktionierender code

        PHP-Code:
        $data file("aktuell.csv"); 
                
        $count count($data); 
                
                for(
        $i=0$i $count$i++) {
                        
        $spalte explode(";",$data[$i]);  
                        
        $date explode("."$spalte[0]); 
                        
        $spalte[0] = mktime (0,0,0,$date[1],$date[0],$date[2]);
                        
        $data[$i] = implode(";"$spalte); 
                }
                
        natsort($data); 

                for(
        $i=0$i $count$i++)
                {
                        
        $spalte explode(";"$data[$i]);
                        
        $spalte[0] = date("d.m.Y"$spalte[0]);
                        
        $data[$i] = implode(";"$spalte);
                }




                
        $fp fopen("aktuell.csv""w"); 

                foreach(
        $data as $line)
                        
        fputs ($fp$line);


                
        fclose($fp);       
                        

          
        $zeile=0;
          
        $bol=file_exists("aktuell.csv");
          if (
        $bol) {
            
        $datei fopen("aktuell.csv","r");
            if (
        $datei) {
              print (
        "<p>Aktuelle Termine</p>");
              print (
        "<table border='1'>");
              
        $dateigroesse=filesize("aktuell.csv");
              
        $data fgetcsv ($datei$dateigroesse";");
              while(
        $data!=false) {
                 print 
        "<tr>";
                 
        $zeile++;
                 print (
        "<td>");
                 print (
        $zeile);
                 print (
        "</td>");
                 
        $spalten count ($data);
                 for (
        $c=0$c $spalten$c++) {
                   print (
        "<td>");
                   print (
        $data[$c]);
                   print (
        "</td>");
                  }
                 print (
        "</tr>");
                 
        $data fgetcsv ($datei$dateigroesse";");
               }
              
        fclose($datei);
             }
            } 
        Zuletzt geändert von pivo; 26.02.2004, 13:39.

        Kommentar


        • #5
          .csv daten löschen

          Hallo!!

          Da mein Problem immer noch offen is schildere ich das ganze nochmal. Vielleicht hat ja jemand ne Ahnung wie das durchführbar wäre.

          Mein Ziel ist es, einen Terminkalender zu basteln, in dem der nächste Termin in einer Tabelle ganz oben steht. Der Kalender soll online administrierbar sein und Termine, deren Datum älter als das Aktuelle Datum sind automatisch löschen.

          Bisher hab ich es mit viel Mühe geschafft, ein AdminLogin zu basteln. Die Eingabe der Daten funzt auch. Die Daten (Datum, Schlagwort, Text) werden in einer .csv gespeichert. (Datumsformat dd.mm.jjjj).
          Die Ausgabe der Daten in einer Tabelle funktioniert ebenfalls.

          Mein Problem liegt darin, Termine deren Datum älter als das aktuelle ist zu löschen.

          Kann mir da wer weiterhelfen?? Unten steht mein bisher funktionierender Code.

          Gruß PiVO




          PHP-Code:
          $data file("aktuell.csv"); 
                  
          $count count($data); 
                  
                  for(
          $i=0$i $count$i++) {
                          
          $spalte explode(";",$data[$i]);  
                          
          $date explode("."$spalte[0]); 
                          
          $spalte[0] = mktime (0,0,0,$date[1],$date[0],$date[2]);
                          
          $data[$i] = implode(";"$spalte); 
                  }
                  
          natsort($data); 

                  for(
          $i=0$i $count$i++)
                  {
                          
          $spalte explode(";"$data[$i]);
                          
          $spalte[0] = date("d.m.Y"$spalte[0]);
                          
          $data[$i] = implode(";"$spalte);
                  }




                  
          $fp fopen("aktuell.csv""w"); 

                  foreach(
          $data as $line)
                          
          fputs ($fp$line);


                  
          fclose($fp);       
                          

            
          $zeile=0;
            
          $bol=file_exists("aktuell.csv");
            if (
          $bol) {
              
          $datei fopen("aktuell.csv","r");
              if (
          $datei) {
                print (
          "<p>Aktuelle Termine</p>");
                print (
          "<table border='1'>");
                
          $dateigroesse=filesize("aktuell.csv");
                
          $data fgetcsv ($datei$dateigroesse";");
                while(
          $data!=false) {
                   print 
          "<tr>";
                   
          $zeile++;
                   print (
          "<td>");
                   print (
          $zeile);
                   print (
          "</td>");
                   
          $spalten count ($data);
                   for (
          $c=0$c $spalten$c++) {
                     print (
          "<td>");
                     print (
          $data[$c]);
                     print (
          "</td>");
                    }
                   print (
          "</tr>");
                   
          $data fgetcsv ($datei$dateigroesse";");
                 }
                
          fclose($datei);
               }
              } 

          Kommentar


          • #6
            Re: .csv daten löschen

            Original geschrieben von pivo
            Da mein Problem immer noch offen is schildere ich das ganze nochmal.
            ja. aber nimm auch deinen thread dafür, wo das problem bereits bekannt ist/war.

            *ZUSAMMENFÜHR*
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Das hilft mir aber leider im Moment auch nicht weiter....

              Kommentar

              Lädt...
              X