Das stimmt nicht. Diese Zuordnungstabelle muss nicht unbedingt einen autoincrement-index haben.
Datenbank für Single-WebSite
Einklappen
X
-
-
Original geschrieben von aXu
nee, das ist falsch.. eine ID darf nur 1mal vorkommen...
Tabelle2:
ID........USERID..FRENDID
0001....0002.....0005
0002....0004.....0002
0003....0003.....0004
etc. etc. etc.
Aber ich habe mich auch etwas komisch ausgedrückt.
die "ID" die ich dort deklariert habe in meinen BEispielen ist nicht die ID die einem Eintrag zugewiesen wird sondern die USERID.
Die "ID" die fortlaufend bei jedem Eintrag ist, habe ich garnicht mit hingeschrieben in meinen Beispielen!
Aber danke für den Tipp
Kommentar
-
Bevor ich meine JOIN anfrage einbaue möchte ich gerne eine Kritik über den folgenden Code haben.
Was daran besser gemacht werden könnte.
(Bin ja neu Neuling und will die Zeit des Strebens nach Wissen ausnutzen) :P
PHP-Code:<?php
include 'connection.php';
## Hier Empfange ich die Daten aus dem Formular !
$username = $_POST["name"];
$useremail = $_POST["email"];
$userpassword = $_POST["password"];
## Hier hole ich nun eine neue userid (fortlaufend)
$abfrage = "SELECT userid FROM usersettings";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$userid = $row->userid;
}
## Hier addiere ich "+ 1" zu der alten userid (muss ja fortlaufend bleiben)
$aendern = "UPDATE usersettings Set userid = $userid + 1 WHERE id = '1'";
$ergebnis = mysql_query($aendern);
## Hier trage ich nun den neuen user mit den Daten aus dem Formular und der neuen userid ein
$eintrag = "INSERT INTO user (userid, username, useremail, userpassword) VALUES ('$userid', '$username', '$useremail', '$userpassword')";
$eintragen = mysql_query($eintrag);
echo "Fertig"
?>
Kommentar
-
Original geschrieben von ministry
Das stimmt nicht. Diese Zuordnungstabelle muss nicht unbedingt einen autoincrement-index haben.
Kommentar
-
PHP-Code:$username = $_POST["name"];
$useremail = $_POST["email"];
$userpassword = $_POST["password"];
PHP-Code:$abfrage = "SELECT userid FROM usersettings";
$ergebnis = mysql_query($abfrage);
PHP-Code:while($row = mysql_fetch_object($ergebnis))
{
$userid = $row->userid;
PHP-Code:$aendern = "UPDATE usersettings Set userid = $userid + 1 WHERE id = '1'";
$ergebnis = mysql_query($aendern);
PHP-Code:$eintrag = "INSERT INTO user (userid, username, useremail, userpassword) VALUES ('$userid', '$username', '$useremail', '$userpassword')";
$eintragen = mysql_query($eintrag);
Guck dir auto-inrement an und nutze nur die letzten beiden Zahlen. Das ist alles was du brauchst.
Darüber hinaus brauchst du ne Menge Grundlagen (auf die hier nicht näher eingegangen werden soll). Von einer "Single-Webseite" bist du jedenfalls weit entfernt, es sei denn, die User wollen Singe bleiben. *scnr*
Kommentar
-
Original geschrieben von aXu
richtig. aber sie muss doch eindeutig sein oder? und das wäre in dem fall nicht so, ausser jeder hat nur einen Kollegen.
Jeder Datensatz ist so lange eindeutig, bis ein User zwei mal den selben Kollegen hat. Dieser Fall sollte aber sowohl von der Applikation als auch vom DB-Modell verhindert werden und tritt somit NIE ein.
Kommentar
-
Original geschrieben von TobiaZ
PHP-Code:$username = $_POST["name"];
$useremail = $_POST["email"];
$userpassword = $_POST["password"];
Ja das stimmt.
PHP-Code:$abfrage = "SELECT userid FROM usersettings";
$ergebnis = mysql_query($abfrage);
Nein warum?
Ich brauche für jede neue anmeldung eine neue UserID die jedem User halt bei der Anmeldung fest vergeben wird!
PHP-Code:while($row = mysql_fetch_object($ergebnis))
{
$userid = $row->userid;
MAX ? Ich will doch nichts mit MAX!?
PHP-Code:$aendern = "UPDATE usersettings Set userid = $userid + 1 WHERE id = '1'";
$ergebnis = mysql_query($aendern);
Ich habe ja nun eine neue Userid vergeben und diese muss ja fortlaufend ansteigen.
deshalb "$userid + 1"
PHP-Code:$eintrag = "INSERT INTO user (userid, username, useremail, userpassword) VALUES ('$userid', '$username', '$useremail', '$userpassword')";
$eintragen = mysql_query($eintrag);
Versteh ich nicht
Guck dir auto-inrement an und nutze nur die letzten beiden Zahlen. Das ist alles was du brauchst.
Darüber hinaus brauchst du ne Menge Grundlagen (auf die hier nicht näher eingegangen werden soll). Von einer "Single-Webseite" bist du jedenfalls weit entfernt, es sei denn, die User wollen Singe bleiben. *scnr*
Kommentar
-
1. Lern richtig zitieren!
Ich brauche für jede neue anmeldung eine neue UserID die jedem User halt bei der Anmeldung fest vergeben wird!
MAX ? Ich will doch nichts mit MAX!?
Ich habe ja nun eine neue Userid vergeben und diese muss ja fortlaufend ansteigen.
Versteh ich nicht
Und wie gesagt, beim nächsten mal bitte vernünftig zitieren, dann brauch ich nicht drei mal über deinen Post zu lesen um zu kontrollieren, wo du deine Antworten versteckt hast...
Kommentar
-
Aber wenn ich nun z.B. einen Eintrag lösche mit der id "50" und ich einen neuen Eintrag mache, bekommt dieser die id "50" und nun kann ein alter Link z.B. auf den nun neuen Eintrag verlinken was aber dann ja falsch ist da der alte link ja nun ins leere führen sollte.
Das ist also nicht so gut.
Kommentar
-
Original geschrieben von phpMorpheus2
Aber wenn ich nun z.B. einen Eintrag lösche mit der id "50" und ich einen neuen Eintrag mache, bekommt dieser die id "50" und nun kann ein alter Link z.B. auf den nun neuen Eintrag verlinken was aber dann ja falsch ist da der alte link ja nun ins leere führen sollte.
Das ist also nicht so gut.
Kommentar
-
Aber wenn ich nun z.B. einen Eintrag lösche mit der id "50" und ich einen neuen Eintrag mache, bekommt dieser die id "50" und nun kann ein alter Link z.B. auf den nun neuen Eintrag verlinken was aber dann ja falsch ist da der alte link ja nun ins leere führen sollte.Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]
Kommentar
-
Original geschrieben von tontechniker
Du wirst Opfer deinen Argumentation, wenn phpMorpheus2 User 50 ist und User 50 gelöscht wird und danach ein neuer User unter dieser ID eingetragen enstehen überall Probleme. Geh einfach davon aus das hier viele Leute schreiben (wie zum Beispiel Tobiaz) die Ahnung haben und sich schon oft und ausführlich damit beschäftigt haben. Eine Wiederverwendung einer Identifikationsnummer ist Unsinn. Und nein, auch ebay verwendet die IDs nicht wieder. Verabschiede dich einfach schnell von diesem Gedanken.
Und da ich es nicht wusste werde ich Eurem Rat entgegen kommen und mir Basiswissen holen.
(Es ist so, das ich VB .Net und C++ programmierer bin und nun php und sql lernen will um es einfach zu können)
Kommentar
Kommentar