Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Wochentag in FOR Schleife

  1. #1
    Teeny
    Registriert seit
    16.10.2005
    Beiträge
    31
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Wochentag in FOR Schleife

    Moin,

    kann sein das ichheute morgen Blind bin aber ich seh den Fehler nicht. Ich möchte WochenTage angeben weil ich eine Tabelle habe die von Mo bis So sortiert werden soll und order by sortiert ja nach dem ABC. Aber ich glaube ich habe ein Problem in der Schleife. Kann man das evtl noch viel einfacher machen ?
    [php:1:fea30ba08d]<?php

    $conn = @mysql_connect($server, $user, $pass);
    @mysql_select_db($datenbank, $conn);

    if ($conn!=TRUE)
    {
    echo "Verbindungsfehler: ".mysql_error()." !! Versuchen Sie es zu einem sp&auml;teren Zeitpunkt nochmals. Danke.";
    die;
    }

    $wotag = array ('So','Mo','Di','Mi','Do','Fr','Sa');
    for ($w=0; $w<7; $w++) // Wochentage hochzählen
    echo "$wotag"; // TESTAUSGABE

    $sql = "select * from TFG_Kurse where wochentag=$wotag order by von,bis desc";
    $result = mysql_query($sql);
    echo mysql_error();
    while ($daten = mysql_fetch_array($result))

    {
    ?>
    <table border="0" cellspacing="2" cellpadding="0">
    <tr height="15">
    <td width="31" height="15"><?php echo "$daten[wochentag]"?></td>
    <td width="31" height="15"><?php echo "$daten[von]"?></td>
    <td width="8" height="15">
    <div align="center">
    - </div>
    </td>
    <td width="83" height="15"><?php echo "$daten[bis]"?> Uhr</td>
    <td width="200" height="15"><?php echo "$daten[kurs]"?></td>
    <td width="100" height="15"><?php echo "$daten[trainer]"?></td>
    </tr>
    </table>
    <?php }



    ?>
    ?>[/php:1:fea30ba08d]
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Naja, du hast auf jeden einen schlechten schreibstyle wie ich finde.

    Versuch es mal so:
    Code:
    <?php
    
    $conn = @mysql_connect&#40;$server, $user, $pass&#41;;
    @mysql_select_db&#40;$datenbank, $conn&#41;;
    
    if &#40;$conn!=TRUE&#41;
    &#123;
        echo "Verbindungsfehler&#58; ".mysql_error&#40;&#41;." !! Versuchen Sie es zu einem sp&amp;auml;teren Zeitpunkt nochmals. Danke.";
        die;
    &#125;
    
    $wotage = array &#40;'So','Mo','Di','Mi','Do','Fr','Sa'&#41;;
    foreach&#40;$wotage AS $wotag&#41;
    echo $wotag; // TESTAUSGABE
    
    $sql = "SELECT * FROM `TFG_Kurse` WHERE `wochentag`='$wotag' ORDER BY `von`ASC, `bis` DESC";
    $result = mysql_query&#40;$sql&#41; or die&#40;mysql_error&#40;&#41;&#41;;
    
    while &#40;$daten = mysql_fetch_assoc&#40;$result&#41;&#41;
    &#123;
    ?>
          <table border="0" cellspacing="2" cellpadding="0">
             <tr height="15">
                <td width="31" height="15"><?=$daten&#91;'wochentag'&#93;?></td>
                <td width="31" height="15"><?=$daten&#91;'von'&#93;?></td>
                <td width="8" height="15" align="center"> - </td>
                <td width="83" height="15"><?=$daten&#91;'bis'&#93;?> Uhr</td>
                <td width="200" height="15"><?=$daten&#91;'kurs'&#93;?></td>
                <td width="100" height="15"><?=$daten&#91;'trainer'&#93;?></td>
             </tr>
          </table>
    <?php &#125; ?>
    Kopiere es ganz und nicht nur Teile, ich habe viel verändert.

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    16.10.2005
    Beiträge
    31
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo und Danke vorab !

    Also ich bin noch beginner und bin dabei mich zu verbessern, an meinem Schreibstil werde ich arbeiten

    Die Ausgabe des oben stehenden Codes ist "SoMoDiMiDoFrSa" Also die Zeile der Testausgabe. Er Setzt die Wochentage alle in einen String und nimmt die nicht auseinander das nur "So" da steht. Wie kommt das ?

    Achja ...<?=$daten['wochentag']?>.... Kann man das hier ohne Echo schreiben, ich dachte dies muss für die Ausgabe angegeben werden?

    Gruss

  4. #4
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich kenne den aufbau der DB nicht und habe ka was du da drinne hast.

    und das was du meisnt, wird udrch
    echo $wotag; // TESTAUSGABE

    erzeugt.

    und wenn du im htmlcode nur fix ne ausgaben machen willst, kann man auch <?= verwenden, das ich gleich wertig wie <?PHP echo

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    16.10.2005
    Beiträge
    31
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Der Aufbau ist so in etwa.
    Code:
               
              id wochentag von bis kurs ort trainer info 
              1 MO 07.15 8.15 H2O Gym Schwimmbad Ursula test 
              2 MO 08.45 9.45 Nordic Walking Treffpunkt Turnhalle Ursula test 
              3 MO 09.45 10.45 Yoga Spiegelsaal Ursula test 
              4 MO 16.45 17.45 Dance 4 Teens Spiegelsaal Katja test 
              5 MO 18.00 19.00 BBP Turnhalle Franziska test 
    
      Feld  Typ Attribute Null Standard Extra Aktion 
       id  int&#40;3&#41;   Nein    auto_increment              
       wochentag  char&#40;2&#41;   Nein                  
       von  varchar&#40;5&#41;   Nein                  
       bis  varchar&#40;5&#41;   Nein                  
       kurs  varchar&#40;150&#41;   Nein                  
       ort  varchar&#40;50&#41;   Nein                  
       trainer  varchar&#40;50&#41;   Nein                  
       info  varchar&#40;250&#41;   Ja  NULL
    Das Problem ist das er nicht erst alle MO und dann alle DI etc ausgibt weil $wotag halt nicht beim ersten Durchlauf SO, beim zweiten MO ausgibt sondern immer SOMODI ... usw. Das was ich versuche ist ja das er erst einmal Sonntag benutzt, dann Montag, Dienstag, ...

  6. #6
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    dann mache es doch einfach so:

    $sql = "SELECT * FROM `TFG_Kurse` GROUP BY `wochentag` ORDER BY `von`ASC, `bis` DESC";
    $result = mysql_query($sql) or die(mysql_error());

    while ($daten = mysql_fetch_assoc($result))
    {
    ?>
    <table border="0" cellspacing="2" cellpadding="0">
    <tr height="15">
    <td width="31" height="15"><?=$daten['wochentag']?></td>
    <td width="31" height="15"><?=$daten['von']?></td>
    <td width="8" height="15" align="center"> - </td>
    <td width="83" height="15"><?=$daten['bis']?> Uhr</td>
    <td width="200" height="15"><?=$daten['kurs']?></td>
    <td width="100" height="15"><?=$daten['trainer']?></td>
    </tr>
    </table>
    <?php } ?>

  7. #7
    Teeny
    Themenstarter

    Registriert seit
    16.10.2005
    Beiträge
    31
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von GreenRover
    dann mache es doch einfach so:

    $sql = "SELECT * FROM `TFG_Kurse` GROUP BY `wochentag` ORDER BY `von`ASC, `bis` DESC";
    $result = mysql_query($sql) or die(mysql_error());

    while ($daten = mysql_fetch_assoc($result))
    {
    ?>
    <table border="0" cellspacing="2" cellpadding="0">
    <tr height="15">
    <td width="31" height="15"><?=$daten['wochentag']?></td>
    <td width="31" height="15"><?=$daten['von']?></td>
    <td width="8" height="15" align="center"> - </td>
    <td width="83" height="15"><?=$daten['bis']?> Uhr</td>
    <td width="200" height="15"><?=$daten['kurs']?></td>
    <td width="100" height="15"><?=$daten['trainer']?></td>
    </tr>
    </table>
    <?php } ?>
    wenn ich so
    Code:
    $sql = "SELECT * FROM `TFG_Kurse` ORDER BY `wochentag` and `von`ASC";
    sortiere sortiert er nicht richtig. ein MO für Montag steht nach Freitag und 07.45 Uhr kommt nach 08.15 Uhr ..

    Wenn ich
    Code:
     
    $sql = "SELECT * FROM `TFG_Kurse` GROUP BY `wochentag` ORDER BY `von`ASC, `bis` DESC";
    sortiere kommt denke ich wegen group jeder wochentag nur einmal vor. ich hab aber angenommen mal

    4x Mo
    2xDi
    9xMi
    1xDo
    3xFr

    und jeweils verschiedene Uhrzeiten nach denen ebenfalls sortiert werden soll. wie funzt das am besten ?

  8. #8
    Teeny
    Themenstarter

    Registriert seit
    16.10.2005
    Beiträge
    31
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Naja eine Lösung wäre ja WHERE = und dann je einen WOchentag und die Tabelle halt 5 mal untereinander einbauen... aber das geht bestimmt einfacher.

  9. #9
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    wiso? dir ist klar, das 5 sql abfragen mehr leistung brauchen als diese variante??

  10. #10
    Teeny
    Themenstarter

    Registriert seit
    16.10.2005
    Beiträge
    31
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ja, ist ne übergangslösung. ich habe es leider nicht hinbekommen das er In der Reihenfolge der Wochentage sortiert. So Musste ich mir so behelfen Geht es denn anders ?

Ähnliche Themen

  1. while schleife
    Von Walerik im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 18.01.2008, 17:25
  2. Zeitleisten und Schleife
    Von McPokers im Forum Flash Forum
    Antworten: 2
    Letzter Beitrag: 02.05.2007, 15:47
  3. Problem mit do/while Schleife
    Von tenshi im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 05.11.2006, 13:50
  4. Problem mit do/while Schleife
    Von tenshi im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 04.11.2006, 18:38
  5. AS: Movieclipeigenschaften in Schleife
    Von Feiv im Forum Flash Forum
    Antworten: 0
    Letzter Beitrag: 14.10.2006, 01:19

Stichworte

Berechtigungen

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