Bedingungen um das Inhaltsverzeichnis von einer Datenbankabfrage abzuhalten

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

  • Bedingungen um das Inhaltsverzeichnis von einer Datenbankabfrage abzuhalten

    Auf meiner Seite habe ich an mehren Stellen eine Datenbankabfrage.Die Datenbankabfragen funktionieren soweit auch ganz gut. Nur gibt es ein Problem, sobald ich das erstellte Inhaltsverzeichnis, der Cathegory oder der Section anwähle werden diese Abfragen aus dem Beitrag, der auf home liegt übernommen. Das soll aber nicht geschehen. Hier müßte eine Bedinung geschaffen werden, die Abruf unterbindet, oder mit einer anderen Regel austauscht. Im großen und ganzen handelt es sich um Berichte, die in der Datenbank unter jos_content eingeordnet sind. Handelt es sich um keine Datei, die daraus komplett erstellt wird, sondern um ein Inhaltsverzeichnis, dann soll diese DBAbfrage nicht stattfinden.

  • #2
    wie soll man dir bei dem informationsgehalt helfen?
    Ansätze oder ne kojnkrete Frage hast du auch nicht.

    if() solltest du kennen. Das musst du nur noch auf dein System anwenden. gut ist.

    Kommentar


    • #3
      Der Derzeitige Code ist:
      PHP-Code:
      <?php
      global $database;
        
      $id mosGetParam$_REQUEST'id' );
        
      $query "SELECT introtext FROM `jos_content` WHERE id='$id'";
      $result mysql_query($query) ;
        
      /* Ausgabe der Ergebnisse in HTML */
      echo "<table>\n";
      while (
      $line mysql_fetch_array($resultMYSQL_ASSOC)) {
          echo 
      "\t<tr>\n";
          foreach (
      $line as $col_value) {
              echo 
      "\t\t<td>$col_value</td>\n";
          }
          echo 
      "\t</tr>\n";
      }
      echo 
      "</table>\n";
        
      /* Freigeben des Resultsets */
      mysql_free_result($result);
        
      ?>
      Die if Bedingung könnte so aussehen:
      PHP-Code:
      if  {($jos_content)
           
      $sql "SELECT introtext FROM `jos_content` WHERE jos_content='$jos_content'"; ){
      [
      der ganze andere Code]

      Die Fragen dazu sind:
      • Ist die If Bedingung so korrekt grundsätzlich gestellt?
      • Und ist eine Abfrage der Tabelle korrekt bezeichnet, denn das Inhaltsverzeichnis bezieht sich ja auch auf die jos_content Tabelle?


      jos_content ist eine Tabelle im SQL, die abgefragt wird, wenn geschriebene Beiträge angezeigt werden.
      Zuletzt geändert von Yehudi; 04.02.2006, 08:19.

      Kommentar


      • #4
        Also ehrlich gesagt, dein erstes Posting sagt mir nicht viel, ausser dass du irgendwas überprüfen willst.

        Original geschrieben von Yehudi
        Die Fragen dazu sind:
        • Ist die If Bedingung so korrekt grundsätzlich gestellt?
        • Und ist eine Abfrage der Tabelle korrekt bezeichnet, denn das Inhaltsverzeichnis bezieht sich ja auch auf die jos_content Tabelle?
        zu 1. Vielleicht Ja, vielleicht Nein.
        Was soll die Variable denn enthalten? Was willst du überprüfen?
        Mal abgesehen von den Zwei öffnenden Klammern.

        zu 2. siehe 1.


        Also ich kann mit den bisherigen Angaben gar nix anfangen, die Beschreibung ist einfach zu mager, das Problem an sich sicher relativ einfach, wie ich das bis jetzt beurteile.
        mfg - sagg

        Kommentar


        • #5
          ähm, schau dir doch bitte mal die syntax von if an. die parseerror können eigentlich nicht mehr viel mit pseudocode zu tun haben.

          mehr kann aber auch ich nicht sagen.

          Kommentar


          • #6
            Zu Post 1 - Sorry, das passiert nach einem ganzen Tag vorm PC sitzen. Ich habe mich heute morgen über mich selbst gewundert.

            Ich habe mehrere Dokumente die Berichte sind. Das betrifft momentan eigentlich nur erst mal "News" andere Berichte wären dann z.B. : "Witze", "Projecte", etc. Alles das wird über Joomla in jos_content gespeichert. Wenn ich über phpMyAdmin gehe klicke ich die Datenbank Joomla an, und sehe zunächst alle "Tabellen", die in dieser Datenbank enthalten sind. Darunter jos_content. In dieser Tabelle sehe ich alle Berichte, die in mehreren Spalten unterteilt sind.
            Die Bedingung soll sein, dass der Aufruf aus der Datenbank nur stattfinden soll, wenn es sich um einen Bericht aus der Tabelle handelt, aber nicht wenn es sich um ein Inhaltsverzeichnis dieser Tabelle handelt.

            Auf meinem Testserver sieht das so aus:
            Dies ist das Inhaltsverzeichnis:
            http://192.168.3.1/Joomla/news_2006/

            Das ist der Bericht:
            http://192.168.3.1/Joomla-mambo/news...mla_1.0.7.html

            Die URL's werden mit mod_rewrite und Open_SEF geändert. Das Prinzip bleibt aber immer das Gleiche.

            Section und category sind übergeortnete "Inhaltsverzeichnisse" Werden diese dargestellt, ist die Bedingung nicht erfüllt.

            jos_content läßt sich aber nicht so abfragen, wie die "id"

            Kommentar


            • #7
              Das "192.168..." eine IP aus deinem Netzwerk ist, und man darauf von aussen nicht zugreifen kann, ist dir aber bewusst?

              Zu deinem Problem:
              Die Seite muss ja irgendwoher die Information haben, das sie den Beitrag direkt, oder das Inhaltsverzeichniss anzeigen soll (Wenn ich dich richtig verstanden habe).
              Also wäre ja das einfachste, du nutzt die gleichen Variablen und überprüfst diese auf den Inhalt.
              Mach einfach das, was Joomla auch macht.
              Und je nach dem, was die Variable beinhaltet, führst du deinen Query entweder aus oder nicht.
              mfg - sagg

              Kommentar


              • #8
                Auf meinem Testserver sieht das so aus:

                Kommentar


                • #9
                  Original geschrieben von TobiaZ
                  Den Satz (u. a.) hab ich ganz überlesen, schade.
                  mfg - sagg

                  Kommentar


                  • #10
                    Original geschrieben von TobiaZ
                    ähm, schau dir doch bitte mal die syntax von if an. die parseerror können eigentlich nicht mehr viel mit pseudocode zu tun haben.

                    mehr kann aber auch ich nicht sagen.
                    Ich hatte schon mal geguckt ob ich ein Bsp. im Php-Handbuch hier finde. Leider ist Bedingung ergbnislos, höchstens Teilnahme an einem Seminar. Mit if bekomme ich zu viele Ergebnisse. Da wo der andere Quellcode herstammte steht zu der if Bedingung auch nichts.

                    Kommentar


                    • #11
                      Original geschrieben von sagg
                      Das "192.168..." eine IP aus deinem Netzwerk ist, und man darauf von aussen nicht zugreifen kann, ist dir aber bewusst?


                      Na klar, soll man ja auch nicht, dafür ist es ja ein Testserver. Die ip würde dann später nur durch www.yehudi.info ausgetauscht sein. Das liegt aber auf einem anderen Server. Ich wäre schön blöd, wenn ich dort rumtesten würde.

                      Zu deinem Problem:
                      Die Seite muss ja irgendwoher die Information haben, das sie den Beitrag direkt, oder das Inhaltsverzeichniss anzeigen soll (Wenn ich dich richtig verstanden habe).
                      Joop

                      Also wäre ja das einfachste, du nutzt die gleichen Variablen und überprüfst diese auf den Inhalt.
                      Mach einfach das, was Joomla auch macht.
                      Und je nach dem, was die Variable beinhaltet, führst du deinen Query entweder aus oder nicht.
                      In der Index.php Datei nach dem Code schauen.

                      Kommentar


                      • #12
                        Ich habe einfach alle if Bedingungen in der com_content Datei ausprobiert. Hier ist das Ergebnis:

                        PHP-Code:
                        <?php 
                         
                        global $database
                          
                         
                        $id mosGetParam$_REQUEST'id''com_content' ); 
                          
                         if ( 
                        $sectionid == 0)  { 
                         
                        $query "SELECT introtext FROM `jos_content` WHERE id='$id'"
                         
                        $result mysql_query($query); 
                          
                         
                        /* Ausgabe der Ergebnisse in HTML */ 
                         
                        echo "<table>\n"
                         while (
                        $line mysql_fetch_array($resultMYSQL_ASSOC)) { 
                            echo 
                        "\t<tr>\n"
                            foreach (
                        $line as $col_value) { 
                                echo 
                        "\t\t<td>$col_value</td>\n"
                            } 
                            echo 
                        "\t</tr>\n"
                         } 
                         echo 
                        "</table>\n"
                          
                         
                        /* Freigeben des Resultsets */ 
                         
                        mysql_free_result($result); 
                         } 
                         
                        ?>

                        Kommentar


                        • #13
                          Problem gelöst?

                          Kommentar

                          Lädt...
                          X