Ankündigung

Einklappen
Keine Ankündigung bisher.

dem verzweifeln nahe

Einklappen

Neue Werbung 2019

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

  • #16
    Zitat von andyM
    ach, du wohnst nicht zufälligerweise in der schweiz und würdest php kurse geben???
    a. nein (Erfurt), b. ja (Erfurt)

    OT: Ich bin ja bis voriges Jahr auch noch als Dozent in Sachen Programmierlogik, Webprogrammierung mit PHP und MySQL in verschiedenen Aus- und Weiterbildungsstätten tätig gewesen.

    Kommentar


    • #17
      PHP-Code:
              //Variablen setzen und globalisieren
              
      $date=date("Y-m-d",time()-date(2*24*60*60));

              
      mysql_select_db($db['db']);
              
      $sql ="SELECT  
                          k_id, k_name, k_zeit, DAYOFWEEK(k_beginn) AS wochentag 
                      FROM 
                          kurse 
                      WHERE 
                          k_beginn > '"
      .$date."' 
                      GROUP BY 
                          wochentag"
      ;
           
              
      //Auslesen der Datensätze
              
      $result mysql_query($sql)or die(mysql_error()) ;
              if(
      $result)
              {
                  
      $wochentag = array(=> 'Sonntag',
                                     
      => 'Montag',
                                     
      => 'Dienstag',
                                     
      => 'Mittwoch',
                                     
      => 'Donnerstag',
                                     
      => 'Freitag',
                                     
      => 'Samstag');
                  
      //while-Schlaufe
                  
      while($row mysql_fetch_assoc($result)) 
                  {
                      echo 
      $wochentag[$row['wochentag']];
                      echo 
      $row['k_name']."";
                      echo 
      $row['k_name']."";
                      echo 
      $row['k_zeit']."";
                      echo 
      $row['k_preis'] . " CHF";
                      echo 
      "

      \n"
      ;
                  }
      //Ende while-Schlaufe
              

      habs mal so umformuliert. aber leider wird nun pro wochentag immer nur 1 kurs ausgegeben, auch wenn es mehrere gibt.

      gruss

      Kommentar


      • #18
        Zitat von andyM
        und würdest php kurse geben???
        aber eventuell salsakurse? ^^ .. SCNR ;-P
        [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

        Kommentar


        • #19
          Zitat von andyM
          habs mal so umformuliert. aber leider wird nun pro wochentag immer nur 1 kurs ausgegeben, auch wenn es mehrere gibt.
          Vorschlag: liefere mal ein SQL Export der Tabelle (müssen ja nicht alle Kurse sein. Ca. 20 Datensätze müßten reichen) und ich teste das mal auf meiner Kiste.

          Kommentar


          • #20
            CREATE TABLE `kurse` (
            `k_id` int(11) NOT NULL auto_increment,
            `k_name` varchar(50) NOT NULL default '',
            `k_zeit` varchar(11) NOT NULL default '00:00-00:00',
            `k_beginn` date NOT NULL default '0000-00-00',
            `k_ende` date NOT NULL default '0000-00-00',
            `k_preis` char(3) NOT NULL default '160',
            `k_kursdurchführung` tinyint(3) NOT NULL default '-1',
            PRIMARY KEY (`k_id`)
            ) TYPE=MyISAM AUTO_INCREMENT=24 ;

            #
            # Daten für Tabelle `kurse`
            #

            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (1, 'Basic', '18:30-20:00', '2004-10-13', '2004-11-17', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (2, 'Basic', '20:00-21:30', '2004-10-13', '2004-11-17', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (3, 'Lady Style', '19:00-20:30', '2004-10-14', '2004-11-18', '160', 1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (4, 'Basic', '20:30-22.00', '2004-10-14', '2004-11-18', '160', 1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (5, 'Mittelstufe 2', '20:00-21:30', '2004-10-15', '2004-11-19', '160', 1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (6, 'Lady Style', '12:00-13:30', '2004-10-16', '2004-11-20', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (7, 'Men Style', '12:00-13:30', '2004-10-16', '2004-11-20', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (8, 'Basic', '18:00-19:30', '2004-10-17', '2004-11-21', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (9, 'Basic', '20:30-22:00', '2004-11-22', '2005-01-05', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (10, 'Lady Style', '20:30-22:00', '2004-11-22', '2005-01-05', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (11, 'Basic', '20:00-21:30', '2004-11-23', '2005-01-06', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (13, 'Lady Style', '18:30-20:00', '2004-11-24', '2005-01-07', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (14, 'Men Style', '18:30-20:00', '2004-11-24', '2005-01-07', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (15, 'Basic', '20:00-21:30', '2004-11-24', '2005-01-07', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (16, 'Mittelstufe 1', '20:30-22:00', '2004-11-25', '2005-01-08', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (17, 'Fortgeschritten 1', '20:00-21:30', '2004-11-26', '2005-01-09', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (18, 'Lady Style', '12:00-13:30', '2004-11-27', '2005-01-10', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (19, 'Men Style', '12:13:30', '2004-11-27', '2005-01-10', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (20, 'Lady Style', '13:30-15:00', '2004-11-27', '2005-01-10', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (21, 'Men Style', '13:30-15:00', '2004-11-27', '2005-01-10', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (22, 'Basic', '18:00-19:30', '2004-11-28', '2005-01-11', '160', -1);
            INSERT INTO `kurse` (`k_id`, `k_name`, `k_zeit`, `k_beginn`, `k_ende`, `k_preis`, `k_kursdurchführung`) VALUES (23, 'Basic', '19:30-21:00', '2004-11-28', '2005-01-11', '160', -1);

            Kommentar


            • #21
              Zitat von andyM
              aber leider wird nun pro wochentag immer nur 1 kurs ausgegeben, auch wenn es mehrere gibt.
              Stimmt, weil das GOUP BY Mist ist. ORDER BY ist richtig.
              Code:
              SELECT 
                k_id, 
                k_name, 
                k_zeit, 
                DAYOFWEEK( k_beginn ) AS wochentag
              FROM 
                kurse
              WHERE 
                k_beginn >= NOW( ) 
              ORDER BY 
                wochentag

              Kommentar


              • #22
                kann ich nun nicht inerhalb der while schleife eine forschleife machen, die alle wochen tag als array hat und diese mit der $wochentag vergleichen?

                Kommentar


                • #23
                  Zitat von andyM
                  kann ich nun nicht inerhalb der while schleife eine forschleife machen, die alle wochen tag als array hat und diese mit der $wochentag vergleichen?
                  Warum paßt Du nicht diesen Schnipsel inhaltlich an?

                  Beachte, daß Wochentag von 0 wie Sonntag bis 6 wie Samstag geht und auch bei der Abfrage so sortiert wird.
                  PHP-Code:
                  <?php

                  ##########################################
                  # SQL Abfrage: beginn und ende mit DATE_FORMAT(datum,'%e.%c.%Y') ausgeben! 
                  # $res = mysql_query($sql) OR die (mysql_error()); 
                  # $wochentag = array (0 => 'Sonntag, usw. ); 

                  if (mysql_num_rows($res) > 0# es gab keinen Fehler und es gibt was zum Ausgeben 

                  # definiere vor der Ausgabeschleife eine leere Kontrollvariable 
                     
                  $flag ''

                  # Beginne die HTML Tabelle: 
                     
                  echo '<table>'

                     while (
                  $row mysql_fetch_assoc($res)) 
                     { 
                  # Wochentag 'übersetzen' 
                        
                  $row['wochentag'] = $wochentag[$row['wochentag']]; 

                  # testen, ob neuer Kopf ausgegeben werden muß: 
                        
                  if (empty($flag) OR $flag != [$row['wochentag']) 
                       { 
                           
                  printf ('<tr><td>%s</td></tr>'$row['wochentag']); 
                  # merken 
                           
                  $flag $row['wochentag']; 
                        } 
                        
                  printf ('<tr><td>[url="%s?kurs_id=%s"]%s[/url]</td></tr>' 
                                    'anzeigen.php'

                                    
                  $row['kurs_id'], 
                                    
                  sprintf ('%s vom %s bis %s'$row['title'], $row['beginn'], $row['ende'])); 
                     } 
                     echo 
                  '</table>'

                  else 

                      echo 
                  '<h4>Keine(n) Kurs(e) gefunden.</h4>'

                  # usw.

                  Kommentar


                  • #24
                    PHP-Code:
                    <?php 
                          
                    //Variablen setzen und globalisieren 
                            
                    $date=date("Y-m-d",time()-date(2*24*60*60)); 
                        
                    //Mit der Datenbank verbinden
                        
                    include('inc/database.inc.php');
                        
                    $tmprslt '';
                        
                    $connection mysql_connect($db['host'],$db['uid'],$db['pwd']);
                        if(
                    $connection)
                        {
                            
                    mysql_select_db($db['db']); 
                            
                    $sql ="SELECT   
                                        k_id, k_name, k_zeit, DAYOFWEEK(k_beginn) AS wochentag 
                                    FROM 
                                        kurse 
                                    WHERE 
                                        k_beginn > '"
                    .$date."' 
                                    ORDER BY 
                                        wochentag"

                         
                            
                    //Auslesen der Datensätze 
                            
                    $wochentag = array(=> 'Sonntag'
                                                   
                    => 'Montag'
                                                   
                    => 'Dienstag'
                                                   
                    => 'Mittwoch'
                                                   
                    => 'Donnerstag'
                                                   
                    => 'Freitag'
                                                   
                    => 'Samstag'); 
                     

                    if (
                    mysql_num_rows($res) > 0# es gab keinen Fehler und es gibt was zum Ausgeben 

                    # definiere vor der Ausgabeschleife eine leere Kontrollvariable 
                       
                    $flag ''

                    # Beginne die HTML Tabelle: 
                       
                    echo '<table>'

                       while (
                    $row mysql_fetch_assoc($res)) 
                       { 
                    # Wochentag 'übersetzen' 
                          
                    $row['wochentag'] = $wochentag[$row['wochentag']]; 

                    # testen, ob neuer Kopf ausgegeben werden muß: 
                          
                    if (empty($flag) OR $flag != $row['wochentag']) 
                         { 
                             
                    printf ('<tr><td>%s</td></tr>'$row['wochentag']); 
                    # merken 
                             
                    $flag $row['wochentag']; 
                          } 
                          
                    printf ('<tr><td>[url="%s?kurs_id=%s"]%s[/url]</td></tr>',
                                      
                    'anzeigen.php'
                                      
                    $row['kurs_id'], 
                                      
                    sprintf ('%s vom %s bis %s'$row['k_name'], $row['k_beginn'], $row['k_ende'])); 
                       } 
                       echo 
                    '</table>'

                    else 

                        echo 
                    '<h4>Keine(n) Kurs(e) gefunden.</h4>'
                    }
                    }
                    ?>
                    habs mal versucht...
                    • Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web611/html/test4.php on line 30

                      Keine(n) Kurs(e) gefunden.

                    Kommentar


                    • #25
                      naja, ev. sollte ich mich mal durch 1001 bücher mit dem thema php kämpfen

                      Kommentar


                      • #26
                        Zitat von andyM
                        PHP-Code:
                        <?php 
                              
                        //Variablen setzen und globalisieren 
                                
                        $date=date("Y-m-d",time()-date(2*24*60*60));
                        Sowas ist Unfug!

                        DATE_SUB(NOW(), INTERVAL 2 DAY) # Heute Minus 2 Tage
                        DATE_ADD(NOW(), INTERVAL 2 DAY) # Heute Plus 2 Tage

                        habs mal versucht...
                        • Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web611/html/test4.php on line 30

                          Keine(n) Kurs(e) gefunden.
                        In Deiner SQL Abfrage ist noch ein Fehler drin. Wahrscheinlich Deine ulkige Datumsberechnung.

                        Printe den geparsten String aus, guck ihn Dir an u/o kopier den in das SQL Fenster des PMA rein.

                        Kommentar


                        • #27
                          An Meikel:

                          Hallo Meikel,

                          Ich wollte mich nochmals kurz bei dir bedanken, dass dir so viel mühe mit meinem script gemacht hast. Deinen letzten Vorschlag, konnte ich nicht realisieren, fehlt mir einfach noch an erfhrung.

                          ich habs so gelöst:

                          if abfrage nach der formel $kurstag ist der kurstag != derselbe wie derjenige des vorhergehenden datensatz's, wird der kurstag ausgegeben.

                          naja, es funct auf jeden fall. das ist wohl das wichtigste für mich, aber ich hab wieder einiges gelernt.

                          das ergebnis siest du hier:
                          http://www.salsamor.ch/?cmd=kurs

                          Kommentar

                          Lädt...
                          X