In einer while Schleife Variablen erstellen ?

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

  • In einer while Schleife Variablen erstellen ?

    Mal wieder ich, bitte nicht die Augen verdrehen: Aber wenn einem immer so gut, nett und schnell wie hier geholfen wird fragt man halt gerne nochmal ;-)

    Folgendes Problem:
    Ich hole mir mit mit einer sql query einen Satz Daten aus der Datenbank. Aus dem zurückgelieferten Array will ich mir nun verschiedene Variablen machen.

    PHP-Code:
    $resultx=mysql_query("select DISTINCT MODEL from tabelle");

    $resultx[0] = $model1;
    $resultx[1] = $model2;

    ... 
    Ist $resultx vielleicht doch kein Array, oder versuche ich nur falsch es auszulesen ?
    Vielen Dank im Voraus !

    Tim

  • #2
    $resultx ist dein komletteer Datensatz.

    auf die einzelnen Teile kannst du so zugreifen:
    $tmp_array[0] = $model1;
    $tmp_array[1] = $model2;
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      $resultx ist nur ein zeiger auf das ergebnis deiner abfrage. dies musst du noch in einer schleife verarbeiten:
      PHP-Code:
      $resultx=mysql_query("select DISTINCT MODEL from tabelle");
      while (
      $row mysql_fetch_row ($resultx))
      {
        
      $bla $row[0];
        
      $blubb $row[1];

      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Abgesehen davon, dass du eigentlich eine Notice erhalten solltest, fehlen dir so generelle Grundlagen, wie das richtige Zuweisen:

        $variabel = "wert";

        NICHT wert=variable...

        Kommentar


        • #5
          Danke schon mal...

          PHP-Code:
              while ($rowx mysql_fetch_array($resultx))
                  {
          $mod1$rowx[0];$mod2$rowx[1];$mod3$rowx[2]; ... }
          echo 
          $mod1."<br>";    echo $mod2."<br>";    echo $mod3."<br>";    ... 
          zeigt aber leider immer noch nur leere Variablen...

          dank mysql_affected_rows weiß ich aber, dass es 10 Einträge sein müssten.

          Kommentar


          • #6
            bist du mal auf die idee gekommen, die echos innerhalb der schleife aufzurufen? ich denke, du solltest dich erst mal mit den elementarsten grundlagen beschäftigen.

            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              aber genau das ist doch das problem, ich brauch die ausserhalb der schleife ! Deshalb ja meine Idee, die ohne while Schleife aufzurufen - sorry wenn ich mich da doof ausgedrückt habe!
              TobiaZ hat natürlich recht, die letzte wird ausgegeben...
              Zuletzt geändert von tim.brauer; 01.11.2007, 17:45.

              Kommentar


              • #8
                aber zumindest die letzte zeile sollte eigentlich schon ausgegeben werden.

                Aber generell wären testausgaben sicher nicht falsch.

                und kropffs grundlagen natürlich auch.

                Kommentar


                • #9
                  Original geschrieben von tim.brauer
                  aber genau das ist doch das problem, ich brauch die ausserhalb der schleife ! Deshalb ja meine Idee, die ohne while Schleife aufzurufen - sorry wenn ich mich da doof ausgedrückt habe!
                  TobiaZ hat natürlich recht, die letzte wird ausgegeben...
                  Dann solltest du die Variablen vielleicht nicht bei jedem durchlauf überschreiben.

                  Trotzdem sollte mindestens die letzte Zeile ausgegeben werden.

                  Schalt das error_reporting an!
                  EDIT:
                  Na klar, hab ich recht. Dann weißt du ja jetzt, wo dein Problem liegt.

                  Kommentar


                  • #10
                    Dann weißt du ja jetzt, wo dein Problem liegt.
                    Aber, aber, *heuuuuuul*...
                    Wo das Problem ist wusste ich doch schon vorher:
                    Ich will mit den aus der Datenbank zurückgelieferten Werte einzeln durchnummerierte Variablen füllen.

                    Bitte *flehendguck* helft mir !

                    EDIT:
                    Was ich gemeint habe war
                    PHP-Code:
                    while ($rowx mysql_fetch_array($resultx))
                            {
                            
                    $model[]=$rowx['MODEL'];
                            } 
                    Zuletzt geändert von tim.brauer; 01.11.2007, 18:33.

                    Kommentar


                    • #11
                      Was suchst du eigentlich??
                      PHP-Code:
                      for( $i=0$i<10$i++ ) {
                          ${
                      'var'.$i} = null;

                      Jetzt hast du die Variablen var0, var1, var2, ..., var9 initialisiert!

                      Kommentar


                      • #12
                        Original geschrieben von tim.brauer
                        EDIT:
                        Was ich gemeint habe war
                        PHP-Code:
                        while ($rowx mysql_fetch_array($resultx))
                                {
                                
                        $model[]=$rowx['MODEL'];
                                } 
                        das ist doch schon richtig so. jetzt musst du nach der schleife nur noch die einzelnen arary-elemente ausgeben.
                        einzeln durchnummerierte Variablen füllen
                        was? wie? wozu? mehr infos?

                        gruß
                        peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          Wozu willst du die einzelnen Variablen haben? Für so etwas gibt es Arrays.
                          Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                          Kommentar


                          • #14
                            Ähm, ohne mal auf meine Ausgangsfrage hinzuweisen, wenn Du nicht weißt, wofür ich die Variablen brauche, wie kannst Du denn dann wissen das es dafür Arrays gibt ?

                            Der Gedanke ist, für jedes Vorkommen eines Modells in den Daten der Datenbank einen Zähler für ebendieses eine Modell zu increasen. Daraus ergibt sich X-Modelle -> X-Zähler. Wenn Du mir sagst, wie ich diese Zähler realisieren soll, ohne das Array in einzelne Variablen aufzulösen dann .

                            Und um die Frage, was ich eigentlich suche zu beantworten, lieber PHP-Desaster wäre es sicher hilfreich, sich einfach mal meine Frage durchzulesen.

                            Bitte entschuldigt den etwas angesäuerten Ton, is aber irgendwie nicht mein Tag heute...

                            Kommentar


                            • #15
                              Ähm, ohne mal auf meine Ausgangsfrage hinzuweisen, wenn Du nicht weißt, wofür ich die Variablen brauche, wie kannst Du denn dann wissen das es dafür Arrays gibt ?
                              Wahrscheinlich weiß er das, weil Variablen in der Form $wert1 bis $wertn immer der falsche Weg sind. Arrays sind bei sowas einfach angesagt.

                              Der Gedanke ist, für jedes Vorkommen eines Modells in den Daten der Datenbank einen Zähler für ebendieses eine Modell zu increasen. Daraus ergibt sich X-Modelle -> X-Zähler. Wenn Du mir sagst, wie ich diese Zähler realisieren soll, ohne das Array in einzelne Variablen aufzulösen dann .
                              Niemand hat gesagt, dass du dir nicht die Werte in Zählervariablen speichern darfst. Nur dass diese Zählervariablen ein Zählerarray sein sollten.

                              Bitte entschuldigt den etwas angesäuerten Ton, is aber irgendwie nicht mein Tag heute...
                              Dann solltest du das Posten in Foren für den Heutigen Tag sein lassen. Schließlich bist du der jenige, der hier kostenlose Hilfe erwartet. Danke!

                              Kommentar

                              Lädt...
                              X