2016-06-02 3 views
-2

Ich bin neu bei Joomla. Ich verwende RSDirectory-Komponente. In diesem muss ich die Validierung anpassen. Ich habe eine Datei namens rsdirectory.php, die sich befindet: Administrator> Komponenten> com_resdirectory> Helfer> rsdirectory.php.Überprüfen Sie für die Validierung von verschiedenen Tabellen - Joomla

Ich habe eine Tabelle, Tabelle1. In dem ein eindeutiger Code gespeichert ist. Jetzt möchte ich ein Formular mit diesem Code ausfüllen, wenn vorhanden, dann wird die Abfrage ausgeführt, sonst wird mein Validierungscode ausgeführt. Ich habe das erfolgreich gemacht. Jetzt habe ich eine andere Tabelle, Tabelle2, in der meine Daten gespeichert werden, wenn ich ein Formular mit einzigartigem Code ausfülle. Ich möchte nur meinen eindeutigen Code überprüfen, ob es in Tabelle 2 vorhanden ist oder nicht. Wenn vorhanden, wird die Validierung ausgeführt. Ich möchte dieselbe Funktion für beide verwenden.

Hier ist mein Code. Danke im Voraus.

public static function uniquestacksfield($value, $column,$column1,$id1=null, $id = null){ 
    // Get DBO. 

    $column = 'uni_code'; 

    $db = JFactory::getDBO(); 



    $query = $db->getQuery(true) 

      ->select($db->qn('id')) 

      ->from($db->qn('#_table1', 'e')) 


      ->where($db->qn($column) . ' = ' . $db->q($value)); 

    $db->setQuery($query); 

    $entry = $db->loadObject(); 



    if ($id) { 

     $query->where($db->qn('e.id') . ' = ' . $db->q($id)); 

    } 

     $db->setQuery($query, 0, 1); 

     return $db->loadResult(); 

/------------------ eine weitere Abfrage --------------------- -/

$column1 = 'uni_code2'; 
     $db1 = JFactory::getDBO();  
     $query1 = $db1->getQuery(true) 

      ->select($db1->qn('entry_id')) 

      ->from($db1->qn('#_table2', 'c')) 


      ->where($db1->qn($column1) . ' = ' . $db1->q($value)); 

    $db1->setQuery($query1); 

    $entry1 = $db1->loadObject(); 



    if ($id1) { 

     $query1->where($db1->qn('c_entry_id') . ' = ' . $db1->q($id1)); 

    } 

     $db1->setQuery($query1, 0, 1); 





    return $db1->loadResult(); 

}` 
+0

mehr Ihren Kriterien erklären Wir sind für Sie nicht gonna schreiben sie, was haben Sie versucht, und warum nicht sie? – Epodax

+0

Ich habe versucht, zwei Abfragen innerhalb einer einzigen Funktion von Joomle zu schreiben. Ist es möglich oder nicht so? – Poorvi

+0

Können Sie den Link dieser Joomla-Erweiterungen angeben oder können Sie den Link hochladen und geben? Es ist schwer zu verstehen, was Sie wollen. –

Antwort

0

ich Code unten denken ist, kann sein use.you versuchen es jetzt. es ist nicht gut

public static function uniquestacksfield($value, $column,$column1,$id1=null, $id = null){ 
    // Get DBO. 
    $db = JFactory::getDBO(); 
    $column = 'uni_code'; 
    $column1 = 'uni_code2'; 

    if($column == 'uni_code') {  
     $query = $db->getQuery(true) 
       ->select($db->qn('id')) 
       ->from($db->qn('#_table1', 'e')) 
       ->where($db->qn($column) . ' = ' . $db->q($value)); 
     $db->setQuery($query); 
     $entry = $db->loadObject();  
     if ($id) { 
      $query->where($db->qn('e.id') . ' = ' . $db->q($id)); 
     }  
    } else { 
     $query = $db->getQuery(true) 
      ->select($db->qn('entry_id')) 
      ->from($db->qn('#_table2', 'c')) 
      ->where($db->qn($column1) . ' = ' . $db->q($value)); 
      $db->setQuery($query); 
      $entry = $db1->loadObject(); 
     if ($id) { 
      $query->where($db->qn('c_entry_id') . ' = ' . $db->q($id1)); 
     } 
    } 

     $db->setQuery($query, 0, 1); 
     $item = $db->loadResult(); 
    return $item; 
} 
+0

Danke, aber ich denke, du hast nicht verstanden, was ich will. Eigentlich habe ich zwei Tabellen.eine, von denen ich meinen Wert überprüfen muss, ob es in der Tabelle existiert oder nicht. es sollte in dieser Tabelle existieren. Und in anderer Tabelle sollte es nicht existieren. – Poorvi

Verwandte Themen