[SQL allgemein] [Anfänger] möchte einzelne Zellen updaten

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

  • [SQL allgemein] [Anfänger] möchte einzelne Zellen updaten

    Hi
    Es geht sich um folgendes, in einer Tabelle sollen hinter den Werten kleine Icons sein, mit denen ich die Zahl in der jeweiligen Zelle um eins erhöhe. Es sind Baustufen eines Onlinegames. Ich bin Anfänger un brauche Hilfe.
    aktuelles Problem:
    -er übergibt den schlüssel nicht, wenn ich über den Link fahre bzw. das img, dann erscheint kein id=wert
    - wie kann ich das bei nur bestimmten Spalten machen und nicht bei allen Zellen?!


    PHP-Code:
    <?php 
    include("loeschen.php");
    include(
    "****.php");
    include(
    "update.php");
    $sql="SELECT * FROM gebäude";
    $result=mysql_query($sql);
    $zeilen=mysql_num_rows($result);
    echo 
    "<p>$zeilen Einträge:</p>\n";
    //Tabelle definieren
    echo "<table border='1' cellspacing='0'>\n";
    //Kopfzeile der Tabelle: 
    echo "<tr><th>id</th>" .
    "<th>Uni</th>" .
    "<th>Plani</th>" .
    "<th>Name</th>" .
    "<th>Metall</th>" .
    "<th>Kristall</th>" .
    "<th>Deut</th>" .
    "<th>Kommentar</th></tr>\n";
    //while Schleife anfang
    while ($row=mysql_fetch_assoc($result)) {
    echo 
    "<tr>"// Zeile erzeugen
    // for each Anfang
    foreach ($row as $key => $value) {
    //hier gehts nicht weiter
    echo "<td>$value&nbsp;<input type='hidden' name='sch' value='$sch'>
    <a href='index.php?show=inc&id='.
    $sch''><img src='new.gif'></a></td>\n";
    //foreach Ende
    echo "<tr>"//Zeile Schließen
    //while ende
    echo "</table>\n"//Tabelle schliessen
    mysql_close();
    ?>
    die notwendige update.php
    PHP-Code:
    <?php
    include("****.php");
    if (
    $_GET["show"]=="inc");
    {
    $sql='UPDATE gebäude SET metall=metall+1 WHERE id= $GET ("id")';
    }
    ?>
    Im Vorraus vielen Dank für die Hilfe.
    Zuletzt geändert von Dirk81; 22.04.2006, 17:20.

  • #2
    wenn das der Original Code ist dann versuch das mal

    PHP-Code:
    echo '<td>'.$value.'&nbsp;<input type="hidden" name="sch" 
    value="'
    .$sch.'">
    <a href="index.php?show=inc&id="'
    .$sch.'"><img src="new.gif"></a></td>'
    Ich hoffe es hilft

    Kommentar


    • #3
      @Dirk81
      http://www.php-resource.de/forum/sho...threadid=50454
      Lesen und umsetzen

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        @webcool: hat leider nicht geholfen
        @ghostgambler:
        1. sehr freundlich...
        2. die Variable ist undefiniert?!

        Kommentar


        • #5
          hat leider nicht geholfen
          tolle problembeschreibung. und jetzt?

          was passiert bzw. passiert nicht?

          zeig mal den code, der an den browser geschickt wird (wie die links generiert werden).

          hättest du mysql_error() eingebaut, wüsstest du, dass die update-query kaputt ist.
          sehr freundlich...
          für einen aufmerksamen leser - sogar hilfreich.

          Kommentar


          • #6
            Re: [SQL allgemein] [Anfänger] möchte einzelne Zellen updaten

            Original geschrieben von Dirk81
            if ($_GET["show"]=="inc");
            {
            $sql='UPDATE gebäude SET metall=metall+1 WHERE id= $GET ("id")';
            [ ] Dir fällt auf, dass du hier einmal richtig auf einen GET-Parameter zugreifst - und dass du es das andere Mal vollkommen blödsinnig versuchst.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Re: Re: [SQL allgemein] [Anfänger] möchte einzelne Zellen updaten

              Original geschrieben von wahsaga
              [ ] Dir fällt auf, dass du hier einmal richtig auf einen GET-Parameter zugreifst - und dass du es das andere Mal vollkommen blödsinnig versuchst.
              Nein keine Ahnung. Was wäre richtig?

              @penicilin:
              Ich dachte das eine würde mit dem anderen zusammenhängen aber kein unabhängiger Fehler sein.

              Kommentar


              • #8
                1. zeichen für zeichen vergleichen, bis man unterschiede findet.
                2. drüber nachdenken.
                3. nachschlagen, wie man es richtig macht.
                (4. http://de.php.net/manual/en/language....syntax.single behandelt das nächste problem, das du haben wirst)

                Kommentar


                • #9
                  Also jetzt bekomme ich keinen Fehler aus der update.php und ich hab keine Ahnung wie ich es schreiben muss.
                  PHP-Code:
                  $sql='UPDATE gebäude SET metall=metall+1 WHERE id= $_GET ["id"]'
                  wenn ich mal ne vernünftige erklärung finden würde oder einer mal nen konstruktiven Hinweis geben könnte wäre ich sehr dankbar.

                  Kommentar


                  • #10
                    siehe punkt vier als konstruktiven hinweis an.

                    Kommentar


                    • #11
                      da steht nix über mysql update und was da bei where wie geschrieben werden muss auch nicht.

                      Deshalb nochmal die Frage, was wäre richtig?

                      Kommentar


                      • #12
                        Original geschrieben von Dirk81
                        da steht nix über mysql update und was da bei where wie geschrieben werden muss auch nicht.
                        in der tat nicht. da steht aber, wie man string aufbaut oder variablen in strings setzt und wo der unterschied zwischen hochkommata und zoll-zeichen ist. hier http://www.php-resource.de/forum/sho...threadid=58111 stehts dann auch nochmal.

                        ein
                        PHP-Code:
                        echo $sql
                        würde dir ebenso wie die nutzung von mysql_error() eine erhellung bringen.
                        Kissolino.com

                        Kommentar


                        • #13
                          Ach was? Im PHP-Manual steht nichts über SQL-Queries. Na sowas? Wäre aber irgendwie am Thema vorbei geschrieben oder?

                          http://www.php-resource.de/forum/sho...ichtig+trennen vielleicht hilft dir wenigstens das weiter. Testausgaben können natürlich auch nicht schaden.

                          Kommentar


                          • #14
                            genau, am thema vorbei geschrieben und das unter dem Thema:
                            PHP script resource > Entwicklung > SQL / Datenbanken > [SQL allgemein] [Anfänger] möchte einzelne Zellen updaten

                            was habt ihr eigentlich für ein Problem?

                            die neue update.php
                            PHP-Code:
                            <?php
                            include("zugang.php");
                            #Wenn du nicht weißt, um was es geht
                            error_reporting(E_ALL);
                            echo 
                            $sql;
                            if (
                            $_GET["show"]=="inc");
                            {
                            //eigentliches Problem
                            $sql='UPDATE gebäude SET metall=metall+1 WHERE id= $_GET ["id"]';
                            printf ("Veränderte Datensätze: %d\n"mysql_affected_rows());
                            mysql_query("COMMIT");
                            }
                            ?>
                            kommt in der index.php:
                            Notice: Undefined variable: sql in */update.php on line 5

                            und immer noch:
                            Notice: Undefined variable: sch in */index.php on line 53

                            Notice: Undefined variable: sch in */index.php on line 54

                            Kommentar


                            • #15
                              die notice ist berechtigt - du kannst nichts ausgeben, was du nicht deklariert hast (es geht ja immer von oben nach unten, nich?).

                              auf der seite im manual (auf die du u.u. verwiesen wurdest), steht:
                              Note: Unlike the two other syntaxes, variables and escape sequences for special characters will not be expanded when they occur in single quoted strings.
                              warum du noch das "commit" an die db sendest, ist mir nicht klar (dir aber vermutlich auch nicht).

                              Kommentar

                              Lädt...
                              X