ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
668
668
EMPFEHLEN
-
Hallo zusammen

Ich bin Anfänger in Sachen php und mysql und steh da vor einem kleinen Problem das ich einfach ned hinbekomm
Und zwar möchte ich mit folgendem Script nach absenden eines Registrierungsformulars eine Tabelle erstellen.
Nun kommt mein eigentliches Problem. Der Name der zu erstellenden Tabelle2 soll aus dem Wert Spalte uid einer weiteren Tabelle1 ermittelt werden.PHP-Code:$sql = 'CREATE TABLE Tabelle2 ( `id` mediumint( 8 ) NOT NULL AUTO_INCREMENT ,'
' `Spalte1` varchar(30 ) NOT NULL default \'\','
' `Spalte2` varchar( 30) NOT NULL default \'\','
' `Spalte3` varchar( 40 ) NOT NULL default \'\','
' PRIMARY KEY ( `id` ) ) TYPE = MYISAM AUTO_INCREMENT =2';
$result=mysql_query($sql);
$sql='INSERT INTO Tabelle2 VALUES("Text1", "Text2", "Text3")';
$result=mysql_query($sql);
Wie mache ich das? Wär nett wenn mir jemand mein Script umschreiben könnte so wie das dann letztendlich funktioniert.
Ich sag schonmal im Voraus Danke
-
26.06.08 18:17 #2
- Registriert seit
- May 2008
- Ort
- Frankenberg
- Beiträge
- 60
Ich hab den Code nicht getestet, sollte aber so funktionieren.PHP-Code:$sql = 'SELECT name FROM Tabelle1 WHERE uid='.$uid.''; // In die Variable $uid musst du vorher nur schreiben welche uid du haben willst
$result=mysql_query($sql);
$sql1 = 'CREATE TABLE '.$result['name'].' ( `id` mediumint( 8 ) NOT NULL AUTO_INCREMENT ,'
' `Spalte1` varchar(30 ) NOT NULL default \'\','
' `Spalte2` varchar( 30) NOT NULL default \'\','
' `Spalte3` varchar( 40 ) NOT NULL default \'\','
' PRIMARY KEY ( `id` ) ) TYPE = MYISAM AUTO_INCREMENT =2';
$result1=mysql_query($sql1);
$sql2='INSERT INTO Tabelle2 VALUES("Text1", "Text2", "Text3")';
$result2=mysql_query($sql2);
-
danke schonmal für deine antwort...
jetz hatte ich einen kleinen denkfehler.. sorry...
der Name der zu erstellenden Tabelle soll sich aus Tabelle und der Session-ID des eingeloggten Users zusammensetzen. Und nicht wie geschrieben aus einer uid einer anderen Tabelle.
Also wenn die Session-ID 01 ist sollte die neue Tabelle Tabelle01 heissen..
Da ich die Session-ID erst nach einem Login bekomme, muss ich das Script zum Erstellen dieser Tabelle an anderer Stelle ausführen.. Aber das macht ja nix...
Kannst du mir da auch weiterhelfen
-
26.06.08 18:56 #4
- Registriert seit
- May 2008
- Ort
- Frankenberg
- Beiträge
- 60
Willst du wirklich jedes Mal bei einer anderen session_id eine neue Tabelle erstellen? Das wird mit der Zeit ziemlich unübersichtlich.
So sollte es funktionieren:
PHP-Code:$sid = $_GET['sid']; //Wenn du die Session_id an die Url angehängt hast
// Wenn noch keine sid vorhanden ist kannst du folgendes machen
if ($sid == '')
{
$sid = get_sid();
}
$sql = 'CREATE TABLE Tabelle'.$sid.' ( `id` mediumint( 8 ) NOT NULL AUTO_INCREMENT ,'
' `Spalte1` varchar(30 ) NOT NULL default \'\','
' `Spalte2` varchar( 30) NOT NULL default \'\','
' `Spalte3` varchar( 40 ) NOT NULL default \'\','
' PRIMARY KEY ( `id` ) ) TYPE = MYISAM AUTO_INCREMENT =2';
$result=mysql_query($sql1);
$sql1='INSERT INTO Tabelle2 VALUES("Text1", "Text2", "Text3")';
$result1=mysql_query($sql1);
-
es geht um folgendes...
ich plane ein votingsystem bei dem für jeden user eine votingseite erstellt wird. Und dafür möchte ich die Votingtabellen für den einzelnen user automatisch erstellen...
Ich weiß sonst keine möglichkeit wie ich das sonst lösen könnte.
hättest du eine idee?
-
26.06.08 19:11 #6
- Registriert seit
- May 2008
- Ort
- Frankenberg
- Beiträge
- 60
Soll es für jeden User gleich aussehen?
Du brauchst nur eine einzige Datenbank für alle User.
In das Feld uid musst du nur immer die Userid eintragen.PHP-Code:$sql = 'CREATE TABLE Vote_User ( `id` mediumint( 8 ) NOT NULL AUTO_INCREMENT ,'
' `uid` int(3 ) NOT NULL default \'\','
' `Spalte1` varchar(30 ) NOT NULL default \'\','
' `Spalte2` varchar( 30) NOT NULL default \'\','
' `Spalte3` varchar( 40 ) NOT NULL default \'\','
' PRIMARY KEY ( `id` ) ) TYPE = MYISAM AUTO_INCREMENT =2';
$result=mysql_query($sql1);
-
jeder user bekommt eine seite auf dem er sich vorstellen kann und dann soll jeder andere user über schaltflächen einfach nur ja oder nein voten können...
und jeder user darf nur einmal voten...
-
26.06.08 19:33 #8
- Registriert seit
- May 2008
- Ort
- Frankenberg
- Beiträge
- 60
Dann brauchtst du 2 Tabellen: Eine in der jeder User eingetragen ist und wo die Anzahl der Ja's und Nein's steht und eine wo steht welcher User bereits abgestimmt hat.
Tabelle 1 wo jeder User drin steht und die Anzahl der Votes für Ja und der Votes für Nein stehen:
In id steht die Id des Eintrags, in uid die Id des Users, in dem Feld Ja steht die Anzahl der Votes für Ja und in Feld Nein steht die Anzahl der Votes für Nein. Du musst da dann einfach bei einem entsprechendem Vote 1 addieren.PHP-Code:$sql = 'CREATE TABLE Vote_User ( `id` mediumint(8) NOT NULL AUTO_INCREMENT ,'
' `uid` int(3) NOT NULL default \'\','
' `Ja` int(5) NULL default \'\','
' `Nein` int(5) NULL default \'\','
' PRIMARY KEY ( `id` ) ) TYPE = MYISAM AUTO_INCREMENT =2';
Die zweiter Tabelle in der die User für einen anderen User voten:
id ist die Id des Eintrags, uid die Id des Users der gevotet hat, fuid ist die Id von dem User für den gevotet wird und in vote steht drin wie der Spieler gevotet hat, also entweder Ja oder Nein.PHP-Code:$sql = 'CREATE TABLE User_Vote ( `id` mediumint(8) NOT NULL AUTO_INCREMENT ,'
' `uid` int(3) NOT NULL default \'\','
' `fuid` int(3) NOT NULL default \'\','
' `vote` varchar(4) NULL default \'\','
' PRIMARY KEY ( `id` ) ) TYPE = MYISAM AUTO_INCREMENT =2';
Hoffe das hilft dir.
-
hey danke
hört sich sehr gut an
jetz noch eine frage...
wie lautet dann der code für die Abfrage ob ein user schon gevotet hat oder ned
könntest mir den auch sagen
-
26.06.08 19:44 #10
- Registriert seit
- May 2008
- Ort
- Frankenberg
- Beiträge
- 60
In der If Anweisung musst du nur noch das entsprechende einbinden. Also entweder das Formular zum Voten oder einen Text der sagt das bereits für den User gevotet wurde.PHP-Code:$user = $_GET['user'];
$sql = mysql_query("SELECT fuid FROM User_Vote WHERE uid = ".$uid.""); //uid ist die Userid des Users der Voten will
if ($sql != $user) {
noch nicht gevotet
} else {
schon gevotet
}
-
Super... dankeschön

Dann werd ich mich mal ans Werk machen und falls ich noch fragen hab meld ich mich nochmal
-
26.06.08 19:49 #12
- Registriert seit
- May 2008
- Ort
- Frankenberg
- Beiträge
- 60
Falls du noch Fragen oder Probleme hast benutz aber erst die Suchfunktion und sieh mal bei Google nach. Oft findet man da schon genug hilfreiche Beiträge bzw. Seiten.
Ähnliche Themen
-
Aus einer SQL Tabelle mehrere verschiedene Werte einer Spalte auslesen
Von supercat1510 im Forum PHPAntworten: 5Letzter Beitrag: 02.06.10, 12:52 -
Abfrage einer spalte von einer anderen tabelle
Von bcallifornia im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 02.11.05, 19:06 -
Höchsten Wert einer bestimmten Spalte innerhalb einer Tabelle ermitteln
Von Bomber im Forum PHPAntworten: 8Letzter Beitrag: 28.10.05, 22:08 -
Inhalt aller Felder einer Spalte aus einer Tabelle rauslesen
Von messmar im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 12.01.05, 15:17 -
menge einer Spalte in einer Tabelle auslesen
Von Spacejumper im Forum PHPAntworten: 9Letzter Beitrag: 15.12.04, 12:25





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren