Bereich wird in der Schleife wiederholt.

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

  • Bereich wird in der Schleife wiederholt.

    Hallo,

    wie der Titel vielleicht schon verrät, wird bei mir in einer while schleife, der bereich wiederholt, obwohl ich "nur" durch eine if Abfrage einen Datebankwert abfrage und danach mein Templatearray vergrößer. Ich dachte schon, dass es vielleicht an der Template Engine liegt, aber das ist mitlerweile die Zweite Engine und das Problem ist immer das Gleiche, aber am Besten ich poste mal das Script, damit man sich das vorstellen kann.
    PHP-Code:
    $sqlNewsshort "    SELECT
                           news.*,
                        user.*
                        FROM pornews AS news JOIN poruser AS user
                        ON userID = newsRedID"
    ;

    $resultNewsshort=$db->query($sqlNewsshort);
    $newsShort=array();
    while (
    $rowNewsshort=$db->get_row()) {
        
    $date=date('d.m.Y H:i:s',$rowNewsshort['newsDate']);
        
    array_push($newsShort, array(
            
    'titel'=>$rowNewsshort['newsHead'],
            
    'date' => $date,
            
    'user' => $rowNewsshort['userName'],
            
    'subtitle' => $rowNewsshort['newsSubhead'],
            
    'links' => $rowNewsshort['newsQuelllinks'],
            
    'id' =>  $rowNewsshort['newsID'],
            
    'summ' => $rowNewsshort['newsAnfang']
        ));
    //hier wird das Array $newsShort um die beiden Schlüssel "long" und "longurl"
    //vergrößert.     
    if (""!=$rowNewsshort['newsZusatz']) {
            
    array_push($newsShort, array(
            
    'long' => 'ja',
            
    'longurl' => '?content=newsLong&id='.$rowNewsshort['newsID']         
            ));
        }

    Ich denke mal da haut was mit array_push nicht hin oder ich mache da einen Fehler, aber finde den einfach net.

  • #2
    versteh ich net ganz.

    was passiert und was soll passieren. (bezogen auf das anscheinend fehlerhafte array.

    Kommentar


    • #3
      Also es soll das Array um die beiden Werte vergrößert werden.

      So und nun wird aber die Schleife einmal ausgeführt und wenn er den Link anhängt wird die Schleife nochmal ausgeführt, nur das die restlichen Variablen leer bleiben und die Linkvariable wird angezeigt.

      Kommentar


      • #4
        vielleicht bin ich heute schwer von begriff, da aber noch kein anderer gepostet hat, hoffe ich mal, dass es an dir liegt! will dir aber schon helfen.

        Also es geht sich um das Array $newsShort, richtig?

        Kannst du mir mal die Struktur posten, wie es a) jetzt aussieht und wie es b) aussehen soll?

        Kommentar


        • #5
          Re: Bereich wird in der Schleife wiederholt.

          Also ich sage einfach dass der Fehler erstmal in SQL-Abfrage zu suchen ist,
          den das kann nicht funz, sondern es müsste Fehler ausspucken, doch weil
          du keinen Fehlerabfang in deiner Klasse hast, läuft es still schweigend fehlerhaft weiter.

          Original geschrieben von Proggy
          PHP-Code:
          $sqlNewsshort "    SELECT
                                 news.*,
                              user.*
                              FROM pornews AS news JOIN poruser AS user
                              ON userID = newsRedID"

          Kommentar


          • #6
            Hallo, ja ich weiß ist blöd erklärt, ist aber auch blöd zu erklären, das es sich ja kurios anhört ist mir bis jetzt auch noch nicht passiert sowas, werde das mal auf nen live Server packen mom.

            Kommentar


            • #7
              Re: Re: Bereich wird in der Schleife wiederholt.

              Original geschrieben von asp2php
              Also ich sage einfach dass der Fehler erstmal in SQL-Abfrage zu suchen ist,
              den das kann nicht funz, sondern es müsste Fehler ausspucken, doch weil
              du keinen Fehlerabfang in deiner Klasse hast, läuft es still schweigend fehlerhaft weiter.
              Hallo, danker erstmal für deine Hilfe, aber auch mit mysql_error, spuckt er mir keinen Fehler aus, was soll denn daran falsch sein, wenn ich mal fragen darf?

              Und zu Tobiaz, irgendwie ist mein Server zur zeit überlastet deswegen habe ich mal ne HTML Datei hochgeladen.
              http://www.tutorials4me.de/news/P4Portalseite.htm

              Kommentar


              • #8
                die Bedingung in ON, korrekt müsste es heissen:
                ON tableA.colA=tableB.colB oder ON AliasTableA.colA=AliasTableB.colB

                Kommentar


                • #9
                  Hat aber leider auch nichts gebracht. Habe auch mal gelesen, dass das eigentlich nur erforderlich ist, wenn die Spaltennamen gleich sind, in den beiden Tabellen. Bin mir aber nicht sicher.

                  Kommentar


                  • #10
                    zu deinem Array: warum machst du nicht einfach:
                    PHP-Code:
                    $newshort[]=array('titel'=>...); 

                    Kommentar


                    • #11
                      Hat genau den gleichen Effekt.

                      Kommentar


                      • #12
                        OffTopic:
                        würd ja gerne helfen. aber ich wiederhole meine frage nicht nochmal!!!

                        Kommentar


                        • #13
                          Ja es geht um das array $newsShort und welche Struktur meinst du.

                          Habe den Fehler mal in eine HTML Datei gepackt, weil mein Server überlastet ist.
                          http://www.tutorials4me.de/news/P4Portalseite.htm

                          Kommentar


                          • #14
                            struktur eben, den inhalt des arrays, den aufbau, ...

                            Kommentar


                            • #15
                              Hallo,

                              jo also das Array ist eigentlich ganz simpel aufgebaut und wird auch so zusammengesetzt und zwar hole ich die Daten der News aus der Datenbankl Titel, Username usw. so und da es mehrere News sind, die ich auf einmal anzeigen will, packe ich die in eine Schleife und baue dadrin das Array, für die Templateengine zusammen:
                              PHP-Code:
                              $newsShort=array();

                              while(...........){
                              array_push($newsShort, array(

                                      
                              'titel'=>$rowNewsshort['newsHead'],

                                      
                              'date' => $date,

                                      
                              'user' => $rowNewsshort['userName'],

                                      
                              'subtitle' => $rowNewsshort['newsSubhead'],

                                      
                              'links' => $rowNewsshort['newsQuelllinks'],

                                      
                              'id' =>  $rowNewsshort['newsID'],

                                      
                              'summ' => $rowNewsshort['newsAnfang']

                                  )); 
                              So und jetzt habe ich noch eine Möglichkeit eingebaut, um die News länger zu machen also einmal nen Aufhänger, der denn wenn man einen Link klickt verlängert wird alleine. Und das wird jetzt geprüft ob diese Verlängerung in dem Datensatz vorhanden ist. Ist dies der Fall, wird das Array um zwei Werte vergrößert einmal um der Engine mitzuteilen, dass es einen Link gibt und denn die Link url:
                              PHP-Code:

                              if (""!=$rowNewsshort['newsZusatz']) {

                                      
                              array_push($newsShort, array(

                                      
                              'long' => 'ja',

                                      
                              'longurl' => '?content=newsLong&id='.$rowNewsshort['newsID']         

                                      ));

                                  }


                              So und sobald der Link der Fall ist beginnt das Problem nämlich er geht nochmal in die While Schleife durchläuft die, zeigt den gesamten HTML Code nochmal an und denn den Link, da wo er hinsoll, so wie es hier zu sehen ist:http://www.tutorials4me.de/news/P4Portalseite.htm

                              So ich hoffe das war ausführlich genug.

                              Kommentar

                              Lädt...
                              X