DB-Feld innerhalb einer for-Schleife inkrementieren

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

  • DB-Feld innerhalb einer for-Schleife inkrementieren

    Hallo!

    Nach langen googlen hab' ich das Problem leider immer noch nicht lösen können, stehe irgendwie auf dem Schlauch...
    Vielleicht hat jemand einen Denkanstoss...

    Möchte aus einem Datenbankfeld (Felderbezeichnung: anzahl-1 bis anzahl-40) Datensätze auslesen.
    Momentan mache ich das folgendermassen, solange eben die Felder abgearbeitet werden...

    PHP-Code:
    for($i=0$i<$num$i++)    {
             
    $anzahl1 mysql_result($res$i"anzahl-1");        
             
    $anzahl2 mysql_result($res$i"anzahl-2");        
             ... ... ... ... 
    Die Ergebnisse werden dann in einem Array gespeichert und an eine Funktion übergeben welche prüft, ob das Feld 0 (also leer) oder nicht 0 (etwas beinhaltet).
    Danach werden die Ergebnisse in einer Tabelle ausgegeben...

    Ich möchte allerdings die obere for-Schleife so ändern, dass ich nicht für jedes Anzahl-Feld eine Zeile schreiben muss. Deshalb müsste der letzte Werte der mysql_result-Abfrage ("anzahl-1", "anzahl-2" usw.) inkrementiert werden.

    Hat jemand eine Idee?

    Die Übergabe der Variablen $i aus der for-Schleife zum Inkrementieren funktioniert nicht so, wie ich das gerne hätte...

    Vielen Dank,
    Tom.

  • #2
    PHP-Code:
    $abfrage mysql_query("DEIN SQL STATEMENT");
    while(
    $ausgabe mysql_fetch_array($abfrage){
            
    //DEINE AUSGABE
            

    Meinst Du sowas?

    Kommentar


    • #3
      Hallo!
      Danke erstmal..., aber nicht ganz:
      Was ich meine ist das hier:

      PHP-Code:
      // momentaner Zusand aus der for-Schleife...
      $anzahl1 mysql_result($res$i"anzahl-1");

      // so sollte es werden...
      $anzahl1 mysql_result($res$i"// Dieser Wert  (DB-Feld) sollte sich jetzt erhöhen (z.B. von anzahl-1 nach anzahl-2, anzahl-3 usw."); 
      Wenn ich das so schreibe, funktioniert es leider nicht...
      PHP-Code:
      // keine Funktion...
      $anzahl1 mysql_result($res$i"anzahl-[$i]"); 

      Kommentar


      • #4
        verstehe ich nicht. wo ist das problem, SELECT * auszuführen und mittels mysql_fetch_irgendwas jeden datensatz durchgehen (s. gruenspan) und im array alle werte zu haben? vielleicht kann man gewisse logik ("wert ungleich null" o.ä.) auf die db zu verlagern..

        erzähl mal mehr.

        Kommentar


        • #5
          meinst du etwa
          PHP-Code:
          mysql_result($res$i"anzahl-".$i); 
          ??
          Da stellt sich nur die Frage, was du da überhaupt machst...

          Kommentar


          • #6
            Hi,
            Möchte aus einem Datenbankfeld (Felderbezeichnung: anzahl-1 bis anzahl-40) Datensätze auslesen.
            Nein, Du möchtest Felder aus einem Datensatz auslesen.

            Um gruenspans Antwort zu verstehen, musst Du Dir im Manual mal anschauen, was mysql_fetch_array macht (genau das, was Du brauchst).
            Die Ergebnisse werden dann in einem Array gespeichert...
            Eben!
            Was Du zur Zeit versuchst, ist die Felder blabla1 bis blabla40 einzeln aus dem Datensatz zu holen, in 40 Variablen zu speichern und diese 40 Variablen dann in ein Array zu packen. Das ist Blödsinn. Alles, was Du brauchst ist:
            PHP-Code:
            $record mysql_fetch_array($resultMYSQL_ASSOC);
            // $record ist jetzt ein assoziatives Array aus allen Feldern
            foreach ($record as $key => $value) {
               
            // das, was Du mit jedem Feld machen willst
               // in $key steht der aktuelle Feldname, in $value der Inhalt

            Na ja, vielleicht wäre Dir für's erste auch Herr Kropff eine Hilfe?

            LG

            Kommentar

            Lädt...
            X