1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Bitte Hilfe bei Abfrage ACF Repeater Felder als jQuery

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von taro09, 16 Juli 2016.

  1. taro09

    taro09 Neuer Benutzer

    Hallo,
    kann mir hier jemand helfen ? Ist für Leute, die sich auskennen wahrscheinlich gar nicht so schwierig...
    Habe hebe eine Wordpress Seite mit Advanced Custom Repeater Feldern.
    Die folgende Abfrage, gibt mir eine Liste mit Beginn, Ende, Preis, Link ect. geordnet nach Beginn Datum aus. Das funktioniert auch.
    Nun möchte ich zu der Abfrage die Termine einer weiteren Repeater Gruppe hinzufügen.
    Diese Felder heissen dann:

    termineneu_%_beginn,
    termineneu_%_ende,
    termineneu_%_preis,
    termineneu_%_buchbar ect.

    Also beide Gruppen 't_block_' und 'termineneu_ ' sollen in der Ausgabeliste erscheinen und entsprechend nach Beginn geordnet werden. Geht das ?


    Code:
    <?php
    // get all rows from the postmeta table where the sub_field (type) equals 'june, or "06"'
    // - http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
    // $date = date('Ymd');   
     
        $rows = $wpdb->get_results($wpdb->prepare(
                "
                SELECT *
                FROM $wpdb->postmeta  pm
                Join wp_posts p ON pm.post_id=p.ID
                WHERE p.post_status = 'publish' AND pm.meta_key LIKE %s
                AND pm.meta_value LIKE %s
                AND pm.meta_value > CURDATE()
               ORDER BY pm.meta_value ASC;
                ",    
                  't_block_%_beginn', // meta_name: $ParentName_$RowNumber_$ChildName
               "201608__"  // meta_value:
             
             ));
       
        // loop through the results
        if( $rows )
        {
            foreach( $rows as $row )
            {
    // for each result, find the 'repeater row number' and use it to load the info!                           
        preg_match('_([0-9]+)_', $row->meta_key, $matches);
               
    $meta_key_beginn = 't_block_' . $matches[0] . '_beginn'; // $matches[0] contains the row number!
             $beginn_id = get_post_meta( $row->post_id, $meta_key_beginn, true );
             $timestamp_beginn = DateTime::createFromFormat('Ymd', $beginn_id);
    
             $meta_key_ende = 't_block_' . $matches[0] . '_ende';
             $ende_id = get_post_meta( $row->post_id, $meta_key_ende, true );
             $timestamp_ende = DateTime::createFromFormat('Ymd', $ende_id);
            
             $meta_key_preis = 't_block_' . $matches[0] . '_preis'; // $matches[0] contains the row number!
             $preis = get_post_meta( $row->post_id, $meta_key_preis, true );
            
              $meta_key_buchbar = 't_block_' . $matches[0] . '_buchbar';
              $buchbar = get_post_meta( $row->post_id, $meta_key_buchbar, true );
             
              $meta_key_sprache = 't_block_' . $matches[0] . '_sprache';
              $sprache = get_post_meta( $row->post_id, $meta_key_sprache, true );
        
          echo '<li>' ;
             echo '<h5>' . $timestamp_beginn->format('d.m.Y') . '  -  ';  
          echo '' .   $timestamp_ende->format('d.m.Y') . ' :'; 
          echo '  ' ."<a href='" . get_permalink($row->post_id) . "'>";
          echo get_the_title( $row->post_id ).'   ';
          echo "</a>";
          echo '  ' . $preis . ' € ';
          echo ' ' . $sprache . ' ';
          echo '  ' . $buchbar . '</li></h5>' ;
                
                 ?>                            
               
    <?php
        }
    }
    ?>
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Bitte versuch Dein Problem mal rein auf DB-Ebene zu reduzieren, PHP-Code ist hier vollständig fehl am Platz. Dafür gibt es andere Foren.
     
  3. taro09

    taro09 Neuer Benutzer

    Oh sorry, dachte das würde hierher passen, weil es ja auch ne Datenbankabfrage ist. Dann versuch ichs mal woanders
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden