Grundlegendes ARRAY-Problem

Baumi Manuel

Mitglied
Hi!

Ich habe folgendes Problem:
ich möchte überprüfen ob an dem jeweiligen Tag ein Feiertag ist oder nicht!


In der Datenbank gibts eine Spalte namens "SASOFEI" in der entweder 1 oder NULL drinnensteht, je nachdem ob der tag ein Feiertag ist oder nicht!

gekennzeichnet als Feiertag ist aber nur immer der erste!! (ist zwar ein feiertag aber es gibt noch mehr in diesem monat****** )


PHP:
for ($schleifetage=1; $schleifetage<=$maxtage; $schleifetage++)
{	
	$sqlsasofei = "SELECT SASOFEI FROM `$ausgewaehlterdp`";
	$db_erg = mysql_query( $sqlsasofei );
	$sasofei = mysql_fetch_array( $db_erg, MYSQL_NUM);
				
	echo $schleifetage;  //Tage des Monats
	echo "-->";
	echo $tagminuseins = $schleifetage-1;  
	echo "-->";
	echo $sasofei[$tagminuseins];  // sollte mir doch 1 oder NULL ausgeben
	if ($sasofei[$tagminuseins]==1)
	{
		echo "<td align=\"center\"  bgcolor=\"#E19BAE\"><strong>".$schleifetage."</strong></td>";
	}
	else
	{			
		echo "<td align=\"center\"><strong>".$schleifetage."</strong></td>";
	}
}

Kann mir da wer helfen****
 
Also gelöst hätte ich das Problem jetzt erstmal!
und zwar so:

PHP:
			for ($schleifetage=1; $schleifetage<=$maxtage; $schleifetage++)
			{
				$sqlsasofei = "SELECT SASOFEI FROM `$ausgewaehlterdp` WHERE ID=$schleifetage";
				$db_erg = mysql_query( $sqlsasofei );
				$sasofei = mysql_result($db_erg,0);
				
				echo $schleifetage;
				echo "-->";
				echo $tagminuseins = $schleifetage-1;
				echo "-->";
				echo $sasofei;
				
				if ($sasofei==1)
				{
					echo "<td align=\"center\"  bgcolor=\"#E19BAE\"><strong>".$schleifetage."</strong></td>";
				}
				else
				{			
					echo "<td align=\"center\"><strong>".$schleifetage."</strong></td>";
				}
			}


Aber zwecks der Vollständigkeit würd mich das schon interessieren warum die andere Lösung nicht funktioniert!!
 
Hallo,
du hast da etwas verwechselt,

in deiner IF fragst du das Datum des Tages ab, jedoch nicht Feiertagsparameter.

Versuch mal:

PHP:
<?php
for ($schleifetage=1; $schleifetage<=$maxtage; $schleifetage++) 
{     
    $sqlsasofei = "SELECT SASOFEI FROM `$ausgewaehlterdp`"; 
    $db_erg = mysql_query( $sqlsasofei ); 
    $sasofei = mysql_fetch_array( $db_erg, MYSQL_NUM); 
                 
    echo $schleifetage;  //Tage des Monats 
    echo "-->"; 
    echo $tagminuseins = $schleifetage-1;   
    echo "-->"; 
    echo $sasofei["SASOFEI"];  // sollte mir doch 1 oder NULL ausgeben 
    if ($sasofei["SASOFEI"]==1) 
    { 
        echo "<td align=\"center\"  bgcolor=\"#E19BAE\"><strong>".$schleifetage."</strong></td>"; 
    } 
    else 
    {             
        echo "<td align=\"center\"><strong>".$schleifetage."</strong></td>"; 
    } 
}

Viele Grüße
 
Hi,

ohne den anderen Code davor lässt sich das nicht sicher beantworten. Was bedeutet eigentlich das $ausgewaehlterdp?

Grob gesagt hat die Schleife vorher halt immer die selbe Abfrage abgefeuert, ergo immer das selbe Ergebnis geliefert.

Gruß,
BK
 
Hmmm....


also ein Arry kann ich doch mit
$variable[1], oder $variable[5],... ansprechen und ich sollte den wert bekommen!


wenn ich jetzt in meinem fall zuerst die SQL Abfrage in ein Arry speichere wie hier..
PHP:
$sqlsasofei = "SELECT SASOFEI FROM `$ausgewaehlterdp`"; 
$db_erg = mysql_query( $sqlsasofei ); 
$sasofei = mysql_fetch_array( $db_erg, MYSQL_NUM);

dann das array anspreche mit:

PHP:
echo $tagminuseins = $schleifetage-1; 
echo $sasofei[$tagminuseins];

.. sollte ich doch einen wert herraus bekommen oda nicht?



p.s.:
PHP:
$ausgewaehlterdp
ist meine Tabelle in der ich die Daten gespeichert habe! Da es nicht immer die selbe Tabelle ist muss ich die Abfrage mittels Varibale machen! Ist das so nicht korrekt? Funktionieren tuts jedenfalls! ;-)
 
ok! da hast wahrscheinlich recht!

Besser wäre die Abfrage vor der Schleife zu platzieren! Stimmt das?
Denn das Array könnt ich ja e weiter verarbeiten!!
 
Zuletzt bearbeitet:
Zurück