2-Diensionales Array

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

  • 2-Diensionales Array

    Hallo,
    Folgendes Problem stellt sich mir :

    Ich erstelle gerade einen Kalender,
    und habe in einer mysql tabelle das datum eines eintrages gespeichert,
    lese diese aus und speicher dies in einem array

    PHP-Code:
    $sql "SELECT *,
                    date_format(Datum, '%d.%m') AS Datum,
                    date_format(Datum, '%k') As Zeit
                    from kalender WHERE Datum >= '"
    .$montagsql."' AND Datum <= '".$sonntagsql."'";
    $query mysql_query($sql); 


    while ( 
    $row mysql_fetch_array($query))
    {
        
    $Kalender[$row['Datum']][$row['Zeit']]= $row['Inhalt'];

    danach möchte ich alles Stunden weise ausgeben (jede Stunde hat eine Zeile in einer tabelle <td> somit):



    PHP-Code:
    for($uhr=8;$uhr<22;$uhr++)
    {
    //Hier gebe ich vorne die Uhrzeit aus:
    echo '<tr>
    <td align=Right class="uhrzeit">'
    .$uhr.' : 00</td>';
    //und danach die einzelnen Tage bzw. spalten
    echo '<td>';
                    if(!empty(
    $Kalender[$montag]))
                    foreach(
    $Kalender[$montag] as $Kalendereintrag)
                    echo 
    '<img src="../images/smilies/kalender/turnier.gif" onmouseover="Tip(\''.$Kalendereintrag.'\')"> ';
                    else echo 
    '&nbsp;';
                    echo 
    '</td>';



    Nun müsste ich nochüberprüfen ob der eintrag im Array der Zeit übereinstimmt in der ich mich gerade befinde (--> $uhr)

    Leider weis ich nicht wie ich dies Abfangen könnte ?
    (Ok ein IF muss es sein... soweit ist es mir auch bewusst nur weis ich nicht wie ich abfragen kann was der Inhalt der 2ten Klammer ist
    $Kalender[$montag][ DAS HIER DRIN ] )

    Hoffe auf hilfe
    Zuletzt geändert von ChristiaNN; 02.09.2007, 16:42.

  • #2
    Na genauso wie du es reinschreibst.

    PHP-Code:
    $Kalender[$montag][$uhr
    OffTopic:
    Du solltest vielleicht mysql_fetch_assoc() verwenden, da du eh nur die assoziierten Werte ansprichst, ist aber ne Nebensache.
    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

    Kommentar


    • #3
      Komplett logisch, zuviel auf die gleiche Stelle geschaut

      Wobei ich mittlerweile am Ausgeben des mehrdimensionalen Arrays hänge,
      hab meine Tabelle um eine spalte "Stunden" erweitert in der ich angeben kann wielange ein event dauert (In Stunden)

      Das ganze dann so realisiert beim auslesen:
      PHP-Code:
      $dauer $row['Zeit'];
              for(
      $i=0;$i<$row['Stunden'];$i++)
              {
                  
      $Kalender[$row['Datum']][$dauer]=
                  
      '<img src="../'.$icon.'" onmouseover="Tip(\''.$row['Inhalt'].'\')">';    
                  
      $dauer++;
              } 
      und beim auslesen dann:

      PHP-Code:
                      foreach($Kalender[$dienstag] as $Kalendereintrag)
                      echo 
      $Kalendereintrag
      Funktioniert auch weitgehend gut, nur dass er mir nun die foreach schleife falsch macht und jedes event $i mal in einer Zeile steht ?

      Kommentar


      • #4
        Keiner nen Rat mehr ?

        Kommentar


        • #5
          Ich sehe da keine foreach-schleife.
          Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

          Kommentar


          • #6
            Ich sehe da keine foreach-schleife.

            Edit: Achso da.. hmm *nachdenk*

            Edit2: Manno! Shit! Sry 4 doppelpost bin grad irgendwie neben mir oO
            Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

            Kommentar


            • #7
              Original geschrieben von ChristiaNN

              und beim auslesen dann:

              PHP-Code:
                              foreach($Kalender[$dienstag] as $Kalendereintrag)
                              echo 
              $Kalendereintrag
              Funktioniert auch weitgehend gut, nur dass er mir nun die foreach schleife falsch macht und jedes event $i mal in einer Zeile steht ? [/B]
              Übersichtsmäßig mal der gesamte Code :



              PHP-Code:
              $sql "SELECT *,
                              date_format(Datum, '%d.%m') AS Datum,
                              date_format(Datum, '%k') As Zeit
                              from kalender WHERE Datum >= '"
              .$montagsql."' AND Datum <= '".$sonntagsql."'";
              $query mysql_query($sql); 


              while ( 
              $row mysql_fetch_array($query))
              {
                  
              $icon icon($row['Kategorie']);

                  if(
              $row['Stunden'] > "1")
                  {
                      
                      
              $dauer $row['Zeit'];
                      for(
              $i=0;$i<$row['Stunden'];$i++)
                      {
                          
              $Kalender[$row['Datum']][$dauer]=
                          
              '<img src="../'.$icon.'" onmouseover="Tip(\''.$row['Inhalt'].'\')">';    
                          
              $dauer++;
                      }
                  }
                  else
                  {
                  
              $Kalender[$row['Datum']][$row['Zeit']]= 
                  
              '<img src="../'.$icon.'" onmouseover="Tip(\''.$row['Inhalt'].'\')">';
                  }
                  
                  

              PHP-Code:
                  for($uhr=8;$uhr<22;$uhr++)
                  {

                  echo 
              '<tr>
                          <td align=Right class="uhrzeit">'
              .$uhr.' : 00</td>';
                              echo 
              '<td class="hover">';
                              if(!empty(
              $Kalender[$montag][$uhr]) AND $uhr==$Kalender[$montag])
                              foreach(
              $Kalender[$montag] as $Kalendereintrag)
                              echo 
              $Kalendereintrag;
                              else echo 
              '&nbsp;';
                              echo 
              '</td>';
                              
                              echo 
              '<td class="hover">';
                  
                   
                               if(!empty(
              $Kalender[$dienstag][$uhr]))
                              foreach(
              $Kalender[$dienstag] as $Kalendereintrag)
                              echo 
              $Kalendereintrag;
                              else echo 
              '&nbsp;';
                              echo 
              '</td>';
                              
                              echo 
              '<td class="hover">';

                              if(!empty(
              $Kalender[$mittwoch][$uhr]))
                              foreach(
              $Kalender[$mittwoch] as $Kalendereintrag)
                              echo 
              $Kalendereintrag;
                              else echo 
              '&nbsp;';
                              echo 
              '</td>';
                              
                              echo 
              '<td class="hover"> ';
                              if(!empty(
              $Kalender[$donnerstag][$uhr]))
                              foreach(
              $Kalender[$donnerstag] as $Kalendereintrag)
                              echo 
              $Kalendereintrag;
                              else echo 
              '&nbsp;';
                              echo 
              '</td>';
                              
                              echo 
              '<td class="hover">';
                              if(!empty(
              $Kalender[$freitag][$uhr]))
                              foreach(
              $Kalender[$freitag] as $Kalendereintrag)
                              echo 
              $Kalendereintrag;
                              else echo 
              '&nbsp;';
                              echo 
              '</td>';
                              
                              echo 
              '<td class="hover">';
                              if(!empty(
              $Kalender[$samstag][$uhr]))
                              foreach(
              $Kalender[$samstag] as $Kalendereintrag)
                              echo 
              $Kalendereintrag;
                              else echo 
              '&nbsp;';
                              echo 
              '</td>';
                              
                              echo 
              '<td class="hover">';
                              if(!empty(
              $Kalender[$sonntag][$uhr]))
                              foreach(
              $Kalender[$sonntag] as $Kalendereintrag)
                              echo 
              $Kalendereintrag;
                              else echo 
              '&nbsp;';
                              echo 
              '</td>';            

                          echo 
              '</tr>';
                  } 

              Kommentar


              • #8
                Leider seh ich mir nicht aus das Problem irgendwie zu Lösen ?
                Wie könnte ich die Informationen ansonst noch aus der Datenbank vernünftig in die Tabelle bekommen ?

                Kommentar

                Lädt...
                X