Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Im HTML-Quellcode steht nicht die PHP-Ausgabe

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Im HTML-Quellcode steht nicht die PHP-Ausgabe

    Hallo,
    habgerade ein ziemlich nerviges Problem. Ich will jede zweite Zeile einer Tabelle in einer CSS-Klasse haben. PHP generiert es mir auch richtig, nur wenn die Seite fertig ist, steht dort was anderes.

    PHP-Code:
                if ( $tr == floor$tr ) ) {
                    
    $row "<tr class=\"odd\">\n";
                    }
                else {
                    
    $row "<tr>\n";
                    }
                    
                if (
    strstr($data[$x+2], " ")) {
                    
    $temp explode(" "$data[$x+2]);
                    
    $data[$x+2] = $temp[0];
                    if (
    strstr($temp[count($temp)-1], "v")) {
                        
    $row str_replace("<tr""<tr class=\"verlegt\""$row);
                        }        
                    if (
    strstr($temp[count($temp)-1], "t")) {
                        
    $row str_replace("<tr""<tr class=\"getauscht\""$row);
                        }
                    if (
    strstr($temp[count($temp)-1], "h")) {
                        
    $row str_replace("<tr""<tr class=\"halle_verlegt\""$row);
                        }
                    if (
    strstr($data[$x+8], "NA")) {
                        
    $row str_replace("<tr""<tr class=\"kampflos\""$row);
                        }
                    }
                
    $spielplan[] = $row;
    echo 
    $row
    echo $row ergibt schön im Wechsel class="odd":
    Code:
    <tr>
    <tr class="odd">
    <tr>
    <tr class="odd" class="getauscht" class="verlegt">
    <tr class="verlegt">
    <tr class="odd">
    <tr class="verlegt">
    <tr class="odd" class="getauscht" class="verlegt">
    <tr>
    <tr class="odd">
    <tr>
    Jetzt steht weiter unten im Quelltext, wo es sich um dieselben $row handelt:
    Code:
    <tr><td
    :
    </tr><tr class="odd"><td
    :
    </tr><tr><td
    :
    </tr><tr class="getauscht"><td
    :
    </tr><tr class="verlegt"><td
    :
    </tr><tr class="odd"><td
    :
    </tr><tr class="verlegt"><td
    :
    </tr><tr class="getauscht"><td
    :
    </tr><tr><td
    :
    </tr><tr class="odd"><td
    :
    </tr><tr><td
    :
    :
    Also warum auch immer wird immer nur eine Klasse angezeigt, wenn sich das <tr ...> in der Tabelle befindet, wenn ich es mir so ausgeben lasse, ist alles korrekt. Das kann doch gar nicht sein.


  • #2
    Unabhängig von der Frage - Was soll das denn? Ein Tag darf nur ein Attribut gleichen Namens haben.

    Mach es doch erstmal lieber so:
    PHP-Code:
    if ( $tr == floor$tr ) ) {
        
    $class "odd ";    
        
    $row "<tr class=\"odd\">\n";
                    }
                else {
                    
    $row "<tr>\n";
                    }
                    
                if (
    strstr($data[$x+2], " ")) {
                    
    $temp explode(" "$data[$x+2]);
                    
    $data[$x+2] = $temp[0];
                    if (
    strstr($temp[count($temp)-1], "v")) {
                        
    $class .= "verlegt ";
                        }        
                    if (
    strstr($temp[count($temp)-1], "t")) {
                        
    $class .= "vertauscht ";
                        }
                    if (
    strstr($temp[count($temp)-1], "h")) {
                        
    $class .= "halle_verlegt ";
                        }
                    if (
    strstr($data[$x+8], "NA")) {
                        
    $class .= "kampflos ";
                        }
                    }
                    
    $row "<tr class=\"".substr($class, -1)."\"></tr>";
                
    $spielplan[] = $row;
    echo 
    $row

    Kommentar


    • #3
      Was du da erzeugen willst, ist aber auch keine valides HTML... Das wird wohl kaum ein Browser verstehen.

      Und zu welchem Zweck arbeitest du mit str_replace und schreibst nachher die Zeilen in ein Array...

      PHP-Code:
      echo "<table>";
      for (
      $c 0$c 20$c++) {
        if (
      $c%2$alt "verlegt"; else $alt "wat_andres";
        echo 
      "<tr class=\"".$alt."\">";
        echo 
      "<td>blup</td>";
        echo 
      "</tr>";
      }
      echo 
      "</table>"
      Selbst im Rollstuhl kann man die Menschenrechte mit Füßen treten.
      Die Politik darf kein hirnfreier Raum sein.

      Kommentar


      • #4
        Das ar auch nur ein Ausschnitt, bevor ich die verschieden Klassen eingeführt habe, kam immerhin XHTML Trans valide raus. Darauf achte ich schon.
        Das Array wird zum Schluss in eine HTML-Datei geschrieben.

        zur 1.Antwort:
        Das wär dann wohl die Alternative. Gibts denn ne Möglichkeit, die Klasse
        über CSS so anzusprechen, dass mann nicht alle Kombinationsmöglichkeiten durchgehen muss, sondern wenn z.B. "odd" drin vorkommt, dass CSS das erkennt?

        Kommentar


        • #5
          ich persönlich bin ein Fan von dd Selector – jQuery API vllt wirst du es auch?

          MFG
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

          Kommentar


          • #6
            dass mann nicht alle Kombinationsmöglichkeiten durchgehen muss, sondern wenn z.B. "odd" drin vorkommt, dass CSS das erkennt?
            Soll was bedeuten?
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Zitat von nikosch Beitrag anzeigen
              Soll was bedeuten?
              eine if abfrage in CSS
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

              Kommentar


              • #8
                Und was soll die "abfragen"?
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  if classname == "odd" then tr classname = "odd" else classname = "" das ganze in css
                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                  Kommentar


                  • #10
                    css kann nicht den HTML Code bestimmen! Wohl aber wirkt es wie eine Bedingung. Bspw. kann ich durch Auswerten von .odd bestimmen, ob weitere Class-Attribute ignoriert werden.
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      das ist mir klar, ich habe dir nur diese Frage beantwortet

                      dass mann nicht alle Kombinationsmöglichkeiten durchgehen muss, sondern wenn z.B. "odd" drin vorkommt, dass CSS das erkennt?
                      also css soll automatisch erkennen wenn ein tr die klasse odd hat
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                      Kommentar


                      • #12
                        CSS soll erkennen, ob odd in der Klasse drin vorkommt.

                        Ich bin auf folgendes mal gestossen (kein sz auf franz Tastatur):

                        tbody a[title^="Download"]

                        Vielleicht gibts ja einen Operator für "enthält" anstelle von ^⁼ (ist gleich)
                        tr [class???"odd"]

                        Kommentar


                        • #13
                          Was soll das denn?! .odd spricht die Klasse an. Das ist der einzige Zweck von class-Attributen!
                          .odd.red spricht eben "red odd" und "odd red" und "red whatever odd" gleichermaßen an. Lern doch mal Grundlagen!
                          --

                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                          --

                          Kommentar


                          • #14
                            Sorry, dann ist es klar.

                            Kommentar

                            Lädt...
                            X