+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Variable für SQL query übergeben

  1. #1
    Neu an Board Avatar von aaren
    Registriert seit
    03.09.2006
    Beiträge
    34
    Bedankte sich
    5
    1 Danksagung in 1 Beitrag

    Daumen hoch Variable für SQL query übergeben

    Hallo zusammen,

    ich versuche gerade eine neue Komponente zu entwickeln. Das Backend ist soweit fertig, die Datenbank kann mit Daten gefüllt werden.

    Jetzt steh ich aber ein wenig auf dem Schlauch im Frontend. Ich arbeite mit der Model/View/Controller Geschichte und soweit werden die Daten daraus wunderbar angezeigt. Kurzum, die Komponente listet im Prinzip alle Einträge aus der Datenbank-Tabelle alphabetisch auf.

    Code:
    com_xyz/models/all.php
    com_xyz/views/all/view.html.php
    com_xyz/views/all/tmpl/default.php
    In der "default.php" ist meine HTML Ausgabe, genau dort habe ich die Ausgabe mit einem Alphabetischen verlinkten Index erweitert. [A] [B] [C] [D]...
    Wenn man mit der Maus über die Buchstaben fährt, dann erkennt man, dass die Variable "stamp=A" oder "stamp=B" mitgegeben werden.

    Wenn ich auf A klicke, dann soll mir die SQL query in meiner "all.php" mit dieser Variable gefüttert werden und genau hier hab ich ein Verständnisproblem. Ich würde gerne die Variable $stamp an die query weitergeben. Ich habe auch versucht mit $getStamp = JRequest::getVar('stamp'); die Variable in der Funktion auszulesen und zuzuweisen, jedoch klappte dies auch nicht.

    Siehe Code => SELECT * FROM #__telbuch WHERE published = '1' AND nsort LIKE 'HIER SOLL DIE STAMP REIN' ORDER BY nsort ASC

    PHP-Code:
    class ModelTelbuchAll extends JModel
    {
        var 
    $_telbuch null;
        
        function 
    getList()    
        {      
          
    $query "SELECT * FROM #__telbuch WHERE published = '1' AND nsort LIKE '[HIER SOLL DIE STAMP REIN]' ORDER BY nsort ASC";                        
          
    $this->_telbuch $this->_getList($query0);
        }        
      return 
    $this->_telbuch;               

    Wie könnte ich diese "$stamp" Variable an die SQL Query in com_xyz/models/all.php übergeben oder habe ich grundsätzlich einen falschen Ansatz. Wie gesagt die Liste wird komplett dargestellt, soweit funktioniert dies auch.

    Vielen Dank im voraus.

    Grüsse
    Geändert von aaren (12.04.2010 um 09:44 Uhr)

  2. #2
    Neu an Board Avatar von aaren
    Registriert seit
    03.09.2006
    Beiträge
    34
    Bedankte sich
    5
    1 Danksagung in 1 Beitrag

    Standard

    Au mann - bitte verschieben, wiedereinmal falscher Bereich :( geht ja um Komponente / Entwicklung

    Sorry :(

  3. #3
    Moderator Avatar von Lacki
    Registriert seit
    27.04.2006
    Ort
    Direkt um die Ecke
    Beiträge
    8.739
    Bedankte sich
    337
    Erhielt 3.615 Danksagungen
    in 2.974 Beiträgen

  4. Erhielt Danksagungen von:


  5. #4
    Neu an Board Avatar von aaren
    Registriert seit
    03.09.2006
    Beiträge
    34
    Bedankte sich
    5
    1 Danksagung in 1 Beitrag

    Standard

    Hallo,

    habe ein wenig rumgetestet und festgestellt, dass die Probleme meine "route.php" verursacht. Jedoch hätte ich schon gerne, dass dieses "stamp=A" usw... URL freundlich aussieht.

    Sobald ich die stamp deaktiviere in der unteren function, dann tut's soweit aber eben ohne URL-freundliche Darstellung.

    PHP-Code:
    <?php
    defined
    '_JEXEC' ) or die ( 'Restricted access' );

    function 
    TelbuchBuildRoute(&$query)
    {
        
    $segments = array();
        
        if (isset(
    $query['task'])) {
            
    $segments[] = $query['task'];
            unset(
    $query['task']);        
        }
        
        if (isset(
    $query['id']))
        {
            
    $segments[] = $query['id'];
            unset(
    $query['id']);
        }
        
        
        if (isset(
    $query['stamp']))
        {
            
    $segments[] = $query['stamp'];
            unset(
    $query['stamp']);
        }     
        return 
    $segments;
    }

    function 
    TelbuchParseRoute($segments)
    {
        
    $vars = array();
        
    $vars['task'] = $segments[0];
        
    $vars['id'] = $segments[1];
        
    $vars['stamp']= $segments[2];
        return 
    $vars;
    }
    ?>
    Jetzt muss ich mich mal in die "route.php" einarbeiten aber ich versteh nicht ganz warum die Variable stamp nicht weitergegeben wird.

  6. #5
    Neu an Board Avatar von aaren
    Registriert seit
    03.09.2006
    Beiträge
    34
    Bedankte sich
    5
    1 Danksagung in 1 Beitrag

    Standard

    also bisher hab ich das ganze normal gelöst, jedoch ist es eben nicht url freundlich, das lass ich dann soweit stehen.

    Ich gebe die Variable für den alphabetischen Index nun ganz normal mit /telefonbuch?stamp=A ohne irgendwelche Einträge in der route.php weiter.

+ Antworten

Lesezeichen

Berechtigungen

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