+ Antworten
Ergebnis 1 bis 2 von 2

Thema: Select-Eintrag wird bei Edit und Save nicht übernommen

  1. #1
    Verbringt hier viel Zeit Avatar von Grazioli
    Registriert seit
    16.08.2006
    Ort
    Lachen SZ/ Schweiz
    Alter
    34
    Beiträge
    658
    Bedankte sich
    35
    Erhielt 139 Danksagungen
    in 128 Beiträgen

    Standard Mehrfachauswahl von Select-Eintrag speichern und wiedergeben

    Hallo zusammen,

    folgendes Problem, wie im Titel angezeigt! Bei Edit und Save wird bei zwei Select-Listen die Einträge nicht übernommen.

    Da ich jetzt schon den halben nachmittag daran verbracht habe, sehe ich den Wald vor lauter Bäumen nicht mehr!

    In der Haupt-DB sind die Spalten "fatid" und "catid" als int(11) erstellt.
    In den zwei Unter-DB's sind die Spalten "fid" und "caid" als int(11) und auto_increment erstellt.

    PHP-Code:
        function edit()
        {
            
    $db        =& JFactory::getDBO();
            
    $user    =& JFactory::getUser();

            if (
    $this->_task == 'edit') {
                
    $cid    JRequest::getVar('cid', array(0), 'method''array');
                
    $cid    = array((int) $cid[0]);
            } else {
                
    $cid    = array( );
            }

            
    $option JRequest::getCmd('option');

            
    $lists = array();

            
    $row =& JTable::getInstance('mission''Table');
            
    $row->load$cid[0] );

            if (
    $cid[0]) {
                
    $row->checkout$user->get('id') );
            } else {
                
    $row->published 1;
            }

            
    $sql "SELECT caid, name FROM #__mcategory";
                
    $db->setQuery($sql);
                if (!
    $db->query()) {
                
    $this->setRedirect'index.php?option=com_mycomponent' );
                return 
    JError::raiseWarning500$db->getErrorMsg() );
            }

            
    $categorylist[] = JHTML::_'select.option','0'JText::_('Select Kategorie'), 'caid''name');
            
    $categorylist array_merge($categorylist$db->loadObjectList());
            
    $lists['caid'] = JHTML ::_'select.genericlist',$categorylist'caid''class="inputbox" size="1"''caid''name'$row->caid);

            
    $sql "SELECT fid, name FROM #__fire";
                
    $db->setQuery($sql);
                if (!
    $db->query()) {
                
    $this->setRedirect'index.php?option=com_mycomponent' );
                return 
    JError::raiseWarning500$db->getErrorMsg() );
            }

            
    $firelist[] = JHTML::_'select.option','0'JText::_('Select Feuerwehr'), 'fid''name');
            
    $firelist array_merge($firelist$db->loadObjectList());
            
    $lists['fid'] = JHTML ::_'select.genericlist',$firelist'fid''class="inputbox" size="5" multiple="true"''fid''name'$row->fid);


            
    $mission_params = new JParameter$row->params );
            
    $lists['width'] = $mission_params->get'width');
            
    $lists['height'] = $mission_params->get'height');

            
    // Imagelist
            
    $javascript            'onchange="changeDisplayImage();"';
            
    $directory            '/images/missions';
            
    $lists['imageurl']    = JHTML::_('list.images',  'imageurl'$row->imageurl$javascript$directory"bmp|gif|jpg|png|swf"  );

            
    // sticky
            
    $lists['sticky']    = JHTML::_('select.booleanlist',  'sticky''class="inputbox"'$row->sticky );

            
    // published
            
    $lists['published'] = JHTML::_('select.booleanlist',  'published'''$row->published );

            require_once(
    JPATH_COMPONENT.DS.'views'.DS.'mission.php');
            
    MissionsViewMission::mission$row$lists );
        } 
    PHP-Code:
        function save()
        {
            global 
    $mainframe;

            
    // Check for request forgeries
            
    JRequest::checkToken() or jexit'Invalid Token' );

            
    $this->setRedirect'index.php?option=com_mycomponent' );

            
    // Initialize variables
            
    $db =& JFactory::getDBO();

            
    $post    JRequest::get'post' );
            
    // fix up special html fields
            
    $post['custommissioncode'] = JRequest::getVar'custommissioncode''''post''string'JREQUEST_ALLOWRAW );

            
    $row =& JTable::getInstance('mission''Table');

            if (!
    $row->bind$post )) {
                return 
    JError::raiseWarning500$row->getError() );
            }

            
    // Sets impressions to unlimited when `unlimited` checkbox ticked
            
    $unlimited JRequest::getBool('unlimited');
            if (
    $unlimited) {
                
    $row->imptotal 0;
            }

            if (!
    $row->check()) {
                return 
    JError::raiseWarning500$row->getError() );
            }

            
    // if new item order last in appropriate group
            
    if (!$row->bid)
            {
                
    $where 'caid = '.(int) $row->catid;
                
    $row->ordering $row->getNextOrder$where );
            }

            if (!
    $row->store()) {
                return 
    JError::raiseWarning500$row->getError() );
            }
            
    $row->checkin();

            switch (
    $task)
            {
                case 
    'apply':
                    
    $link 'index.php?option=com_mycomponent&task=edit&cid[]='$row->bid ;
                    break;

                case 
    'save':
                default:
                    
    $link 'index.php?option=com_mycomponent';
                    break;
            }

            
    $this->setRedirect$linkJText::_'Item Saved' ) );
        }

        function 
    cancel()
        {
            
    // Check for request forgeries
            
    JRequest::checkToken() or jexit'Invalid Token' );

            
    $this->setRedirect'index.php?option=com_mycomponent' );

            
    // Initialize variables
            
    $db        =& JFactory::getDBO();
            
    $post    JRequest::get'post' );
            
    $row    =& JTable::getInstance('mission''Table');
            
    $row->bind$post );
            
    $row->checkin();
        } 
    In meiner View hole ich die Daten mit <?php echo $lists['caid']; ?> beziehungsweise mit <?php echo $lists['fid']; ?> heraus!

    Anbei die ganze controller.php!

    Hat jemand eine Hilfestellung für mich? Bedanke mich im voraus dafür!
    Geändert von Grazioli (19.02.2010 um 21:14 Uhr)
    Grues Grazioli
    ------------------------

    www.int-firefighters.com / www.grazioli-web.ch / www.feuerwehr-lachen.ch

  2. #2
    Verbringt hier viel Zeit Avatar von Grazioli
    Registriert seit
    16.08.2006
    Ort
    Lachen SZ/ Schweiz
    Alter
    34
    Beiträge
    658
    Bedankte sich
    35
    Erhielt 139 Danksagungen
    in 128 Beiträgen

    Standard

    Das mit den Select-Liste habe ich hinbekommen!

    Nun möchte eine Mehrfachauswahl treffen können, aber weis nicht wie!

    Ich habe nun mal noch eine weiter DB erstellt, in der die id der Haupt-DB und die ID der Unter-BD (beide als init) aufgeführt sind.

    Wie fahre ich fort?
    Grues Grazioli
    ------------------------

    www.int-firefighters.com / www.grazioli-web.ch / www.feuerwehr-lachen.ch

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein