Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Wie sende ich Punktestand in Datenbank zur richtigen Id ?

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema [Erledigt] Wie sende ich Punktestand in Datenbank zur richtigen Id ?.

    [Erledigt] Wie sende ich Punktestand in Datenbank zur richtigen Id ?

    Hallo,

    brauche für folgendes eure Hilfe.

    Es geht sich darum, dass ich Usern, die sich bei mir eingeloggt haben,
    ein Spiel in Art von "Wer wird Millionär" gemacht habe.
    Das Ganze funktioniert mit einem Formular so ziemlich gut.
    Auf einer nächsten Seite werden die Antworten zu den Fragen
    auf richtig oder falsch kontrolliert.
    Der User sieht hier auch seinen erspielten Punktestand.
    Dieser wird ihm mit:

    PHP-Code:
    <? echo $x.'/3';?>
    ausgegeben.
    Jetzt möchte ich aber, das der Punktestand beim angemeldeten
    User in der Datenbank mit der Spalte "Punktestand" notiert wird.

    Dazu is auch schon auf der Auflösungsseite mit den Ergebnissen
    ein include befehl:

    PHP-Code:
    <?php 
    include ("checkuser.php"); 
    ?>
    [php]
    Die Variable mit den Daten lautet:
    $_SESSION["user_id"]

    Hab hier schon mal einen Versuch unternommen:
    <?
    $eintrag = "INSERT INTO neuebenutzer where id == ($_SESSION["user_id"]) (Punktestand) VALUES ('$x')";
    ?>
    Nur die Syntax zeigt Fehler an, und so richtig weiß ich auch nicht,
    wie ich die Variablen Daten in die DB bekomme.
    Wer toll, wenn jemand helfen könnte.

    DANKE im Vorraus

  • UniQ
    antwortet
    Ja, das mit dem Where schreibst du einfach hinten dran.
    Code:
    UPDATE benutzerdaten
    SET Punktestand = $x
    WHERE Id = $daten

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Super.
    Funktioniert schon.
    Nur jetzt zeigt er bei jedem in der DB stehenden User
    die Zahl an.
    Er soll aber nur da die Zahl einfügen, wo
    die User_Id der DB Id übereinstimmt.

    sieht so aus:
    PHP-Code:
    <?$daten = $_SESSION["user_id"];?>
    Die $daten enthält die ID des gerade angemeldeten Users.

    $daten stimmt mit der DB Id überein.
    Aber wie schreibe ich dass jetzt in den SQL Befehl ?

    Es müsste so aussehen, besser gesagt so ähnlich:
    PHP-Code:
    Where Id=$daten 

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Willst du jetzt einen neuem Eintrag mache? Oder einen Bestehenden ändern. Bei einem Neuen kannst du natürlich keine Bedingung (where id = 1) angeben. Und bei einer Änderung brauchst du natürlich UPDATE und nicht INSERT:
    PHP-Code:
    $eintrag "UPDATE benutzerdaten
        SET Punktestand = 
    $x";
    $eintragen mysql_query($eintrag) or die(mysql_error()); 

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    PHP-Code:
    <? 
      $eintrag = "INSERT INTO benutzerdaten (Punktestand) VALUES ('$x')"; 
    ?> 
     <?
      $eintragen = mysql_query($eintrag);
      ?>
    So funktionierts ja.
    Er fängt eine ganz neue Zelle an, und schreibt in dem Bereich "Punktestand" den Wert der Variable x rein.
    Aber sobald ich hinter ('$x') ein :
    PHP-Code:
    where Id=
    setze, kommt in der Bank garnichts mehr an.

    Obwohl es einen Id:1 Nutzer gibt. Nämlich "probehalber" ich selbst. .

    Auch wenn ich folgendes eingebe, kommt nichts an.
    where Nickname=blablabal.
    Funktioniert auch nicht.
    Obwohl alles dort in der DB existiert.

    Bitte um weitere Hilfe.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Noch mal so ne Idee:

    schreib

    Code:
    $irgendebbis = $_SESSION["user_id"];
    
    <? 
      $eintrag = "INSERT INTO neuebenutzer where id = ($irgendebbis)(Punktestand) VALUES ('$x')"; 
    ?>
    vielleicht bringt das was

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Die Syntax zeigt immer noch rot.
    Ich seh nur keinen Fehler.

    PHP-Code:
    <? 
    $eintrag = "INSERT INTO neuebenutzer where id = ($_SESSION['user_id']) (Punktestand) VALUES ('$x')"; 
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Nur so als Frage für mich selber, weil ichs nicht weiß... in meinem php-Buch (ich lerne ja erst 3 Tage) steht == nicht als Mysql Operator, vielleicht liegt es ja daran...

    IM Buch steht:

    = : Ist Gleich; bei MySql wird das einfache Gleichheitszeichen sowohl für Zuweisungen als auch für Vergleiche verwendet

    hmm... bisher war fast alles, was in dem Buch steht falsch, aber ich habs halt gerade so zufällig gesehen...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Dank

    Danke.
    Nur, die Syntax zeigt rot.

    Funktioniert auch so nicht.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Also ganz ehrlich hab ich nicht wirklich nen Plan, weil ich php neuling bin, aber weil ich gerade nix besseres zu tun hab, ich würdes vielleicht mal so versuchen:

    <?
    $eintrag = "INSERT INTO neuebenutzer where id == ($_SESSION['user_id']) (Punktestand) VALUES ('$x')";
    ?>

    aber ob das was bringt weiß ich auch nicht... Bin eben neu....

    Einen Kommentar schreiben:

Lädt...
X