Problem mit den funktionen

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

  • Problem mit den funktionen

    Hallo ich hab hier folgende Funktion, die mir für einen bestimmten
    Kalendertag $d des Monats $month die anzahl der einträge in meiner
    tab Termine angeben soll
    also $d sagen wir is 5 und $month 07 (werte existieren in der db :P
    )


    PHP-Code:
    function termine_anzahl($month,$d){

    $q=mysql_query('SELECT COUNT( name )FROM termine WHERE 
    day="$d" and month="$month"'
    );
    $count mysql_fetch_assoc($q);
    foreach(
    $count as $b){return $b;}

    soweit so gut, wenn ich den code jetz mal so hinschreib:

    PHP-Code:

    $q
    =mysql_query('SELECT COUNT(name )FROM termine WHERE day="5" and month="04"');
    $count mysql_fetch_assoc($q);
    foreach(
    $count as $b){ECHO $b;} 
    ...dann erscheint und so soll es sein eine 2

    rufe ich die funktion aber auf:

    PHP-Code:
    $f=termine_anzahl($month,$d); echo $f
    oder
    PHP-Code:
    $f=termine_anzahl(07,5); echo $f
    kommt die 0 =/

    ich glaub es isn tierisch blöder fehler aber ich find ihn trotzdem nich :]

  • #2
    Zahlen als String? Ausgabe der generierten Query? Was sagt mysql_error()? return in einer Schleife? Setz Dein error_reporting auf E_ALL. Lass mal Leerezeichen bei COUNT() weg ...
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Original geschrieben von derHund
      Zahlen als String? Ausgabe der generierten Query? Was sagt mysql_error()? return in einer Schleife? Setz Dein error_reporting auf E_ALL. Lass mal Leerezeichen bei COUNT() weg ...
      na mit sql hats ja nix zu tun weil die abfrage ja theoretisch geht...
      und im E_All steht auch nichts relevantes...

      Kommentar


      • #4
        Original geschrieben von BugBite
        na mit sql hats ja nix zu tun weil die abfrage ja theoretisch geht...
        Dann würde er funktionieren...
        Lass dir den Query aus deiner Funktion einfach mal ausgeben, dann siehst du ja ob und wo der Fehler liegt.

        Und btw, das solltes auch tun:
        PHP-Code:
        function termine_anzahl($month$d) {
            
        $q=mysql_query('SELECT COUNT(`name`) FROM `termine` WHERE `day`="'.$d.'" AND `month`="'.$month.'"');
        // Wenn "day" und "month" den Typ "INT" haben, die Anführungszeichen noch entfernen
            
        return mysql_result($q00);
        }
        echo 
        termine_anzahl('07''05'); 
        mfg - sagg

        Kommentar


        • #5
          wie schon gesagt: "ein saublöder fehler "
          ja mit '.$d.' hats hingehauen...
          komisch eigentlich weil ich so noch nie gemacht hab, aber es trotzdem geklappt hat =)

          Kommentar


          • #6
            Ich hab nicht geprüft, ob das schon jemand geschrieben hat, aber die quotes und apostrophe müssen getauscht werden. Frager sollte sich noch fragen ob ihm ein Leerbuch zu seinem query verholfen hat. Und noch als Bemerkung, Lehrzeichen um COUNT so wie ich es gemacht habe. Und es hat in der zeile $count= und foreach( einige Würmer aber nicht zum threadthema.

            Hier folgt sicherheitshalber und der Klare willen die richtige Fassung:
            PHP-Code:
            function termine_anzahl($month,$d){

            $q=mysql_query("SELECT COUNT(name) FROM termine WHERE 
            day='
            $d' and month='$month'");
            $count mysql_fetch_assoc($q);
            foreach(
            $count as $b){return $b;}

            siehe php-Manual, datentypen strings mit "..." und Variabelnexpansion.

            Kommentar

            Lädt...
            X