Probleme mit DB

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

  • Probleme mit DB

    Hallo zusammen

    ich hab folgendes Problem:
    ich in einer DB Tabelle mehrere Spalten (wert1,wert2, ... wert10).

    Wenn ich nun eine Abfrage mache z.B.
    Select wert1, wert2, .... wert10 from Tabelle where id= 10
    und dann die Werte 1 - 10 in einer Schleife ausgeben möchte muss ich die Schleife von Hand schreiben, da ich es nicht hinbekomme es eleganz zu lösen so dass ich z.B es in dieser Form schrieben könnte und mir schriebarbeit sparen könnte.

    PHP-Code:
    1;
    while (
    $data = @mysql_fetch_object($projektdata)){
    echo 
    "<tr>";
     echo 
    "<td>$data+i</td>";
    echo 
    "</tr>";
    i+1;

    Kann mir evtl. jemand helfen ?
    Danke

  • #2
    keine ahnung, was du wirklich willst. aber vermutlich ist es eine schleife in der schleife.

    btw: guck dir mal den inhalt von $data an und wie man objekte ausgibt.

    Kommentar


    • #3
      PHP-Code:
      $i 1;
      while (
      $data mysql_fetch_array($projektdata)){
      echo 
      "<tr>";
       echo 
      '<td>'.$data[$i].'</td>';
      echo 
      "</tr>";
      $i++:

      da fehlen aber mal die grundlagen. vor den variablen muss ein $ stehen!!
      soweit ich das verstehe ist das das was du willst.

      Kommentar


      • #4
        Uns soweit ich deinen code ansehe, ist der ziemlich unsinnig. und erzeugt zudem noch fehler bei mehr als 10 zeilen...

        Kommentar


        • #5
          Original geschrieben von TobiaZ
          Uns soweit ich deinen code ansehe, ist der ziemlich unsinnig. und erzeugt zudem noch fehler bei mehr als 10 zeilen...
          hehe, ich denk damit meinst aber nicht meinen?

          Kommentar


          • #6
            ich denke, dass ich damit sehr wohl deinen code meine!

            Kommentar


            • #7
              PHP-Code:
              $i 1;
              while (
              $data mysql_fetch_array($projektdata)){
              echo 
              "<tr>";
               echo 
              '<td>'.$data[$i].'</td>';
              echo 
              "</tr>";
              $i++:

              worin stecken da deiner meinung nach die fehler?

              Kommentar


              • #8
                Dass der einen Fehler bei mehr als 10 Zeilen (genaugenommen sogar mehr als 9 Zeilen) erzeugt, habe ich dir bereits gepostet.

                Dann fängt man in einem array bei 0, nicht bei 1, an zu zählen.

                Dann solltest du dir den Unterschied zwischen zeilen und spalten klar machen. goertz redet von 10 spalten die er ausgeben will. du gibst ihm aber aus jeder zeile eine andere spalte aus. in meinen augen ein kleiner unterschied.

                Kommentar


                • #9
                  die $ Zeichen vor dem Variablen hab ich in der Eile vergessen, das ist schon klar dass die hinmüssen.

                  also meine db sieht so aus:
                  +---+-------+------+------+----+-------+
                  | ID | wert1 | wert2 | wert3 | ... | wert10 |
                  +---+-------+------+------+----+-------+

                  Nun möchte ich in einer Tabelle Zeilenweise die Werte 1 -10 von einer
                  bestimmten ID stehen haben.

                  und dass ich nicht für jeden Wert eine Zeile schreiben muss, suche ich nach
                  einer eleganten Lösung, die die Werte in einer Schleife zeilenweise augibt.
                  Das Problem liegt genau darin, dass ich bei

                  $data->wert(Zahl);

                  hinten dran immer die Nummer erhöhen muss.
                  Zuletzt geändert von mgoertz; 21.10.2005, 09:21.

                  Kommentar


                  • #10
                    ok geb ich dir recht. ich hab nur im eilverfahren das am seinem code verändert was auf dern ersten blick grotten falsch war.
                    es wäre vielleicht auch ein

                    PHP-Code:
                    while($data mysql_fetch_array($projektdata))[
                    ...

                    sinvoll und innendrin eine for schlife die von 1-10 die werte ausspuckt.

                    ich hab den post vorher ohne groß nachzudenken gemacht

                    Kommentar


                    • #11
                      nummer erhören tust du mit ++ oder +1 (kommt auf gleiche raus).

                      dass du ne schleife in der schleife brauchst, habe ich dir bereits gesagt.

                      ich erwähne als kleine hilfe noch for.

                      jetzt will ich mal deine ansätze sehen.

                      Kommentar


                      • #12
                        ich hab den post vorher ohne groß nachzudenken gemacht
                        ich weiß!

                        Kommentar


                        • #13
                          nun der ansatz von mir beser, ich hab sogar ie for schleife erwähnt

                          Kommentar


                          • #14
                            Ich hätte es jetzt auf die Schnelle so gelöst:

                            while ($data = mysql_fetch_array ($projektdata)) {
                            print ("<TR>\n");
                            for ($i = 0; $i < mysql_num_fields($projektdata); $i++) {
                            print "<TD>$data[$i]&nbsp;</TD>\n";
                            }
                            print ("</TR>\n");

                            Da ist dann egal wie viele Spalten drinne sind

                            Kommentar


                            • #15
                              da ist so nichts gegen einzuwenden. nur so sachen wie "print ist keine funktion". Aber PHP toleriert das gerne.

                              Kommentar

                              Lädt...
                              X