Easy: Wert in Schleife behalten?

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

  • Easy: Wert in Schleife behalten?

    Hi, hier wieder mal ein einfaches Prob vom Earl....

    Der Code:

    PHP-Code:
    for ($i=1$i<=$lines$i++) {

      
    $text=nl2br("$arr[textfeld]");

      
    $arr mysql_fetch_array ($resMYSQL_ASSOC);
      
    $timestamp strtotime("$arr[datum]");
      
    $datum date("d.m.Y",$timestamp);
      echo 
    "<tr><td width='80' valign='top'><p class='text'>$datum</p></td><td width='*' 
            valign='top'><p class='text'>
    $text</p></td>";


      if (
    session_is_registered("username"))
       {
         
    $sn session_name();
         
    $sid session_id();
         
    session_register("datum");
         echo 
    "<td>";
         
    printf('<a href="edit_roadmap.php?%s"><img src="images/editieren.gif" border="0"></a>'SID);
         echo 
    "</td>"
    Wenn der User angemeldet ist, erscheint hinter den Zeilen ein Link (GIF). Dieses ist anklickbar und soll in einen Editiermodus weiterleiten,
    in dem die Zeile, die angeklickt wurde editiert werden soll.

    Wenn ich (wie in dem skript oben) einfach das "datum" in die session packe, dann gibt er mir das Datum mit,
    welches er nach dem kompletten durchzählen der Schleife in der Variablen gespeichert hat. Wie kann ich die Variable
    am besten auf diese Zeile festnageln?

    Vielen Dank
    Earl

  • #2
    Hänge an den Link zusätzlich zur SID noch eine ID, mit der du später die Zeile wieder eindeutig identifizieren kannst (etwa das Datum selbst oder $i). Anders wird es nicht gehen, denn sonst weißt du ja gar nicht, welche Zeile geklickt wurde.

    Kommentar


    • #3
      Danke onemorenerd,
      ich möchte nicht so erscheinen, dass ich mir alles vorkauen lasse, aber mein Buch gibt nicht so viele Infos her und hier in den Foren sind die meisten Beispiele in so komplizierten Zusammenhängen, dass ich da nicht durchsteige.

      Könntest Du mir evtl ein Bsp für Deinen Vorschlag geben? Wie kann der Link aussehen?

      Kommentar


      • #4
        z.B

        PHP-Code:
        <a href="edit_roadmap.php?id=$DEINE_ID_ODER WAS AUCH IMMER">
        <
        img src="images/editieren.gif" border="0"></a>
        Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

        Kommentar


        • #5
          Das ist meine Zeile

          PHP-Code:
          printf('<a href="edit_roadmap.php?id=$datum"><img src="images/editieren.gif" border="0"></a>'SID); 
          allerdings nimmt er trotzdem immernoch den Inhalt der Variablen, die er nach dem kompletten durchlauf der Schleife hat.

          Wäre es denn nicht logisch, nachdem in jedem Schleifendurchlauf der Link mit dem $datum geschrieben wird, das er dann das Datum dieser der richtigen Zeile mit übernimmt? Bei der ausgabe gibt er ja auch den richtigen Text aus???

          Sorry, wenn ich Euch nerve ....

          Kommentar


          • #6
            Original geschrieben von Earl of Green
            PHP-Code:
            printf('<a href="edit_roadmap.php?id=$datum">
            <img src="images/editieren.gif" border="0"></a>'
            SID); 
            und du glaubst, dass dabei die variable durch ihren wert ersetzt wird ...?

            im ersten quellcode-schnippsel hattest du ja wenigstens noch einen platzhalter %s an der stelle gesetzt, wo der variablenwert hin soll ...


            nimmt bitte nicht printf für so simple ausgaben, sondern ein einfaches echo.
            string an den stellen, wo variablen eingesetzt werden soll, ordentlich auftrennen, und fertig.


            und brich das nächste mal deinen code um, so wie es in den regeln steht!
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              So, nochmal ich.
              Ich habe Deinen Tip nicht ganz verstanden aber habe mit dem neuen Code (anstadt Platzhalter) rumgespielt und auch ein paar neue Kleinigkeiten gelernt. Leider funktioniert es immer noch nicht, dass das richtige Datum weitergegeben wird.

              Hier nochmal der Code:
              (Es wäre sehr nett, wenn Ihr bei Euren Antworten daran denkt, dass hier vorm Rechner ein ziemlicher PHP-Newbe sitzt

              PHP-Code:
              // ======================= START TEXT ========
              $SQL_code "SELECT * FROM ww_tb_roadmap";
              $res send_sql($db_name$SQL_code);
              $lines mysql_num_rows ($res);

              echo 
              " <center>";
              echo 
              "<br>";
              echo 
              " <table border='0'>";

                
              $SQL_code "SELECT datum, textfeld FROM ww_tb_roadmap ORDER BY datum DESC";
                
              $res send_sql($db_name$SQL_code);

              for (
              $i=1$i<=$lines$i++) {

                
              $text=nl2br("$arr[textfeld]");

                
              $arr mysql_fetch_array ($resMYSQL_ASSOC);
                
              $timestamp strtotime("$arr[datum]");
                
              $datum date("d.m.Y",$timestamp);
                echo 
              "<tr><td width='80' valign='top'>
                   <plass='text'>
              $datum</p></td><td width='*' valign='top'>
                   <p class='text'>
              $text</p></td>";


                if (
              session_is_registered("username"))
                 {
              //     session_register("datum");
              //     $id = session_id("datum");

                   
              echo "<td valign='bottom'>";

              //     echo "<a href='edit_roadmap.php?datum=$datum'>
              //     <img src='images/editieren.gif' border='0'></a>";

                  
              printf('<a href="edit_roadmap.php?datum=$datum">
                   <img src="images/editieren.gif" border="0"></a>'
              SID);
                   echo 
              "</td>";
                 }
                 echo 
              "<tr>";
                 echo 
              "<tr><td colspan='3'><hr size=1 color='$body_text' width='100%'></td></tr>";
              }

              echo 
              "</table>";
              echo 
              "</center>";

              // ======================= ENDE TEXT ======== 

              PS: Ich habe die Zeilenumbrüche eingebaut und kann auf meinem Rechner alles ohne Scrollbalken lesen (nur als Info)
              Zuletzt geändert von Earl of Green; 26.08.2005, 14:02.

              Kommentar


              • #8
                PHP-Code:
                echo '<a href="edit_roadmap.php?datum='.$datum.'"><img src="images/editieren.gif" border="0"></a>'
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Danke für die schnelle Antwort.
                  Ich habe diese Zeile reinkopiert, aber das ergebniss ist das gleich wie vorher: Das Datum ist das, welches am Ende der Schleife erreicht wurde und nicht das von der angeklickten Zeile.

                  Und warum muss die Variable in Punkte eingeschlossen werden (.$datum.)?
                  Zuletzt geändert von Earl of Green; 26.08.2005, 14:42.

                  Kommentar

                  Lädt...
                  X