Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

09.05.2017, 17:49

Gegenfrage: Liefert PHP jetzt das gewünschte Ergebnis aus der Datenbank?

Ansonsten gibts ja noch nicht viel zu sehen.
Würde auf jeden Fall rechtzeitig damit anfangen, den Code zu organisieren (auszulagern usw.), und einen objektorientierteren Ansatz wählen.
Keine Ahnung, welches Ziel du genau verfolgst. Ist es zum Lernen?
Ansonsten wäre die Verwendung entsprechender Frameworks/Libraries (jQuery uä.) ratsam.
fka tm

@zimmer

Alter Hase

  • »@zimmer« ist der Autor dieses Themas

Beiträge: 1 135

Wohnort: NRW Germany

  • Private Nachricht senden

12

09.05.2017, 19:22

Ne, ist doch nicht so einfach.
Dein Code liefert zwar den richtigen Wert aus der DB aber wenn ich den Wert mit myAdmin ändere, passiert nichts mit dem Quadrat, erst wenn ich die Seite aktualisiere.

Zitat

<?php
$pdo = new PDO('mysql:host=localhost;dbname=#######', '#######', '#######');
$sql = "SELECT Level FROM UserRegisterTabelle WHERE Username='hans'";
$qry = $pdo->query($sql); // Da
$row = $qry->fetchObject(); // und dort
echo $row->Level; // und hier
?>";

Im Code versteh ich nicht, warum die angabe in $sql nicht ausreichen um schon in $qrl den Wert vom level zu bekommen, hab es auch getestet aber der Code stimmt so wie er da steht.

zur strkturierung: ich kann das sql DB anmelde script ausgelagert.
wenn ich die Player über den Bildschirm gemeinsam bewegen lassen kann, mache ich mal eine detaillierte liste mit functionen.

Das Ziel ist das Spiel DragonWayfür dieGame Dev Challenge 2. von pewn.de

eigentlicheZiele: auslesen und einlesen aus der DB.
Special Ziele: DBs verknüpfen.
Gründe finde warum eine sql-db besser ist als selbst eine db zu schreiben.

mein Motivation nehme ich daraus dass, ich mich vergewissern will dass, ich das prinziep von sql verstanden habe, ich brauche da einfach so ein beweis für mich.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

13

09.05.2017, 21:37

Dein Code liefert zwar den richtigen Wert aus der DB aber wenn ich den Wert mit myAdmin ändere, passiert nichts mit dem Quadrat, erst wenn ich die Seite aktualisiere.

Ich wiederhole: PHP generiert *einmalig* statischen Text. Danach ist das Script beendet, der Text wird an den Browser gesendet und den zeigt der Browser an. Da ändert sich überhaupt nichts, ohne dass du die Seite neu lädst und das PHP-Script somit erneut ausführst.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

@zimmer

Alter Hase

  • »@zimmer« ist der Autor dieses Themas

Beiträge: 1 135

Wohnort: NRW Germany

  • Private Nachricht senden

14

09.05.2017, 21:48

Garnicht.
Wenn du in ne js funktion, eine PHP Echo Zeile eingibst, und in einer Schleife startest, werde die Echos in Echtzeit im Browser Fenster erstellt.
Also wieso ganz genau wird nicht nochmals über PHP zu SQL verbunden?

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

15

09.05.2017, 21:52

Weil der PHP Teil einmal interpretiert und danach vom JS wiederholt wird. PHP wird pro Aufruf der Seite einmal interpretiert. Das ist komplett statisch. Du kannst natürlich per JS die Seite in Intervallen refreshen aber ist natürlich auch irgendwie unschön.
Wenn du was dynamisches für das Web willst, dann nimm Javascript als Frontend. Mit dem neuen ECMAScript 6 Standard ist der Sprache gar nicht mehr so beschissen.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

16

09.05.2017, 21:54

Das ist genau das was wir dir seit der ersten Seite versuchen zu erklären. PHP wird serverseitig ausgeführt und generiert möglicherweise Output welcher dann zu deinem Browser gesendet wird. Dein Browser bekommt in deinem Fall eine HTML Seite mit etwas Javascript. Der PHP Code steckt dann aber schon nicht mehr drin. Nur noch das was PHP ausgegeben hat. In deinem Fall holt er also einmalig den Wert, packt ihn in die Seite und schickt diese Seite an den Browser. Wenn sich in der Datenbank etwas ändert dann bekommt deine Seite das also nicht mit. Deshalb mein Hinweis zu AJAX und AJAJ. Damit kannst du dann von Javascript aus Anfragen an deinen Server senden und die Antwort in deinem Javascript Code verarbeiten. Du würdest also zum Beispiel per AJAX ein PHP Script aufrufen und nur noch die Antwort verarbeiten. PHP müsste dann an sich nicht mehr in deiner HTML Seite stecken.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

17

09.05.2017, 21:55

Wenn du in ne js funktion, eine PHP Echo Zeile eingibst, und in einer Schleife startest, werde die Echos in Echtzeit im Browser Fenster erstellt.
So wie du es geschrieben hast ist es falsch. Aber man kann mit JavaScript immer wieder Requests zum Server senden, das neue Ergebnis des Scripts abholen und dann dieses Ergebnis ausgeben. Das geht mit Ajax & Co, das hat man dir ja bereits vorher schon mitgeteilt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

@zimmer

Alter Hase

  • »@zimmer« ist der Autor dieses Themas

Beiträge: 1 135

Wohnort: NRW Germany

  • Private Nachricht senden

18

09.05.2017, 23:27

Ich heule gleich.
Ich habe habe das ausprobiert und es geht echt nicht

Quellcode

1
2
3
4
5
6
<script>
function mainLoop() {
  '<?php echo "fesgr";?>';
    requestAnimationFrame(mainLoop);
}
</script>

ABER heute habe ich meine Seite geladen und das fenster ist weiß geblieben und das ganze fenster wurde in einzelnen schritten voll geschrieben und es war kein extra fenster, sondern im main browser fenster, hätte ich doch blos die versionskontrolle.

{ECMAScript 6 ()sieht interessant aus Danke;}

... ich schaue mir ajax $ ECMAScript noch ich brauche was um auf sql zuzugreifen.
Seit: oder ich mache Dragon Run, runden basierend

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »@zimmer« (09.05.2017, 23:35)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

19

10.05.2017, 06:31

Du kannst keinen PHP-Code in JavaScript einbetten. PHP wird auf dem Server ausgeführt, JavaScript im Client/Browser. Was du da geschrieben hast ist ein Syntax-Error. Browser haben übrigens eine Debug-Konsole, die erzählt dir, was da falsch ist.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

20

10.05.2017, 08:50

Leg eine PHP Datei welche die Daten die du haben willst ausgibt, am besten als JSON. Im JS kannst du dann mit XMLHttpRequest das PHP Script im Intervall aufrufen und neue Daten abholen. Mit jQuery sieht das z.B. so aus (etwas einfacher):

Quellcode

1
2
3
$.get('php_script.php', function(data){
    console.log(data); // Ausgabe der empfangenen Daten
});

https://api.jquery.com/jquery.get/
Um aus den Daten ein JS Objekt zu machen nimmst du JSON.parse(data).

Werbeanzeige