Text_Datenbank

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

  • Text_Datenbank

    Hi,
    brauche eine kleine Text-Datenbank mit ca.10 verschiedenen Einträgen. Soweit ganz simple. Aber ich muss gezielt zum beispiel Datensatz 5 in eine variable laden können etc. und genauso auch gezielt z.B. nur datensatz 7 aus Variabler rausschreiben.
    Krieg das mit - fseek usw. nicht hin - -

    Hat da jemand n codschnipsel für diesen zweck?

    Danke Danke

  • #2
    file()
    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


    • #3
      sqlite?

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        immer noch das selbe

        Hi nochmal,

        imm moment läuft das so:

        $zaehler_anmelden = "top.dat";
        $fp = fopen ($zaehler_anmelden, "r");
        $str = fread ($fp, filesize ($zaehler_anmelden));
        fclose ($fp);

        nur wird so immer alles eingelesen und alles weggeschrieben.

        eben nicht gezielt. das muss doch auch ohne grossen aufwand zu machen sein

        Kommentar


        • #5
          Re: immer noch das selbe

          Original geschrieben von lastalien
          nur wird so immer alles eingelesen und alles weggeschrieben.
          wenn du etwas schreiben willst, musst du eh die ganze datei neu schreiben, also davor auch auslesen.

          beim lesen ist es möglich, nur bestimmte zeilen in den ram zu laden, aber bei 10 einträgen wohl unnötig.

          Kommentar


          • #6
            Re: Text_Datenbank

            Original geschrieben von lastalien Hat da jemand n codschnipsel für diesen zweck?
            das wolltest du bestimmt nicht haben, aber mir war gerade langweilig
            PHP-Code:
            class lastalien_txt_db
                
            {
                    private 
            $db=array();

                    
            // Text-DB öffnen
                    
            public function read($db)
                        {
                            if(!
            is_readable($db))
                                die(
            'Kann DB: "'.$db.'" nicht öffnen.');
                            
            $this->db=file($db);
                        }

                    
            // Zeile lesen
                    
            public function getLine($index)
                        {
                            if(isset(
            $this->db[$index]))
                                return 
            trim($this->db[$index]);
                            return 
            false;
                        }

                    
            // Zeile ändern
                    
            public function changeLine($index$content)
                        {
                            if(isset(
            $this->db[$index]))
                                {
                                 
            $this->db[$index]=trim($content)."\n";
                                 return 
            true;
                                }
                            return 
            false;
                        }

                    
            // Zeile hinzufügen
                    
            public function addLine($content)
                        {
                            
            $this->db[]=$content."\n";
                        }

                    
            // Zeile löschen
                    
            public function delLine($index)
                        {
                            if(isset(
            $this->db[$index]))
                                {
                                 unset(
            $this->db[$index]);
                                 return 
            true;
                                }
                            return 
            false;
                        }

                    
            // Alle änderungen in Text-DB schreiben
                    
            public function write($db)
                        {
                            if(!
            is_writable($db))
                                die(
            'Kann in DB: "'.$db.'" nicht schreiben.');
                            
            file_put_contents($db$this->db);
                        }
                } 
            ungetestet, müsste aber passen

            Kommentar


            • #7
              immer noch

              Hi 3 D MAX,

              danke Dir für den echt coolen Einsatz. Aber auch bei dieser Variante wird der komplette Datensatz weggeschrieben. Das soll es aber nicht sein.

              Wie gesagt, gezielt lesen und gezielt schreiben, die gewünschte zeile.

              KEEP IT PSYCHEDELIC

              Kommentar


              • #8
                Re: immer noch

                Original geschrieben von lastalien Aber auch bei dieser Variante wird der komplette Datensatz weggeschrieben. Das soll es aber nicht sein.
                das liegt aber in der natur der sache.
                du musst die komplette datei schreiben (also auch lesen), nur eine zeile ändern kannst du knicken.

                Kommentar


                • #9
                  Hi,

                  so wie ichs momemtan mach, dafür gibts die fseek + seek_cur Funktion.

                  Krieg das nur nicht gebacken.

                  Kommentar


                  • #10
                    Re: Re: immer noch

                    Original geschrieben von 3DMax
                    das liegt aber in der natur der sache.
                    du musst die komplette datei schreiben (also auch lesen), nur eine zeile ändern kannst du knicken.
                    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

                    Lädt...
                    X