online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon TByte vom 21.12.2020, 20:33 Options

objekt erschaffungs zähler in PHP

Hallo

Ich habe eine member klasse in PHP erstellt und wollte eigentlich wissen, wie ich die namen hochzählen soll. also mal angenommen der mensch, der sich registriert, hat alles ausgefüllt und abgeschickt. PHP:
$member1 = new member();
aber wenn der nächste kommt und ich wieder member1 mache, dann geht das doch nicht! wie soll ich die denn in MySQL speichern? Also was ich brauche ist quasi ein trick, den namen eines objekts immer hochzuzählen.
Danke
mfg
TByte


Antwort schreiben

Antwort 1 von Workaround vom 23.12.2020, 12:17 Options

Da du ja von MySQL redest: Du kannst Spaltenwerte mit auto_increment für jede neue Spalte automatisch erhöhen
SQL:
CREATE TABLE test (
'member' VARCHAR( 255 ),
'id' INT AUTO_INCREMENT PRIMARY KEY
)


Und ansonsten hätte ich noch einen umständlichen "Trick":
PHP:
$mic = microtime(); //Damit jede Datei einzigartig ist.
for ($i = 0; $i <= $anzahl_der_member; $i++) {
  file_put_contents($mic".php", "$member".$i." = new member();\n", FILE_APPEND); //Hängt ein $memberX = new member(); an den Inhalt der Datei an
}
include $mic.".php"; //Bindet die Datei ein
unlink($mic.".php"); //Und löscht sie anschließend

Falls include wegen dem "$mic." nicht funktionieren sollte, schreibe es um zu
$inc = $mic.".php";
include $inc;

Antwort 2 von Elefunty vom 23.12.2020, 12:34 Options

wenn es um mysql geht:
so datenbanken sind nicht an varaiblennamen gebunden.

du hast z.B. eine variable für den namen und eine variable für den index, bzw seine nummer in der db.

dann legst du einfach den namen in der db ab unter der inexnummer. diese hat in der db oft den namen id.
wenn du es machst, wie workaround vorschlug, erhöht sich der index, also feld 'id' immer automatisch für jeden member.

um mehrere member im script zu halten (unabhängig von der db), nutzt man üblicherweise arrays, les mal über arrays in bspw nem tutorial nach!

Ele

Antwort 3 von Workaround vom 23.12.2020, 12:39 Options

Und um das zu erweitern:
Mit $array[] = 123; legst du automatisch 123 in das Ende des Arrays, ohne dass du einen Zeiger verwenden musst.
Das heißt, du könntest auch
for ($i = 0; $i <= $member_anzahl; $i++) {
  $member[] = new member();
}

machen.

Antwort 4 von Elefunty vom 23.12.2020, 12:53 Options

danke für die erweiterung, wär ich nich drauf gekommen^^
ich proqqe üblicherweise C/C++ da macht man sowas alles mit zeigern und malloc() :o), oder mid std::vector^^

Ele

Antwort 5 von Workaround vom 23.12.2020, 13:50 Options

Tja, da siehst du mal, wie einfach PHP gegenüber C(++) sein kann ;D

Antwort 6 von TByte vom 24.12.2020, 17:53 Options

hallo

vielen dank, da hab ich für die nächste zeit viele möglichkeiten :)
Nochmals vielen Dank und EIN FROHES WEINACHTEN!

mfg
TByte

Ähnliche Themen

Unterklassen in Objekt literal schreibweise
kicia  29.12.2007 - 38 Hits - 1 Antwort

Zusammenhengender php script in guten, funktionierenden php script
derfehler  15.09.2007 - 58 Hits - 2 Antworten

PHP Problem - Text aus Datenbank auslesen wo PHP Code drinsteht?!
Kuscheltier  10.11.2007 - 127 Hits - 3 Antworten

Java scipt hex zähler
dfo231  09.08.2008 - 1 Hit - 7 Antworten

Apache PHP, PHP wird nicht interpretiert
Kreavis  20.11.2008 - 106 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026