Ankündigung

Einklappen
Keine Ankündigung bisher.

Wert "von bis" (innerhalb eines tags) aus einer Textdatei auslesen

Einklappen

Neue Werbung 2019

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

  • #16


    Wenn es da drin ist, dann musst du das machen
    PHP-Code:
    $pTags $xpath->query('./p',$element); //suche alle p Tags innerhalb des elements 
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

    Kommentar


    • #17
      PHP-Code:
      $ort_term$element->getElementsByTagName('p')[0]->textContent
      $ort_termexplode('|'$ort_term); 

      ....

      $sql "INSERT INTO evente (linkmehr, titel, adresse, termine)
              VALUES ('
      $linkmehr', '$titel', '$ort_term[0]', '$ort_term[1]')";
      $con->query($sql); 
      Das funktioniert jetzt bei mir

      Danke euch für die Hilfe ))

      PS: Den String in $ort_term musste ich teilen, da der in einem P-Tag 2 Werte hatte die ich seperat abspeichern wollte - z.B. Berliner Philharmonie | 04.01.2020 bis 04.02.2020


      _________________


      Kurze Nachfrage - beim speichern in MySQL ...

      Wenn ich in MySQL mir die Tabelle anzeigen lasse, dann werden die 2 letzten Werte nicht angezeigt
      von $ort_term[0]', '$ort_term[1]')
      Jedoch wenn ich die DS in meinem PHP Skript anzeigen lasse, dann werden die völlig korrekt aus MySQL abgerufen und im PHP Skript angezeigt
      sprich auch die 2 letzten Werte sind tatsächlich in der DB eingetragen, nur werden die nicht in phpmyadmin angezeigt... hmm

      Gibt es da ne Erklärung? Eventuell was mit Zeilenumbrüchen?

      Kommentar


      • #18
        Versuchs mal damit

        PHP-Code:

        $ort_term
        explode('|'$ort_term);

        ....
        list(
        $adresse,$termine) = $ort_term;

        $sql sprintf("INSERT INTO evente (linkmehr, titel, adresse, termine)
                VALUES ('%s', '%s', '%s', '%s')"
        ,$linkmehr,$titel,$adresse,$termine);
        $con->query($sql); 
        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

        Kommentar


        • #19
          Bitte auch den Kontextwechsel nach SQL beachten. Also entweder Prepared Statements verwenden, oder alle Werte mit der entsprechenden Escape-Funktion behandeln.

          Kommentar


          • #20
            Zitat von BlackScorp Beitrag anzeigen
            PHP-Code:
            $sql sprintf("INSERT INTO evente (linkmehr, titel, adresse, termine)
            VALUES ('%s', '%s', '%s', '%s')"
            ,$linkmehr,$titel,$adresse,$termine); 
            Diese Variante funktioniert bei mir genauso wie meine
            Es speichert zwar alles ab, aber in MySQL selbst sind die $adresseund $termine nicht zu sehen
            Obwohl sie bei der Ausgabe korrrekt ausgegeben werden



            PS: NEBENTHEMA
            Bei der Ausgabe habe ich nur ein anderes Problem,
            dass ich meiner Tabelle keine maximale Breite für $adresseund $termine geben kann
            weder in den <th> noch den <td>
            Habe da alles versucht - max-width=50 oder maxlength=50 oder strlen($...),50 - ging alles nicht


            Kommentar


            • #21
              Es speichert zwar alles ab, aber in MySQL selbst sind die $adresseund $termine nicht zu sehen
              Obwohl sie bei der Ausgabe korrrekt ausgegeben werden
              Query ausgeben lassen. Schauen obs korrekt ist. Wenn ja => Query direkt im DB-Client ausführen (z.b phpmyadmin) und schauen was da rauskommt.
              Anhand dieser Zeilen kann Dir hier niemand sagen was falsch läuft. Wir kennen ja Deine DB-Struktur nicht.

              Betreffend max. Breite:

              CSS max-width:

              https://developer.mozilla.org/de/docs/Web/CSS/max-width

              Oder in PHP:
              Wordwrap wenn du den String umbrechen willst.
              https://www.php.net/manual/de/function.wordwrap.php

              Oder substr wenn du den String abschneiden willst.
              https://www.php.net/manual/de/function.substr.php

              Kommentar


              • #22
                mit var_dump wird ein korrekter String ausgegeben
                z.B. string(82) " Bürgerverein Kleefeld e.V. "

                In MySQL ist der String mit Umbrüchen abgespeichert
                z.B. ... "
                Bürgerverein Kleefeld
                e.V.
                "

                Es scheint als String abgespeichert zu sein,
                aber ich kann die maximale Breite der Tabellensplate mit max-width (oder maxlength) weder inline im <th ... > oder <td ...> noch in derr CSS Datei festlegen

                PS: Ich habe auch einnowrap um Zeilenumbrüche zu vermeiden

                Meine Tabelle sieht ungefähr so aus

                Nicht Orginal nur BEISPIEL
                id Titel Quelle Termine Adresse
                10 Elvis Tour 2020 link 20.09.2019 von 20:00 bis 22:00 Uhr Bürgerverein Kleefeld e.V.


                Ich hätte es aber gerne mit maximaler Breite festgelegt der schnellen Übersicht wegen,
                da mich bei dieser Ausgabe die vollständigen Inhalte nicht interessieren (bei einer anderen Ausgabe sinnvoll, hier unerwünscht)
                id Titel Quelle Termine Adresse
                10 Elvis Tour 2020 link 20.09.2019 v... Bürgerverein ...

                Irgendwie HTML Grundstoff, aber genau die 2 letzten Variabeln (die ich durch eine explode her habe) lassen sich bei der Ausgabe nicht stauen

                Kommentar


                • #23
                  Code:
                  overflow: hidden;
                  text-overflow: ellipsis;

                  Kommentar


                  • #24
                    Zitat von dustinator Beitrag anzeigen
                    mit var_dump wird ein korrekter String ausgegeben
                    z.B. string(82) " Bürgerverein Kleefeld e.V. "

                    In MySQL ist der String mit Umbrüchen abgespeichert
                    z.B. ... "
                    Bürgerverein Kleefeld
                    e.V.
                    "
                    Schau mal in den HTML Quelltext, da wirst du feststellen, dass auch var_dump() die Zeilenumbrüche mit ausgibt.

                    => https://patrickbrosset.com/articles/...r-in-HTML.html

                    Kommentar


                    • #25
                      Kurze Info // Für andere genauso ahnungslose Neulinge sind wie ich und die das selben Probleme haben ))


                      Ich habe in meinem PHP Skript
                      nach $con = new mysqli($servername, $user, $passwort, $datenbank);
                      vergessen $con->set_charset("utf8"); zu setzen
                      damit Variablen von PHP als "utf8" nach MySQL gesendet werden (sonst werden sie als Ascii Code gesendet)
                      Jetzt sind die DS in MySQL nicht mehr falsch dargestellt // z.B. die Umlaute als Ascii gezeigt // Wörter verstümmelt
                      Das gleiche natürlich umgekehrt von MySQL in meine PHP Ausgabe

                      Jetzt sind die Umlaute sowohl in MySQL wie auch im PHP Skqipt richtig angezeigt

                      // Für mich etwas merkwürdig, da ich dachte das schon mit dem setzen der DB auf utf8 schon genmacht zu haben, tja ich lerne nie aus^^

                      ________________

                      Auch musste ich geschützte Leerzeichen aus $adresse und $termine entfernen bzw ersetzen durch ein normales Blank/Leerzeichen
                      Beispiel: $adresse = str_replace('&nbsp;',' ',$adresse);

                      ________________


                      Jetzt wende ich mich noch mal der Tabellendarstellung zu
                      Wenn ich da weiter bin, dann ediere ich diesen posit


                      Kommentar


                      • #26
                        Zitat von dustinator Beitrag anzeigen
                        Auch musste ich geschützte Leerzeichen aus $adresse und $termine entfernen bzw ersetzen durch ein normales Blank/Leerzeichen
                        Beispiel: $adresse = str_replace('&nbsp;',' ',$adresse);
                        &nbsp; ist die HTML-Entity für ein geschütztes Leerzeichen...

                        Kommentar


                        • #27
                          Zitat von hellbringer Beitrag anzeigen
                          Code:
                          overflow: hidden;
                          text-overflow: ellipsis;
                          Thx, das war noch der andere Fehler den ich hatte ))
                          Habe dann eine Tabelle mit fester Größe gemacht (vielleicht gibt es bessere Lösungen)
                          CSS Code
                          PHP-Code:
                           .tabellenbreite{
                              
                          min-width170px;
                              
                          max-width170px;  
                              
                          white-spacenowrap;
                              
                          overflowhidden;
                              
                          text-overflowellipsis;

                          https://www.w3schools.com/cssref/css...t-overflow.asp
                          https://www.php.net/manual/en/functi...whitespace.php

                          Kommentar

                          Lädt...
                          X