zusätzliche Abfrage

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

  • zusätzliche Abfrage

    Es geht um folgenden Code:

    PHP-Code:
        function check_mandant()
        {
            
    $db = &singleton('database');
            
            
    // Mandant anhand des Firmenschalter suchen
            
    $mandant $db->queryRow('SELECT * FROM kundenlizenzen WHERE Firmenschalter = \''$this->get['f'] .'\'');
            
            if(!
    $mandant) {
                
    $mandant $db->queryRow('SELECT * FROM kundenlizenzen WHERE FB1 = \''$this->get['fb1'] .'\'');
            } else {
                return 
    $mandant['ID'];
            }

            if(!
    $mandant) {
                
    $ssql 'INSERT INTO kundenlizenzen (FB1, FB2, PLZ, Firmenschalter, AngelegtAm) '.
                        
    'VALUES (\''.$this->get['fb1'].'\', \''.$this->get['fb2'].'\', \''.$this->get['p'].'\', \''.$this->get['f'].'\', NOW())';
                
                
    $db->query($ssql);
                
                
    $id $db->insertId();
                
    $this->log($this->user_idsprintf($this->config['msg_mandant_not_found'], $this->get['fb1'], $id));
                
                return 
    $id;
            } else {
                return 
    $mandant['ID'];
            }
        } 
    Schilderung der Situation:

    Habe eine Lizenzverwaltung programmiert mit vb.

    Das php-script schreibt mir die benötigten Daten in eine Mysql-DB.

    Mein Vb programm hat nun 2 tabellen:

    in der oberen werden alle firmen aufgelistet,darunter die dazugehoerigen computer der firma.

    d.h die computer werden anhand einer ID den Firmen zugeordnet.

    Das php programm fragt nun ab, ob der Firmenschalter vorhanden ist,oder nicht, wenn nicht, prüft er zusätzlich, ob die firmenbezeichnung1 vorhanden ist. sind beide bedingungen erüllt, legt er die FIRMA an.

    nun ist das problem aufgetreten, dass manche firmen keinen firmenschalter hatten: firma wurde nicht angelegt, die computer aber bei der nächstbesten Firma angelegt.

    also fehlt wohl eine abfrage, was passiert, wenn der firmenschlater "leer" ist.

    hat jmd, rat?

    P.S.: php ist für mich komplettes Neuland.

  • #2
    Zum einen würde ich das mit einer Abfrage erledigen es gibt da z.B. so etwas wie ein OR

    Zum anderen

    wie kann eine mandant['id'] zurück gegeben werden wenn er keinen gefunden hat ?

    Kommentar


    • #3
      Beides schlug fehl.

      das kann ich dir auch nicht sagen, was unser phpler sich dabei gedacht hat.

      Kommentar


      • #4
        PHP-Code:
        function  check_mandant()
         {
          
        $db = &singleton('database');
             
        $mandant=false;

                
        $mandant $db->queryRow('SELECT *  FROM kundenlizenzen WHERE Firmenschalter = \''$this->get['f']  .'\'' OR FB1 = \''.  $this->get['fb1'] .'\'');
            if (
        $mandant)
            return 
        $mandant['ID']; 
            else
            return 
        $mandant;

        Zuletzt geändert von ; 06.07.2009, 14:39. Grund: Ankürzung

        Kommentar


        • #5
          [COLOR=#000000][COLOR=#006600]Vielen Dank!

          Habe aber auch ne Lösung gefunden, bzw. nochmal genauer in den code geschaut.
          [/COLOR][/COLOR]
          PHP-Code:
          SELECT FROM kundenlizenzen WHERE Firmenschalter = \''$this->get['f'] .'\' OR Firmenschalter = ' 
          [COLOR=#000000][COLOR=#006600]'

          Nochmals danke für die schnelle hilfe.


          [/COLOR][COLOR=#006600][/COLOR][/COLOR]

          Kommentar

          Lädt...
          X