Suchen und gleichzeitig ändern

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

  • Suchen und gleichzeitig ändern

    Hallo,

    ich habe folgendes Problem.

    Bei einer Datenbank hab ich mehre Funktionen auf ein Web-Frontend gepackt, unter anderem suchen und ändern.

    Jetzt habe ich ein Problem, ich möchte die Ergebnisse der Suche ändern können, wenn dies nötig ist, aber leider klappt das net so ganz.

    Hier der Codeauszug

    PHP-Code:
    <html>
    <head>
    <title>Knowledgebase SMC3</title>
    </head>
    <h1 align="center">Folgende Einträge wurden gefunden</h1>
    <?php

    include 'dbconnect.php';

    // Die SQL Query
    $sql "SELECT * FROM `data` WHERE 1 AND `$radiob` LIKE '%$suche%' LIMIT 0 , 30 ";

    $result mysql_query($sql);

    if (
    mysql_numrows($result)>0)
    {
    $username=mysql_result($result,0,"Frage");
    $passwort=mysql_result($result,0,"Antwort");
    }
    ?>

    <html>
    <p><h3 align="center"> Bitte Daten korrigieren </h3></p>
    <table border="0">
    <form action="update.php" method="POST">
    <tr>

        <td><input type="hidden" size="20" name="$update" value="<? echo $_POST['$update']; ?>"></td>
    </tr>
    <tr>
        <td>Problem:</td>
        <td><input type="text" size="40" name="$username" value="<? echo $username; ?>"></td>
    </tr>

    <tr>
        <td>Lösung:</td>
        <td><textarea name="$passwort" cols="50" rows="10"> <? echo $passwort; ?></textarea></td>
    </tr>

    <tr>
        <td align="center"><input type="submit" name="eintrag" value="Ändern">

        </td>
    </tr>
    </form>
    </table>
    </html>
    Das Ergebnis der Suche ist aber nur ein Wert, denn ich auch ändern kann. Aber wenn mehrere Datensätze mit dem gleichen Suchbegriff existieren, zeigt er nur einen (ich schätze den ersten) an. Wie kann ich es hinbekommen, das alle angezeigt werden, und ich die ändernkann?

    Gruß
    Dennis

  • #2
    mysql_fetch_array ist dein Freund (s. Manual), oder du kannst auch mit
    For-Schleife und mysql_result die Werte holen; Anzahl der Zeilen hast du
    ja schon.

    Kommentar


    • #3
      PHP-Code:
      if (mysql_numrows($result)>0)
      {
      while(
      $row=mysql_fetch_object($result)) {
      $username=$row->tabellenname;
      $passwort=$row->tabellenname2;
      }

      .... in etwa...
      _____________
      Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
      [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

      Kommentar


      • #4
        Hallo,

        klar. hab die Schleife vergessen *grml*

        werds gleich mal probieren, bis hier hin erst mal danke

        Gruß
        Dennis

        Kommentar


        • #5
          Hallo,

          habs mal ausprobiert, aber er rechnet sich tot, und dann kommt ne Fehlermeldung das die 30sec Grenze überschritten wurde.

          Hm, weiß absolut nicht weiter.

          Gruß
          Dennis

          Kommentar


          • #6
            Und wie sieht dein Code nun aus...?
            _____________
            Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
            [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

            Kommentar


            • #7
              Hallo,

              PHP-Code:
              <html>
              <head>
              <title>Knowledgebase SMC3</title>
              </head>
              <h1 align="center">Folgende Einträge wurden gefunden</h1>
              <?php

              include 'dbconnect.php';

              // Die SQL Query
              $sql "SELECT * FROM `data` WHERE 1 AND `$radiob` LIKE '%$suche%' LIMIT 0 , 30 ";

              $result mysql_query($sql);

              if (
              mysql_numrows($result)>0)
              {
              while (
              $row=mysql_fetch_object ($result))
              {
              $username=mysql_result($result,0,"Frage");
              $passwort=mysql_result($result,0,"Antwort");
              }
              }
              ?>

              <html>
              <p><h3 align="center"> Bitte Daten korrigieren </h3></p>
              <table border="0">
              <form action="update.php" method="POST">
              <tr>

                  <td><input type="hidden" size="20" name="$update" value="<? echo $_POST['$update']; ?>"></td>
              </tr>
              <tr>
                  <td>Problem:</td>
                  <td><input type="text" size="40" name="$username" value="<? echo $username; ?>"></td>
              </tr>

              <tr>
                  <td>Lösung:</td>
                  <td><textarea name="$passwort" cols="50" rows="10"> <? echo $passwort; ?></textarea></td>
              </tr>

              <tr>
                  <td align="center"><input type="submit" name="eintrag" value="Ändern">

                  </td>
              </tr>
              </form>
              </table>
              </html>
              Das is der neue Code, habe eigentlich nur die schleife darum herum gesetzt

              Gruß
              Dennis

              Kommentar


              • #8
                Lies mal hier...

                http://ch2.php.net/manual/de/function.msql-result.php

                Und machs mal so wie ich geschrieben hab...
                _____________
                Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                Kommentar


                • #9
                  Hallo,

                  hatte die andere Änderung überlesen, sorry.

                  Hab es mir durchgelesen, aber irgendwie klappt es net. Es wird nur ein Eintrag angezeigt.

                  Folgendermassen sieht der Code jetzt aus.

                  PHP-Code:
                  <html>
                  <head>
                  <title>Knowledgebase SMC3</title>
                  </head>
                  <h1 align="center">Folgende Einträge wurden gefunden</h1>
                  <?php

                  include 'dbconnect.php';

                  // Die SQL Query
                  $sql "SELECT * FROM `data` WHERE 1 AND `$radiob` LIKE '%$suche%' LIMIT 0 , 30 ";

                  $result mysql_query($sql);

                  if (
                  mysql_numrows($result)>0)
                  {
                  while (
                  $row=mysql_fetch_object ($result))
                  {
                  $username=$row -> Frage;
                  $passwort=$row -> Antwort;
                  }
                  }
                  ?>

                  <html>
                  <p><h3 align="center"> Bitte Daten korrigieren </h3></p>
                  <table border="0">
                  <form action="update.php" method="POST">
                  <tr>

                      <td><input type="hidden" size="20" name="$update" value="<? echo $_POST['$update']; ?>"></td>
                  </tr>
                  <tr>
                      <td>Problem:</td>
                      <td><input type="text" size="40" name="$username" value="<? echo $username; ?>"></td>
                  </tr>

                  <tr>
                      <td>Lösung:</td>
                      <td><textarea name="$passwort" cols="50" rows="10"> <? echo $passwort; ?></textarea></td>
                  </tr>

                  <tr>
                      <td align="center"><input type="submit" name="eintrag" value="Ändern">

                      </td>
                  </tr>
                  </form>
                  </table>
                  </html>
                  Gruß
                  Dennis

                  Kommentar


                  • #10
                    Original geschrieben von Mannis
                    Es wird nur ein Eintrag angezeigt.
                    natürlich - weil du die ausgabe der daten ja erst nach der schleife machst.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      OffTopic:
                      Denkfehler
                      _____________
                      Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                      [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                      Kommentar


                      • #12
                        Hallo,

                        argh wie dumm. Da merkt man das ich mich noch nich allzulange mit PHP beschäftige

                        Aber ich schaffe es nicht die html-ausgabe in die schleife zu setzen. Gibt es da Komplikationen zwischen php und html?

                        Gruß
                        Dennis

                        Kommentar


                        • #13
                          PHP-Code:
                          <title>Knowledgebase SMC3</title>
                          </head>
                          <h1 align="center">Folgende Einträge wurden gefunden</h1>

                          <html>
                          <p><h3 align="center"> Bitte Daten korrigieren </h3></p>
                          <table border="0">
                          <form action="update.php" method="POST">
                          <?php

                          include 'dbconnect.php';

                          // Die SQL Query
                          $sql "SELECT * FROM `data` WHERE 1 AND `$radiob` LIKE '%$suche%' LIMIT 0 , 30 ";

                          $result mysql_query($sql);

                          if (
                          mysql_numrows($result)>0)
                          {
                          while (
                          $row=mysql_fetch_object ($result))
                          {
                          $username=$row -> Frage;
                          $passwort=$row -> Antwort;

                          ?>
                          <tr>

                              <td><input type="hidden" size="20" name="$update" value="<? echo $_POST['$update']; ?>"></td>
                          </tr>
                          <tr>
                              <td>Problem:</td>
                              <td><input type="text" size="40" name="$username" value="<? echo $username; ?>"></td>
                          </tr>

                          <tr>
                              <td>Lösung:</td>
                              <td><textarea name="$passwort" cols="50" rows="10"> <? echo $passwort; ?></textarea></td>
                          </tr>

                          <tr>
                              <td align="center"><input type="submit" name="eintrag" value="Ändern">

                              </td>
                          </tr>
                          <?
                          }
                          }
                          ?>
                          </form>
                          </table>
                          </html>
                          Oder was geht nicht?
                          _____________
                          Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                          [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                          Kommentar


                          • #14
                            Hallo,
                            es klappt jetzt, musste die End-Tags aber in die Schleife packen, sonst hätte es nicht gefunzt. Sieht jetzt so aus:

                            PHP-Code:
                            html>
                            <head>
                            <title>Knowledgebase SMC3</title>
                            </head>
                            <h1 align="center">Folgende Einträge wurden gefunden</h1>
                            <?php

                            include 'dbconnect.php';

                            // Die SQL Query
                            $sql "SELECT * FROM `data` WHERE 1 AND `$radiob` LIKE '%$suche%' LIMIT 0 , 30 ";

                            $result mysql_query($sql);

                            if (
                            mysql_numrows($result)>0)
                            {
                            while (
                            $row=mysql_fetch_object ($result))
                            {
                            $username=$row ->Frage;
                            $passwort=$row ->Antwort;
                            ?>




                            <br>
                            <br>
                            <table border="0">
                            <form action="update.php" method="POST">
                            <tr>

                                <td><input type="hidden" size="20" name="$update" value="<? echo $_POST['$update']; ?>"></td>
                            </tr>
                            <tr>
                                <td>Problem:</td>
                                <td><input type="text" size="40" name="$username" value="<? echo $username; ?>"></td>
                            </tr>

                            <tr>
                                <td>Lösung:</td>
                                <td><textarea name="$passwort" cols="50" rows="10"> <? echo $passwort; ?></textarea></td>
                            </tr>

                            <tr>
                                <td align="center"><input type="submit" name="eintrag" value="Ändern">

                                </td>
                            </tr>
                            </form>
                            </table>
                            </html>
                            <?
                            }
                            }
                            Aber es hat sich ein anderes Problem ergeben.
                            Wenn ich auf Ändern drücke, wird eine neue Seite aufgerufen, allerdings macht die nicht ihren Job, obwohl ich wie ich glaube alle bedacht habe.

                            Folgendermassen ist der Code:

                            PHP-Code:
                            <html>
                            <head>
                            <title>Knowledgebase SMC3</title>
                            </head>
                            <h1 align="center">Eintrag erfolgreich geändert</h1>
                            <?
                            include ("dbconnect.php");
                            $user = $_POST['$username'];
                            $pass = $_POST['$passwort'];
                            $id = $_POST['$update'];

                            $sqlwert ="    update
                                        data

                                      set
                                        Frage= '$user',
                                        Antwort= '$pass'
                                      WHERE
                                        id = $id";

                                $sqlanfrage = mysql_query($sqlwert) or die (mysql_error()) ;
                            ?>
                            </html>
                            Als Fehlermeldung kommt: Error in SQL-Syntax bei folgendem Befehl:

                            PHP-Code:

                            $user 
                            $_POST['$username']; 
                            Habe ich die Variable falsch übergeben?

                            Gruß
                            Dennis

                            Kommentar


                            • #15
                              Mach mal...

                              PHP-Code:
                              $sqlwert ="update
                                          data

                                        set
                                          Frage= '
                              $user',
                                          Antwort= '
                              $pass'
                                        WHERE
                                          id = 
                              $id";
                              echo 
                              $sqlwert;

                                  
                              $sqlanfrage mysql_query($sqlwert) or die (mysql_error()) ; 
                              Was gibt dir $sqlwert aus?

                              Oder mach mal..

                              $sqlwert ="update data set Frage= '".$user."',Antwort= '".$pass."' WHERE id = '".$id."'";
                              Zuletzt geändert von Seccho; 06.04.2004, 07:51.
                              _____________
                              Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                              [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                              Kommentar

                              Lädt...
                              X