Sascha: PHP/mySQL

Hallo und guten Morgen!

Ich ahabe eine kleines Problem. Meine Variable "$c" bekommt einen "falschen" Wert zugewiesen! Sie soll den numerischen Wert "10" us der mySQL-DB bekommen, den bekommt Sie nicht stattdessen wird ihr der Wert "17" genauer die "Resource id #17" zugewiesen.

unten ist ein kleiner Auszug aus dem Quellcode.

Was habe ich hier falsch gemacht oder was muss ich besser machen oder ändern? Habt ihr einen Vorschlag für mich? vielen dank im Voraus

der verzweifelte Sascha

...
printf("<select name="stage2" size="1">\n");
$c = mysql_query("select count(*) from ".MYSQL_osversion." where operatingsystemid="1"");

// select count(*) fromm os_version where operartingsystemid="1"
 //--> count(*)
 //--> 10

for($l=0; $l<$c; ++$l)
    {
     printf("<option value="".$os_versions[1][$l]."">".$os_versions[1][$l]."</option>\n");
    }
...

  1. Ich habe es gerade selber gelöst!
    ...
       printf("<select name="stage2" size="1">\n");
       $querystring=("select count(*) as Anzahl from ".MYSQL_osversion." where operatingsystemid="1"");
       $c1 = mysql_query($querystring);
       $c2 = mysql_fetch_array($c1);
       $c = $c2["Anzahl"];
    // select count(*) fromm os_version where operartingsystemid="1"
     //--> count(*)
     //--> 10

    for($l=0; $l<$c; ++$l)
        {
         printf("<option value="".$os_versions[1][$l]."">".$os_versions[1][$l]."</option>\n");
        }

    ...

    1. Ich habe es gerade selber gelöst!
      ...
         printf("<select name="stage2" size="1">\n");
         $querystring=("select count(*) as Anzahl from ".MYSQL_osversion." where operatingsystemid="1"");
         $c1 = mysql_query($querystring);
         $c2 = mysql_fetch_array($c1);
         $c = $c2["Anzahl"];
      // select count(*) fromm os_version where operartingsystemid="1"
      //--> count(*)
      //--> 10

      for($l=0; $l<$c; ++$l)
          {
           printf("<option value="".$os_versions[1][$l]."">".$os_versions[1][$l]."</option>\n");
          }

      ...

      Hi Sascha, weist Du auch warum es nun geht?

      Chris

      1. Ich habe es gerade selber gelöst!
           printf("<select name="stage2" size="1">\n");
           $querystring=("select count(*) as Anzahl from ".MYSQL_osversion." where operatingsystemid="1"");
           $c1 = mysql_query($querystring);
           $c2 = mysql_fetch_array($c1);
           $c = $c2["Anzahl"];
        // select count(*) fromm os_version where operartingsystemid="1"
        //--> count(*)
        //--> 10

        Hi Sascha, weist Du auch warum es nun geht?

        Chris

        Ja.. das heisst eigentlich schon.

        ich habe zuvor $c1 direkt die ausgabe des mysql_query zugewiesen... aber mysql gibt dabei eine "Resource id" zurück und nicht das eigentliche ergebnis.. aufgrund dessen musste ich dem query das ergebnis mit dem mysql_fetch_array entlocken... und anschließend diesen meinem $c zuweisen... und damit ich das konnte musste der zum "count(*)" befehl noch zusätzlich die ergebnisspalte benannt werden.. "as Anzahl" weil man auf die spalte mit dem spaltennamen "count(*)" nicht zugreifen kann, auf "Anzahl" aber schon... naja bissel gewöhnungsbedürftig aber es geht..

        Sascha