mysql table soll include einbinden

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

  • mysql table soll include einbinden

    Hi,

    undzwar hab ich eine Drag und Drop funktion die ihren zustand in der mysql speichert.

    Bisher funktoniert schonmal das Drag und Drop und das abspeichern in der mysql, der aktuellen sortierung.

    Aber was muss ich machen um z.B. den include "whoisonline.php" in der index.php richtig anzuzeigen? Die Box ist zwar größer geworden aber hat den include nicht angezeigt .

    [COLOR=Red]index.php[/COLOR]

    PHP-Code:
    <?php
    require('db.php');
    $demo = new SortableExample();
    $list $demo->getList();
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Drag and Drop</title>
    <link href="_stylesheet.css" rel="stylesheet" type="text/css" />
    <script src="lib/prototype.js"></script>
    <script src="js/scriptaculous.js"></script>
        <script>
            Event.observe(window,'load',init,false);
            function init() {
                Sortable.create('listContainer',{tag:'div',onUpdate:updateList});
            }
            function updateList(container) {
                var url = 'ajax.php';
                var params = Sortable.serialize(container.id);
                var ajax = new Ajax.Request(url,{
                    method: 'post',
                    parameters: params,
                    onLoading: function(){$('workingMsg').show()},
                    onLoaded: function(){$('workingMsg').hide()}
                });
            }
        </script>
    </head>
    <body>
     <div id="listContainer">    
        <?php
        $string 
    = array();
        foreach(
    $list as $item) {
            
    ?>
            <div id="item_<?=$item['catid'];?>"><?=$item['category'];?>
             <ul>
              <li><?=$item['include'];?></li>
              <li>&nbsp;</li>
             </ul>
            </div>
            <?php
        
    }
        
    ?>
      </div>
     </div>
    </body>
    </html>
    [COLOR=Red]

    db.php [/COLOR]


    PHP-Code:
    <?php
    class SortableExample {
        protected 
    $conn;
        protected 
    $user 'xxxxx';
        protected 
    $pass 'xxxxx';
        protected 
    $dbname 'xxxxx';
        protected 
    $host 'xxxxxx';
        
        public function 
    __construct() {
            
    $this->conn mysql_connect($this->host$this->user$this->pass);
            
    mysql_select_db($this->dbname,$this->conn);
        }
        
        public function 
    getList() {
            
    $sql "SELECT * FROM categories ORDER BY orderid";
            
    $recordSet mysql_query($sql,$this->conn);
            
    $results = array();
            while(
    $row mysql_fetch_assoc($recordSet)) {
                
    $results[] = $row;
            }
            return 
    $results;
        }
        
        public function 
    updateList($orderArray) {
            
    $orderid 1;
            foreach(
    $orderArray as $catid) {
                
    $catid = (int) $catid;
                
    $sql "UPDATE categories SET orderid={$orderid} WHERE catid={$catid}";
                
    $recordSet mysql_query($sql,$this->conn);
                
    $orderid++;
            }
        }
    }
    ?>
    [COLOR=Red]
    _stylesheet.css[/COLOR]


    PHP-Code:
    /* DragDrop */
    div#listContainer {
        
    width170px;
        
    float:left;
        
    height100%;
        }
        
    div#listContainer div {
        
    cursorn-resize;
        
    color:#FFF;
        
    displayblock;
        
    width170px;
        
    height100%;
        
    padding-left10px;
        
    padding-top10px;
        }
        
    div#listContainer ul {    

        
    cursor: default;
        
    color:#000;
        
    displayblock;
        list-
    style-typenone;
        } 
    [COLOR=Red]

    mysql

    [/COLOR]
    PHP-Code:
    -- Tabellenstruktur für Tabelle `categories`
    -- 

    DROP TABLE IF EXISTS `categories`;
    CREATE TABLE IF NOT EXISTS `categories` (
      `catid` int(11) NOT NULL auto_increment,
      `category` varchar(255) NOT NULL,
      `include` varchar(200) NOT NULL,
      `orderid` smallint(6) NOT NULL default '100',
      PRIMARY KEY  (`catid`)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

    -- 
    -- Daten für Tabelle `categories`
    -- 

    INSERT INTO `categories` VALUES (1, 'Online', '<?php include("whoisonline.php"); ?>', 2);
    INSERT INTO `categories` VALUES (2, 'shoutbox', '<?php include("shoutbox.php"); ?>', 4);
    INSERT INTO `categories` VALUES (3, 'Teamspeak', '<?php include("teamspeak.php"); ?>', 1);
    INSERT INTO `categories` VALUES (4, 'Besucher', '<?php include("stats.php"); ?>', 3);
    [COLOR=Red]

    table
    [/COLOR]



    mfg

  • #2
    Du schreibst einfach PHP-Code in eine SQL-Datei und verfütterst sie einem mysql-Kommandozeilentool. So funktioniert das nicht. Der PHP-Code muss irgendwann auch mal ausgeführt werden! Das wird er aber nicht "von selbst". Es gibt keinen kleinen Zauberer in deinem Computer, der dich bei der Arbeit beobachtet und ahnt, was du gern hättest.
    Du mußt selber zaubern! Sorge dafür, dass der PHP-Code ausgeführt wird, bevor du die Datei verfütterst.

    Zu abstrakt? Alles nur blabla? Dann definiere mal bitte, was du eigentlich erreichen möchtest. Wenn ich das weiß, bin ich gern dein Zauberer.

    Kommentar


    • #3
      Ich hab da leider keine große Ahnung von php. Ich weis nicht wie ich den php code befehl ausführen soll, bevor ich ihn verfüttert an die mysql falls ich das richtig verstanden habe.
      Habs grade mal so eben geschaft das die Table überhaupt ein include bereich hat.
      Schon seit Stunden, versuch ich mich durch die php sprache durch zu wühlen.
      Ich bin schon froh das ich einiger maßen den php code entziffern kann.

      Kommentar


      • #4
        PHP-Code hat in der Datenbank nix verloren.

        Da gehören Daten rein und kein Programmcode. Deswegen heißt es auch Datenbank.

        Kommentar


        • #5
          Fakt 1: Dein Vorhaben dürfe möglich sein!
          Fakt 2: Das ist sicherlich keine Nummer für einen Anfänger.

          Datenbank Inhalte werden häufig von Usern erstellt. Und User Code auf dem Server auszuführen ist softwaretechnischer Selbstmord.

          Willst du das wirklich?
          Bitte schön: Urlwrapper: Mysql Tabellen wie ein Dateisystem behandeln
          Wir werden alle sterben

          Kommentar


          • #6
            Ich benutze ein cms system names webspell. Dieses system benutzt eine index.php und lädt die module wie shoutbox, Online User... u.s.w. mit includes
            PHP-Code:
            <?php include("whoisonline.php"); ?>
            in die index.php.

            Meine hp sollte etwas besonderes haben also hab ich mir ein php script fürs Drag and Drop mit speicherung der Position... wenn dann ja was vernünftiges.
            Das problem war das ich nicht wusste das die mysql datenbank daten will und keine php codes.

            Ich möchte aber doch gerne eine lösung finden.

            Aber warum ist das Software Technisch Selbstmord?

            Kommentar


            • #7
              Speichere nur den Namen der zu inkludierenden Datei in der DB.
              Dann $item['include'] an include() übergeben und fertig.

              Kommentar


              • #8
                Ich hab wirklich nicht viel Ahnungüber Php aber wie soll das dann aussehen <?=$item['include'] = include();?> was bei mir aber nicht funktioniert.

                Kommentar


                • #9
                  "nicht viel" ist noch geprahlt. Lies mal ein paar Einsteigertutorials und das Manual oder hole dir einen Profi.

                  Kommentar


                  • #10
                    Zitat von recoil Beitrag anzeigen
                    Ich hab wirklich nicht viel Ahnungüber Php
                    Bevor man irgendwas programmiert, sollte man erstmal die Grundlagen lernen. Alles andere ist ziemlich sinnlos.

                    Kommentar


                    • #11
                      OffTopic:
                      OT-Diskussion abgetrennt.
                      Hier bitte nur noch, wenn es wirklich um die eigentliche Fragestellung geht.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar

                      Lädt...
                      X