Einzelnen Beitrag anzeigen
  #1  
Alt 09.10.2009, 14:21:18
yamukud yamukud ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 34
Beiträge: 1
Problem mit MySQL in Typo3-CMS

Ich weiß, ich bin schrecklich.
Ich arbeite mich zur Zeit in 4 Programmiersprachen ein, seht mir diese Frage also nach.

Das ganze ist ein Reservierungskalender, der in einer Typo3-CMS angezeigt wird. Für die Verarbeitung wird neben CSS und Typoscript auch PHP mit MySQL verwendet.

Durch diese komplexen Zusammenhänge bin ich nicht in der Lage, das Problem selbst zu lösen. Nur PHP wäre kein Problem und nur MySQL auch nicht.

Jetzt zur Aufgabenstellung: Ich habe eine Tagesansicht, die drei Spalten enthält: Zeit, großer Besprechungsraum, kleiner Besprechungsraum.

Jetzt möchte ich, wenn noch gar keine Events für den Tag da sind, leere Felder mit einem Symbol zum Hinzufügen von einem Event anzeigen lassen. -> KEIN PROBLEM

Wenn ich beide Kategorien (kleiner Besprechungsraum, großer Besprechungsraum) habe, sollen in allen Feldern ebenso die Symbole erscheinen und dazu die Events in den zugehörigen Zeitfenstern -> KEIN Problem

PROBLEM: Wenn ich nur Events in einer Kategorie habe, werden nur die Spalten "Zeit" und "Großer Besprechungsraum" angezeigt. Wie schaffe ich es, dass unter diesen Voraussetzungen auch die andere Kategorie erscheint, mit leeren Feldern und dem Symbol?

num Fields gehts nicht, da ich zB nicht vorher weiß, ob später noch Events auftauchen.

Vielen Dank für die Zeit, nun der Quellcode (rot=irrelevant, aber Struktur):

PHP-Code:
    function viewDayInside ($day$month$year$event) {
    
[
COLOR="Red"]    
//STRUKTUR STRUKTUR STRUKTUR
    
$daytime mktime (000$month$day$year, -1);
        
$tmp getdate();
        
$today mktime (000$tmp['mon'], $tmp['mday'],$tmp['year'], -1);
        
        if (
$daytime>=$today){
                
$content '<table>';
            }
            else{
                    
$content '<table>';
                }
        
        
$todaybeg mktime (100$month$day$year, -1);
        
$todayend mktime (2300$month$day$year, -1);
    
        
$compt =0;
        
$cat = Array();
        
$cat $this->getCat();
        
$iscat = Array();[/COLOR]
// STRUKTUR ENDE
// INITIIERUNG
        
$res $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid, pid, category','tx_feevcal_ev','dtbegin >='.$todaybeg.' AND dtend<='.$todayend.' AND pid='.$this->PID.'','''');
                
        while (
$row mysql_fetch_array($res)) 
            {
                if ( isset(
$cat) ) foreach($cat as $b){if ( $b['uid'] == $row['category'] ) $iscat[$b['uid']] = true;}
                if ( 
$row['category'] == $compt++;
            }
        
$hallo 1;
        for (
$time 7$time<= 18$time++) {
            if (
$time == 7) {
[
COLOR="Red"]// Erste Zeile mit Überschriften (schlecht gelöst, aber wurscht) -> IRRELEVANT[/COLOR]
            
$content .= '<tr><td bgcolor="'.$this->color['headertablecolor'].'" width="40">'.'</td>';
                                    
$content .= '<td><font color=#33cc66><b>'.'Gro&szlig;er&nbsp;Besprechungsraum'.'</td></font></b>';
                                    
$content .= '<td><font color=#1e90ff><b>'.'Kleiner&nbsp;Besprechungsraum'.'</td></font></b></tr>';
            } else {
            
$content .= '<tr><td bgcolor="'.$this->color['headertablecolor'].'" width="40"><b>'.$time.':00</b></td>';
[
COLOR="Red"]// Keine Events vorhanden ausgespart -> IRRELEVANT
....[/COLOR]
// Es sind Events vorhanden: DARUM GEHTS
            
if (count($event) > 0) {
                    if ( 
$compt ){
                        
$content .= '<td bgcolor="'.$this->color['bgColorDayNoEvent'].'">';
                        for (
$id=0;$id<count($event);$id++) {        
                                if (
$event[$id]['category'] == 0) {
                                    
$content .= $this->eventDayEvent($event,$year,$month,$day,$time,$id);        
                                }
                            }
$content .= '&nbsp</td>';
                        }
                        
                        if ( 
$cat != NULL ) {
                            foreach(
$cat as $a)
                            {
                                if ( 
$iscat[$a['uid']] == true ) {
                                    
$content .= '<td bgcolor="'.$this->color['bgColorDayNoEvent'].'">';
                                    for (
$id=0;$id<count($event);$id++) {
                                        if (
$event[$id]['category'] == $a['uid']) {
                                        
$content .= $this->eventDayEvent($event,$year,$month,$day,$time,$id);
                                    }
                                    }
//for
                                                                            
if ($time != ) {
                                        
$content .= '<a href="index.php?id='.$_GET['id'].'&amp;view=30 &amp;no_cache=1 &beginhour='.$time.' &thisday='.$day.' &thismonth='.$month.' &thisyear='.$year.'">'.'<img border="0" src="'.t3lib_extMgm::siterelpath('feevcal').'img/plus.gif">'.'</td>';
                                        }
                                }
                            }
//foreach
                        
}
                    }
//else
            
$content .= '</tr>';
        }
        }
        
$content .= '</table>';
        return 
$content;
// DARUM GEHTS ENDE
    

Mit Zitat antworten