Problem mit array_search bei Kalender

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

  • Problem mit array_search bei Kalender

    Hallo,
    ich bin gerade dabei einen Kalender zu programmieren, der anzeigt, wann eines unserer Fahrzeuge belegt ist. Dazu sollen die Tage Mo-Fr mit jeweils 12 Stunden angezeigt werden.
    Mein Problem ist das Prüfen, ob in einer Zelle eine Reservierung vorliegt. Habe jetzt mal eine DB-Abfrage erstellt, die alle Reservierungen der Woche abfragt. Dann prüfe ich mit der Funktion array_search, ob für den jeweiligen Tag/Stunde ein Eintrag vorhanden ist. Solang nur eine Reservierung in der Woche vorliegt klappt das auch, bei mehreren wird aber nur eine angezeigt.

    Hier der Code:
    PHP-Code:
    [...]
    for(
    $x=0;$x<mysql_num_rows($result);$x++)
    {
    $ergebnis[$x]=mysql_fetch_array($result);
    }

    [...]

    for (
    $j=1$j<=10$j++)
    {
        for (
    $i=$firstday$i<=$lastday$i++)
        {
            
    $flag=array_search($i$ergebnis);
            
    $flag2=array_search($j$ergebnis);
            if(
    $ergebnis[$flag]['date']==$i  AND $j==$ergebnis[$flag2]['time_b'])
            {
            
    $content='belegt';
            }
            else
            { 
    $content='frei'; }
            echo 
    "<td width='111' height='46'>".$content."</td>";
            if (
    $i == $lastday
                        echo 
    "</tr>\n<tr>";
        }

    Hoffe ihr könnt mir helfen.

  • #2
    PHP-Code:
    for($x=0;$x<mysql_num_rows($result);$x++)
    {
    $ergebnis[$x]=mysql_fetch_array($result);

    so liest man aber keine Datenbankinhalte aus.

    schau dir das Array mal an. Ich vermute, da steht immer das gleiche drinne.

    Kommentar


    • #3
      Danke für die Antwort. Aber im Array stehen alle Datensätze aus der DB drin. Habs grad nochmal überprüft.

      Was ist denn an meiner Schleife, um die Ergebnisse der Abfrage in eine Array zu schreiben falsch??

      Kommentar


      • #4
        Original geschrieben von Megabyte
        Danke für die Antwort. Aber im Array stehen alle Datensätze aus der DB drin. Habs grad nochmal überprüft.

        Was ist denn an meiner Schleife, um die Ergebnisse der Abfrage in eine Array zu schreiben falsch??
        Deine Schleifenkopfbedingung ist überflüssig, mysql_fetch_array reicht völlig aus.....

        PHP-Code:
        while ($row mysql_fetch_array($result)
        {

        Diese Kurzschreibweise hat sich eingebürgert um sowohl den Rückgabewert von mysql_fetch_array temporär aufzubewahren als auch um alle Datensätze auszugeben.....mysql_num_rows(); taucht meistens nur dann auf wenn man bei z.B. mysql_fetch_a* vorab prüfen will ob überhaupt Datensätze besehen um entsprechend eine Anzeige zu liefern

        Daneben taucht diese Schreibweise generell in jedem Tutorial/Buch auf.

        Deine Schleife sollte aber im Prinzip das selbe tun.

        So pauschall springt mir in deinem Script kein Fehler entgegen. In solchen Fällen hilft immer sich Zeile für Zeile durch Code zu debuggen ohne einfach Ergebnisse zu erwarten.

        Meist steckt der Fehler im Detail und ohne die zurückgelieferte Datenstruktur zu kennen, ist eine Aussage bzgl. einer möglichen Fehlerursache sehr fragwürdig.

        Du schaust dir an was du von der Datenbank für eine Struktur erhälst und arbeitest dich mit diesen Daten durch das Skript und wenn du das mit 1-2 Daten gemacht hast wirst auch den Fehler finden.

        Ansonsten sind es alles nur Vermutungen die in der Praxis mehr Zeit kosten als mit 1-2 Handgriffen den Code zu debuggen
        [color=blue]MfG Payne_of_Death[/color]

        [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
        [color=red]Merke:[/color]
        [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

        Murphy`s Importanst LAWS
        Jede Lösung bringt nur neue Probleme
        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
        In jedem kleinen Problem steckt ein großes, das gern raus moechte.

        Kommentar


        • #5
          Dann werd ich das mal so machen. Ist schon mal eine Hilfe, dass keine direkter Fehler auffält.
          Meine Schleifenkonstruktion stammt übrigens auch aus einem Buch. Werde in Zukunft aber die kurze Variante verwenden.

          VIELEN DANK FÜR EURE MÜHE!!

          Kommentar

          Lädt...
          X