Ausgabe Problem

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

  • Ausgabe Problem

    Hi Leute!

    Hab gerade nen kleines Problem.
    Also ich arbeite mit soner ganz simplen Template klasse, wenn jemand interesse daran hat, kann ich sie noch Posten.
    Also, ich möchte bei meinem Linkscript die Links wie folgt ausgeben:

    Kategorie 1
    Link1
    Link2
    Link3

    Kategorie 2
    Link4
    Link5
    Link6

    Kategorie 3
    Link 7
    Link 8
    Link 9
    .
    .
    .


    Habe nun das Problem, dass mir die Links wie folgt ausgegeben werden:

    Kategorie 1
    Link1
    Link2
    Link3

    Kategorie 2
    Link1
    Link2
    Link3
    Link4
    Link5
    Link6

    Kategorie 3
    Link1
    Link2
    Link3
    Link4
    Link5
    Link6
    Link7
    Link8
    Link9

    Es werden also immer die Links aus der vorherigen Kategorien mit ausgegeben.
    Kann mir von euch jemand sagen wo mein Denkfehler bei dem Script ist?
    Bin über jede Hilfe Dankbar. hier der Code:

    PHP-Code:
    $Links=new Template("links.html");
            
    $LinksCategory = new Template("links_liste.html");
            
    $result mysql_query("SELECT * FROM lb_links LEFT JOIN 
    lb_links_category ON lb_links.links_category = 
    lb_links_category.links_category_id GROUP BY links_category 
    ORDER BY links_id ASC"
    $mysql_conn);
            if(
    $result){
               while (
    $row mysql_fetch_array($result)) {
                   
    $category $row['links_category_name'];
                   
    $categoryid $row['links_category_id'];
                   
    $anzahl mysql_query("SELECT COUNT(links_id) AS 
    anzahl FROM lb_links WHERE links_category = 
    "
    .$row['links_category_id'].""$mysql_conn);
                   
    $anzahl mysql_fetch_array($anzahl);
                   
    $anzahl $anzahl['anzahl'];             
                  
                   
    $LinksListe = new Template("links_data.html");
                   
    $sql "SELECT * FROM lb_links WHERE links_category = 
    "
    .$row['links_category_id']."";
                   
    $res mysql_query("SELECT * FROM lb_links WHERE 
    links_category = "
    .$row['links_category_id'].""$mysql_conn);
                   while(
    $row mysql_fetch_array($res)){                  
                       if(
    $row['links_category'] == $categoryid){
                          
    $name $row['links_name'];
                          eval(
    $LinksListe->TemplateVar("tpl_links"));                     
                       }   
                   }
                   eval(
    $LinksCategory->TemplateVar("tpl_liste"));
                   echo 
    $sql ."<br>";
                   echo 
    $categoryid."<br>";
               }        
            } else {
                
    $status "Keine Einträge vorhanden";
               eval(
    $LinksCategory->TemplateVar("tpl_liste"));
            }
            eval(
    $Links->TemplateVar("tpl_content")); 

    BSA
    Zuletzt geändert von BSA; 24.07.2005, 12:42.

  • #2
    1. bitte code umbrechen!
    2. ich habe keine ahnung, was diese abgefahrene template klasse eval't, aber sieht auf den ersten blick so aus, dass $LinksListe nicht geleert wird am anfang einer jeder neuen kategorie.
    3. mehr OT, aber trotzdem - sieht sehr umständlich und ineffizient aus. solche ausgaben lassen sich mit [anzahl_kategorien] weniger sql-anfragen machen. mach dich schlau über JOINs

    Kommentar


    • #3
      Öhm, das die Templateklasse nicht sehr effizient ist weiß ich, aber sie ist den anforderungen entsprechend, und darauf kommt es an....

      Richtig, das ganze wird nicht geleert, aber ich habe auch keien ahnung wie ich das wieder leeren soll. Du ne Idee?

      Kommentar


      • #4
        z.b. das objekt neu anlegen, wenn du in die schleife kommst.

        Kommentar


        • #5
          welches genau?

          Kommentar


          • #6
            PHP-Code:
            $aufmerksamkeit_beim_lesen 

            Kommentar


            • #7
              ohne deinen code gelesen zu haben: vermutlich das template-object
              EDIT:
              BTW: Wie viele Objekte siehst du denn in deinem Code?

              Kommentar


              • #8
                3?!

                Kommentar


                • #9
                  Jemand noch ne Idee?

                  Kommentar


                  • #10
                    *drängel*

                    Kommentar


                    • #11
                      Sorry, aber damit hilfst du mir leider auch nicht!
                      das Funktioniert ja soweit, nur das er eben in $name immer wieder alles schreibt bzw. das aus der vorherigen Kategorie mit anhängt....

                      Kommentar


                      • #12
                        du hilfst dir mit dem gedrängel aber auch nicht weiter. ist eher kontraproduktiv und äußerst unerwünscht.

                        na, dann leere entweder die variable oder unset.

                        Kommentar

                        Lädt...
                        X