Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeit und Wochentag aus Array suchen und markieren

Einklappen

Neue Werbung 2019

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

  • Zeit und Wochentag aus Array suchen und markieren

    Hallo Zusammen,

    vielleicht kann mir hierbei jemand helfen! Ich versuche aus zwei Arrays (Wochentag und Stunden) die Felder zu markieren, die aus einer SQL DB kommen.
    z.Bsp. Ein Auto wird in einem Zeitraum innerhalb einer Woche genutzt, dann sollten die Felder in meinen Arrays farbig markiert werden.

    Ich hänge mal mein bisheriges Werk an, vielleicht hat jemand einen Tipp, wie ich hier weiter kommen kann.

    Vielen Dank im Voraus!

    <?php

    // Connect zum DB-Server herstellen
    $db = mysql_connect();

    // DB auswählen
    mysql_select_db("m-p", $db);
    $query_schedule = "SELECT * FROM buchung WHERE buchtag";
    $schedule = mysql_query($query_schedule, $db) or die(mysql_error());
    $row = mysql_fetch_assoc($schedule);
    $heute = date("w",time())-1; //Sonntag=0
    $day = array();

    for($i=0;$i<7;$i++)
    $day[] = date("d.m.Y",mktime(0,0,0,date("m",time()),date("d ",time())-$heute+$i,date("Y",time())));
    $buchstartArray=array('Montag','Dienstag','Mittwoc h','Donnerstag','Freitag','Samstag','Sonntag');
    //$hours=array("00:00","00:30","01:00","01:30","02:0 0","02:30","03:00","03:30","04:00","04:30","05:00" ,"05:30","06:00","06:30","07:00","07:30","08:00"," 08:30","09:00","09:30","10:00","10:30","11:00","11 :30","12:00","13:00","14:00","15:00","16:00","17:0 0","18:00","19:00","20:00","21:00","22:00","23:00" ,);


    $hours=array("00:00","01:00","02:00","03:00","04:0 0","5:00","06:00","07:00","08:00","09:00","10:00", "11:00","12:00","13:00","14:00","15:00","16:00","1 7:00","18:00","19:00","20:00","21:00","22:00","23: 00",);

    $buchtag=array();
    $buchstart=array();
    $i=0;
    do{ $buchtag[$i]='05:00';//$row['buchtag'];
    $buchstart[$i]='Dienstag';//$row['buchstart'];
    $i++;
    }while($row = mysql_fetch_array($schedule));



    echo "<table border=0 cellpadding=3>";
    echo "<tr>";
    echo "<td bgcolor='#0099CC'><strong>Uhrzeit</strong></td>";
    foreach($hours as $cell) {
    echo "<th colspan='0' border= '0' bgcolor='#ffffff'><c1><strong>$cell</strong></c1></th>";
    } echo"</tr>" ;

    foreach($buchstartArray as $val){
    echo "<tr><td bgcolor='#0099CC'><strong>$val</strong>";
    echo"</td>";
    foreach($buchstartArray as $val)

    {
    $val=$val.'';
    if(in_array($val,$buchstart))
    {
    $i=array_search($val,$buchstart);
    if($val==$buchstart[$i])

    foreach($hours as $cell)
    {
    $cell=$cell.'';
    if(in_array($cell,$buchtag))
    {
    $i=array_search($cell,$buchtag);
    if($cell==$buchtag[$i])
    {

    }
    echo "<td bgcolor='#FF0066'>lala</td>";
    }

    else
    echo "<td bgcolor='#FF9966'></td>";
    }
    echo "</tr>";
    }
    }}



    [/PHP]

  • #2
    Fangen wir mal bei dem an was veraltet ist ( deprecated ):

    PHP:
    - mysql_*-Functions sind teil der veralteten MySQL-Extension, du solltest (schon jetzt) auf PDO oder MySQLi ausweichen

    HTML:
    - alle "stylenden" Properties der Tags sind veraltet. Nutze CSS(-Klassen) um den Style der Tags zu verändern

    Dann ist sowas, viel mühevolle Tipparbeit:
    PHP-Code:
    $hours=array("00:00","01:00","02:00","03:00","04:0 0","5:00","06:00","07:00","08:00","09:00","10:00""11:00","12:00","13:00","14:00","15:00","16:00","1 7:00","18:00","19:00","20:00","21:00","22:00","23: 00",); 
    Die man automatisiert erzeugen kann:
    PHP-Code:
    $hours array_map(function($in) {
        
    $data explode('.'$in);
        
    $hours $data[0];
        
    $minutes = isset($data[1]) ? $data[1] : 0;
        return 
    number_format($hours + (float)('.'.$minutes) * 60 1002':','');
    }, 
    range(0.0,23.50.5)); 
    Allerdings würde ich eher direkt zu DatePeriod(s) neigen wenn ich sowas implementieren müsste was du implementieren willst.
    Deine for()-Schleife kannst du gegen ein DatePeriod ersetzen. [man]iterator_to_array[/man] ist da dein Freund. Allgemein solltest du dich mit [man]DateTime[/man] beschäftigen.
    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

    Kommentar

    Lädt...
    X