Probleme mit DB

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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.

      Comment


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

        Comment


        • #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?

          Comment


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

            Comment


            • #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?

              Comment


              • #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.

                Comment


                • #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.
                  Last edited by mgoertz; 21-10-2005, 09:21.

                  Comment


                  • #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

                    Comment


                    • #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.

                      Comment


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

                        Comment


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

                          Comment


                          • #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

                            Comment


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

                              Comment

                              Working...
                              X