Ankündigung

Einklappen
Keine Ankündigung bisher.

Seiten Refresh ohne Tabellenverlust

Einklappen

Neue Werbung 2019

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

  • Seiten Refresh ohne Tabellenverlust

    Hi Leute!
    HAbe mal ne Frage =):

    Ich lese aus ner mysql db daten in eine tabelle(via textbox+submitbutton) und wenn ich ein update durchführe, um in der tabelle was zu ändern, wie klappt das,dass ich dann den datensatz wieder in der tabelle sehe ohne ihn neu in die textbox einzugeben? Meine Variablen bleiben mit ner Session beibehalten aba ich schaffe es nicht, dass die tabelle automatisch lädt...

    PHP-Code:
    <table width="400" border="1" align="center" bgcolor="#0099FF">
      <th colspan="4" align="center">Medikamente </th>
      </tr>
      <th width="24" align="center">X</th>
      <th width="86" align="center">PZN</th>
      <th width="33" align="center">Medikament</th>
      <th width="46" align="center">Status ac/co</th>
      <th width="44" align="center">Ersatz</th>
      <th width="39" align="center">Stück</th>
      <th width="105" align="center">Packungsgröße</th>
      <th width="90" align="center">Einnahmeart</th>
      <th width="36" align="center">Dosis</th>
      <th width="93" align="center">Einnahmezeit</th>
      <th width="34" align="center">Von:</th>
      <th width="26" align="center">Bis:</th>
       <form method="post" action="<?php echo $_SERVER['PHP_SELF'?>"> 
          <?php 
        
    include ("connector.php");
        
    //$svn_suche=$_POST["svn_read"];
        
    if(isset($_POST['submit']))
            {
                
    session_register("svn_suche");
                
    $query "SELECT pzn,name,acco,ersatz,pk,pkg,routecode,dose,ezeit,von,bis FROM MK_Medikamente where r_id=(select r_id from MK_Rezept where ecardnr = '$svn_suche')";
                
    $result mysql_query($query);
                while (
    $row mysql_fetch_assoc($result)){ 
                
    ?>
         <tr>
             <td>
            <input name="print[]" type="checkbox" value="<?php print $row['pzn']; ?>"/>        </td>
            <td><?php print $row['pzn']; ?></td>
            <td><?php print $row['name']; ?></td>
            <td><?php print $row['acco']; ?></td>
            <td><?php print $row['ersatz']; ?></td>
            <td><?php print $row['pk']; ?></td>
            <td><?php print $row['pkg']; ?></td>
            <td><?php print $row['routecode']; ?></td>
            <td><?php print $row['dose']; ?></td>
            <td><?php print $row['ezeit']; ?></td>
            <td><?php print $row['von']; ?></td>
            <td><?php print $row['bis']; ?></td>
        </tr>
        <?php }?>
        <?php }?>    
        <tr>
            <td width="33%"><input name="suchen" type="hidden" value="1">
                            <input name="ausgabe1" type="submit" value="Ausgeben" />
            <td width="33%"><input name="comment" type="submit" value="Kommentar" />
            <td width="33%"><input name="repl" type="submit" value="Ersatz" align="center"/>    </td>
        </form>
    </table>
    Habe probiert beim if( ISSET ... eine else clausel zu machen,damit er automatisch was ausliest(die variable sollte ja wegen der session_start(); und Session_register("svn_suche") ja beibehalten werden und er sollte das query automatisch starten?

    Kurz nochmal: mag die Seite mit der befüllten tabelle nach einem update dieser, neu laden und die upgedatete tabelle sehen.

    Mein Problem ist,dass nur wenn ich den submit button drücke die id für den Db query übergeben wird und wenn ich refreshe gibt es ja keinen tastendruck und darum keine ausgabe mehr (denk ich zumindest)...

    Hoffe es kann mir wer helfen!

    lg,
    mario

  • #2
    Wo kommt denn $svn_suche her? Im SKript hast Du
    //$svn_suche=$_POST["svn_read"];
    auskommentiert.

    session_register() ist veraltet. Stattdessen wird das Feld $_SESSION verwendet. Einfach die Werte, die erhalten bleiben sollen, im Feld setzen.
    PHP-Code:
    sesion_start();
    $_SESSION['abc'] = date('l jS \of F Y h:i:s A'); 
    Wenn die Session fortgesetzt wird, werden die Werte von PHP wieder in das Feld eingelesen
    PHP-Code:
    session_start();
    if (isset(
    $_SESSION['abc']))
    {
      echo 
    $_SESSION['abc'];
    }
    else
    {
      echo 
    '_SESSION[abc] nicht gesetzt.';

    Kommentar


    • #3
      $svn_suche is nur der inhalt einer textbox die er sich merken soll für 4 tabellen...
      das mit $_SESSION werd ich gleichmal probieren thx =)!
      PHP-Code:
          session_start();
          include (
      "connector.php");
          
      $svn_suche=$_POST["svn_read"];
          
      $_SESSION['svn_suche'] = $svn_suche
      geht das so?
      also wenn ich dann auf ner neuen seite $svn_suche verwende,dass er sichs aus der session holt?

      Mein grundproblem war ja nicht die session variable sondern dass der tabellen inhalt bei einem update statement durch einen button klick verschwindet? beim buttonclick wird die seite neu geladen... und da keine neue abfrage gemacht wird kommt er isn ISSET nicht mehr rein udn fragt nichts ab...

      vllt eine idee wie ich das lösen könnte?

      lg,
      mario

      Kommentar


      • #4
        Zitat von st33ltormentor Beitrag anzeigen
        beim buttonclick wird die seite neu geladen... und da keine neue abfrage gemacht wird
        was spricht dagegen eine neue abfrage beim buttonclick zu machen?

        Kommentar


        • #5
          auf dei seite soll die svnr nur einmal eingegeben werden müssen, das ne 10stellige id ist...

          wenn man nun bei jedem update der tabelle das wieder eintippseln muss wird man mit der zeit blöd oder?

          lg,
          mario

          Kommentar


          • #6
            Du könntest sie als <input type="hidden"... verschicken. Dann sparst Du Dir die Session an der Stelle. Verwendest Du eh schon an anderer Stelle Sessions, zum Beispiel beim Login, oder würdest Du session_start() nur wegen der id aufrufen?

            Kommentar


            • #7
              hmmm....
              also bei dem suchfenster mim abfragebutton ein <input type="hidden...
              machen und dann if button == 1 ...

              das problem ist glaub ich mal dass ich dann meine update statements die diese SVN benörtigen ja keinen wert bekommen ohne diese session oder wie kann ich die für alle zugänglich machen ohne sie dauernd neu einzutippen?

              lg,
              mario

              Kommentar


              • #8
                Ich glaube, Du denkst zu kompliziert. Wenn es als hidden Feld übertragen wird, steht es halt in $_POST und nicht in $_SESSION. Ansonsten ändert sich für Dich nichts-

                Kommentar


                • #9
                  kann sein arbeite schon seit 3 tagen durchgehend daran und "my brain hurts" ^_^y! i versuch das mim input hidden mal =)!

                  aba nochmal zum hauptproblem... wie löse ich das verschwinden meiner tabelleneinträge nachm "update button"-click? bzw geht das nur mit ner 2ten seite wo dann ne eigene tabelle automatisch generiert wird ohne button??? kann ja ned sein...

                  lg,
                  mario

                  Kommentar


                  • #10
                    Zitat von st33ltormentor Beitrag anzeigen
                    versuch das mim input hidden mal =)!

                    aba nochmal zum hauptproblem... wie löse ich das verschwinden meiner tabelleneinträge nachm "update button"-click?
                    Entweder verstehe ich das Problem nicht oder das input/hidden sollte Dein Hauptproblem lösen.

                    Kommentar


                    • #11
                      das mit input hidden versteh ich aber mein problem isn anderes:

                      ich geb in ein textfeld eine svn ein...drücke auf nen submitbutton und es werden 4 tabellen befüllt mit daten

                      nun möchte ich in einer tabelle einen column wo eine checkbox aktiv ist ändern (klappt auhc noch super mit der session var), aber da ich fürs update query einen eigenen button hab zum drücken ..shickt er das update statement ab bekommt aber nicht mehr den befehl die tabelle wieder auszulesen.... und da steck ich gerade =)

                      verstehst was ich meine?

                      lg,
                      mario

                      Kommentar


                      • #12
                        Ob als Hidden-Field, oder als SESSION-Variable ist eigentlich egal, svn_read wird nirgends definiert, und damit ist eigentlich auch die Abfrage leer. Wenn du - wie in den Forums-Regeln erklärt wird - error_reporting(E_ALL) an den Scriptanfang schreiben würdest, dann gäbe das auch einen Fehler.
                        Dafür wird das (Array-)Feld print nirgends abgefragt. Und wozu dienen die drei verschiedenen Submit-Buttons?
                        Aber vielleicht versuchst du mal verbal zu beschreiben, was du willst, aus deinem PHP/HTML-Gemisch wird auf die schnelle sowieso niemand schlau.
                        Gruss
                        L

                        Kommentar


                        • #13
                          Ich wollt nich meinen kompletten code posten drum hab ich alles weggelassen was mim problem nichts zu tun hat...

                          es funktioniert alles super mit der abfrage udn auch mit dem update aber nach dem update muss ich die svn neu eingeben und wieder den button drücken damit ich die änderung sehe...

                          is das so vllt verständlicher ausgedrückt :P?

                          lg,
                          mario

                          Kommentar


                          • #14
                            Der Abfrage Button:
                            PHP-Code:
                                <form name="read" action=<?php echo $_SERVER['PHP_SELF']?> method="post">
                                            <input name="suchen" type="hidden" value="1">
                                      <p>SVN:    <input name="svn_read" type="text" size="15" maxlength="10">
                                            <input type="submit" value="Rezept auslesen" name="submit" onClick="return clpget()"></p>
                                </form>
                            die eine tabelle:
                            PHP-Code:
                            <table width="100%" height="904" border="1">
                              <tr>
                              <td><table width="400" border="1" align="center" bgcolor="#0099FF">
                              <th colspan="4" align="center">Rezept </th>
                              </tr>
                               <th width="212" align="center">X</th>
                              <th width="212" align="center">Rezept-ID</th>
                              <th width="212" align="center">E-Card #</th>
                              <th width="212" align="center">Status ac/co</th>
                              <th width="212" align="center">von</th>
                              <th width="212" align="center">bis</th>
                                <form method="post" action="<?php echo htmlentities ($_SERVER['PHP_SELF']) ?>"> 
                                  <?php 
                                session_start
                            ();
                                include (
                            "connector.php");
                                
                            $svn_suche=$_POST["svn_read"];
                                
                            session_register("svn_suche");
                                if(isset(
                            $_POST['submit']))
                                    {
                                        
                            $query "SELECT r_id,ecardnr,acco,von,bis FROM MK_Rezept where ecardnr = '$svn_suche'";
                                        
                            $result mysql_query($query);
                                        while (
                            $row mysql_fetch_assoc($result)){ 
                                        
                            ?>
                                 <tr>
                                     <td><input name="print[]" type="checkbox" value="<?php print $row['r_id']; ?>"/></td>
                                    <td><?php print $row['r_id']; ?></td>
                                    <td><?php print $row['ecardnr']; ?></td>
                                    <td><?php print $row['acco']; ?></td>
                                    <td><?php print $row['von']; ?></td>
                                    <td><?php print $row['bis']; ?></td>
                                </tr>
                                <?php }?>
                                <?php }?>
                            Update statement:
                            PHP-Code:
                            if (isset($_POST["ausgabe"]))
                            {
                                
                            $print=$_POST["print"];
                                include (
                            "connector.php");
                                foreach (
                            $_POST["print"] as $key => $value)
                                    {    
                            session_register("svn_suche");
                                        
                            $query "update MK_Rezept set acco ='act' where  ecardnr = '$svn_suche' AND r_id ='".$value."'";
                                        
                                
                            mysql_query($query);
                                
                            mysql_close();
                                    }

                            um die 3 sachen dreht sich alles...

                            hoffe so is es klarer wo mein problem liegt =)

                            lg,
                            mario

                            Kommentar


                            • #15
                              Ich versteh immer noch nur die Hälfte, aber vielleicht hilft dir das weiter:
                              PHP-Code:
                              <?php
                              session_start
                              ();
                              ?>
                              <table width="400" border="1" align="center" bgcolor="#0099FF">
                                <tr><th colspan="12" align="center">Medikamente </th></tr>
                                <tr><th width="24" align="center">X</th>
                                <th width="86" align="center">PZN</th>
                                <th width="33" align="center">Medikament</th>
                              ...
                                <th width="34" align="center">Von:</th>
                                <th width="26" align="center">Bis:</th></tr>
                              <?php 
                                     
                              echo "<form method='post' action='" $_SERVER['PHP_SELF'] . "'>\n"
                                  include (
                              "connector.php");
                                  
                              $svn_suche = !empty($_POST["svn_read"]) ? $_POST["svn_read"] : $_SESSION["svn_read"];
                                  
                              $_SESSION["svn_read"] = $svn_suche;
                                  if (!empty(
                              $svn_suche)) {
                                      
                              $query "
                                          SELECT 
                                              pzn,
                                              name,
                                              acco,
                                              ersatz,
                                              pk,
                                              pkg,
                                              routecode,
                                              dose,
                                              ezeit,
                                              von,
                                              bis 
                                          FROM 
                                              MK_Medikamente m
                                          INNER JOIN
                                              MK_Rezept r USING(r_id)                
                                          WHERE 
                                              r.ecardnr = 
                              $svn_suche";
                                      
                              $result mysql_query($query);
                                      
                              $fields = array('pzn''name''acco''ersatz''pk''pkg''routecode''dose''ezeit''von''bis');
                                      while (
                              $row mysql_fetch_assoc($result)){ 
                                             echo 
                              "<tr><td><input name='print[]' type='checkbox' value='" $row['pzn'] . "' /></td>";
                                          foreach (
                              $fields as $field){
                                              echo 
                              "<td>" $row[$fild] . "</td>";
                                          }
                                          echo 
                              "</tr>\n";
                                      }
                                  }
                              ?>  
                                  <tr>
                                      <td width="33%"><input name="suchen" type="hidden" value="1">
                                                      <input name="ausgabe1" type="submit" value="Ausgeben" /></td>
                                      <td width="33%"><input name="comment" type="submit" value="Kommentar" /></td>
                                      <td width="33%"><input name="repl" type="submit" value="Ersatz" align="center"/></td></tr>
                                  </form>
                              </table>
                              Gruss
                              L

                              Kommentar

                              Lädt...
                              X