Problem mit foreach

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

  • Problem mit foreach

    Hallo liebe online Gemeinde.
    Ich habe hier eine Seite mit dem Namen "links.php". Auf der sollen beim Aufrufen Links aus der Kategorie "Lokal" stehn. Dann soll über ein Pulldownmenü eine andere Kategorie ausgewählt werden können. Das geht soweit auch, bis auf die Tatsache das beim ersten Aufrufen immer die Meldung :

    Warning: Invalid argument supplied for foreach() in C:\apache\htdocs\rhade.de-1\links.php on line 45

    kommt. In der steht-->foreach ($ausgabe as $wert);.
    Und dann kommen die Links aus der Kategorie "Lokal"

    Hier ist mal der code.


    <form name="links" method="post" action="links.php">
    <select NAME="ausgabe[]">
    <option value="#" selected>Linkauswahl</option>
    <option value="Sport">Sport</option>
    <option value="Musik">Musik</option>
    <option value="Kirche">Kirche</option>
    <option value="Unterhaltung">Unterhaltung</option>
    <option value="Jugend">Jugend</option>
    <option value="Kultur">Kultur</option>
    <option value="Spass">Spass</option>
    <option value="Internet">Internet</option>
    <option value="PH">PH</option>
    <option value="Verkehr">Verkehr</option>
    <option value="Medien">Medien</option>
    <option value="Kaufen">Kaufen</option>
    <option value="Verkaufen">Verkaufen</option>
    <option value="Sonnst">Sonnst</option>
    </select>
    <input type="submit" name="submit" value="ok">
    </form>
    <p>
    <?php require_once('Connections/db123.php'); ?>
    <?php
    if (! isset ($submit) )
    {
    $wert = "Lokal";
    }

    foreach ($ausgabe as $wert);

    mysql_select_db($database_db123, $db123);
    $query_Recordset1 = "SELECT * FROM tb_links WHERE $wert ='ja' ORDER BY Name,Lokal";
    $Recordset1 = mysql_query($query_Recordset1, $db123) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    ?>
    </p>
    <table border="0" cellpadding="1" cellspacing="0">
    <tr>
    <td class="lokallinks-2"><?php echo $wert ?> Links</td>
    </tr>
    <?php do { ?>
    <tr>
    <td class="lokallink" ><a href="<?php echo $row_Recordset1['Link']; ?>" target=\"_blank\"> -<?php echo $row_Recordset1['Name']; ?></a></td>
    </tr>
    <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
    </table>

    </body>
    </html>
    <?php
    mysql_free_result($Recordset1);
    ?>

    Ich hoffe es kann mir jemand helfen.

    bis dann der Reiner

  • #2
    Hinter foreach() steht immer etwas in geschweiften Klammern, die fehlen irgendwie bei dir

    Kommentar


    • #3
      Hallo tortus@work,

      laut meiner Info müssen die geschweiften Klammern nur dann sein, wenn in der Ausgabe z.B. ein Zeilenumbruch stattfinden soll.

      aber Danke.

      der Reiner

      Kommentar


      • #4
        foreach() stellt eine schleife her, in der pro Durchlauf eine Teil eines Arrays ausgelesen wird. Eine Schleife kann meiner Meinung nur dann hergestellt werden, wenn es auch einen Teil gibt, der sich pro Durchlauf wiederholen soll. Also muss etwas in geschweiften Klammern dahinterstehen.

        Siehe dazu auch -> foreach()

        Wenn das bei dir nicht so ist, erkläre mir doch bitte kurz was die foreach()-Schleife bewirken soll !?!

        cYa@work
        tortus@work

        Kommentar


        • #5
          Code:
          foreach($array as $key => $value) echo $value;
          ist genauso zulässig wie
          Code:
          foreach($array as $key => $value) {
          echo $value;
          }
          die {} sind nur nötig wenn für jedes element aus dem $array mehr als nur eine anweisung ausgeführt werden soll.
          Code:
          foreach($array as $key => $value) {
          echo $value;
          $x++;
          }
          Z.B.

          P.S. Ich tippe aber darauf, das deine $ausgabe var kein array ist.
          -- Bat[e] / pixelcore.com

          Kommentar


          • #6
            Original geschrieben von Bat[e]
            [B]
            Code:
            foreach($array as $key => $value) echo $value;
            ist genauso zulässig wie
            Code:
            foreach($array as $key => $value) {
            echo $value;
            }
            Das ist mir auch klar. Aber bei ihm steht ja
            Code:
            foreach($ausgabe as $wert);
            Meiner Meinung nach fehlt da der Bereich, in dem die Werte eingesetz werden soll

            Kommentar


            • #7
              jap, da hst du recht. Ist ja wie als wenn er nichts macht.
              -- Bat[e] / pixelcore.com

              Kommentar


              • #8
                Ja jetzt hab ich´s

                Hallo zusammen, ich habe nun Zeit gefunden um das ganze noch mal zu überprüfen und dank Eurer hilfe die Lösung gefunden.

                der Reiner

                Kommentar

                Lädt...
                X