phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 25.12.2004, 14:10   #1
TP-Junior
 
Registriert seit: Dec 2004
awiniag macht alles soweit korrekt
Unhappy

db per formular mit verschiedenen variablen


hey ho,

so schwer zu erklären was ich so genau mir vorstelle, aber hoffe denoch es verständnissvoll rüber zubringen

bin dabei eine lan seite zu basteln & schon recht weit gekommen. im moment versuche ich eine tunier anmeldung hinzubekommen. ich habe nun schon den html code dazu , um im adminbereich tuniere hinzuzufügen. dies ist nun ein kleiner auszug:

PHP-Code:

    OpenTable
();
     print
"<table width=\"100%\" border=\"1\" cellspacing=\"7\" cellpadding=\"0\">
  <tr>
    <td><div align=\"center\">Neues Tunier erstellen:</div></td>
  </tr>
  <tr>
    <td>
    
    <form action=\"\" method=\"POST\">
    <table width=\"400\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"2\">
        <tr> 
            <td>Schritt 1 von 2</td>
        </tr>
        <tr> 
          <td>Datenbankname: 
              <input name=\"textfield2\" type=\"text\" value=\"z.B.  CoDeinsvseins\">
            </td>
        </tr>
        <tr> 
          <td>Name des Tuniers:
              <input name=\"text\" type=\"tuniername\" value=\"Spiel + Art\">
            </td>
        </tr>
        <tr> 
          <td><p>Art: 
                <select name=\"select\">
                  <option selected>1vs1</option>
                  <option>2vs2</option>
                  <option>3vs3</option>
                  <option>4vs4</option>
                  <option>5vs5</option>
                  <option>6vs6</option>
                  <option>7vs7</option>
                  <option>8vs8</option>
                  <option>9vs9</option>
                  <option>10vs10</option>
                </select>
              </p>
            
              </td>
            
        </tr>
        <tr>
          <td><div align=\"center\">
              <table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">
                <tr>
                  <td>
                      <div align=\"center\">
                        <input type=\"submit\" name=\"Submit\" value=\""
._4n100."\">
                      </div>
                    </td>
                </tr>
              </table>
            </div></td>
        </tr>
      </table>
      </form>
      </td>
  </tr>
</table>"
;

CloseTable(); 
so... nun kommt mein problem. ich wollte das man den datenbanknamen im script eingibt und dieser dann über eine variable eigetragen wird bzw gleichzeitig noch ein paar werte.

ich habe aberabsolut keine ahnung wie ich es realisierenkann, das er die db erstellt und gleich was einträgt.

hatte noch folgendes script verwendet um erst mal die db zuerzeugen, aber dies bekomme ich nicht einmal hin...

PHP-Code:

if($Submit == _lan100) {
    global 
$admin$bgcolor2$prefix$dbi;
    
sql_query("CREATE TABLE `nuke_4nlan_tuniere_$datenbankname` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`tuniername` VARCHAR( 20 ) NOT NULL ,
`rang` VARCHAR( 2 ) NOT NULL ,
`team` VARCHAR( 20 ) NOT NULL ,
`gewonnen` INT( 3 ) NOT NULL ,
`verloren` INT( 3 ) NOT NULL ,
`next-gegner` VARCHAR( 20 ) NOT NULL ,
`zeitpunkt` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` ) 
);"
); 
            
Header("Location: admin.php?op=neue-tuniere");
   exit;

hoffentlich weiß einer weiter

mfg
awiniag
awiniag ist offline   Mit Zitat antworten


Alt 25.12.2004, 14:22   #2
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Was spricht dort an dieser Stelle nach dem Create Table gegen normaler Data Manipulation Language => insert Into?

http://dev.mysql.com/doc/mysql/de/Da...ipulation.html
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 25.12.2004, 15:14   #3
TP-Veteran
 
Benutzerbild von Daniel N.
 
Registriert seit: Sep 2002
Ort: Schweiz
Daniel N. ist auf einem guten Weg
Hm.. ich versteh dein Vorhaben nicht ganz? Was meinst du mit Datenbank erstellen?!

Wenn ich dich richtig verstehe möchtest du doch einfach ein Formular machen, wo der Lan-Besucher sich für ein Turnier anmelden soll oder?! Dafür erstellst du halt eine Tabelle (per Script oder phpmyadmin) in deiner bestehenden Datenbank mit den passenden Feldern (name, spiel, clan usw..). Anschliessend ein Formular, mit dem du die Werte in die Db einträgst..
__________________

Passt auf, ich bin überheblich

http://orangetree.ch-gnu.ath.cx
Daniel N. ist offline   Mit Zitat antworten
Alt 25.12.2004, 17:00   #4
TP-Junior
 
Registriert seit: Dec 2004
awiniag macht alles soweit korrekt
jepp... ich wollte es so machen, da ich nicht am anfang gleich dutzende datenbanken für die ganzen spiele erstellen wollte, das man dies dann über das adminmenu macht...

z.B:
Datenbankname: CSS5vs5
Tuniername: CSS - 5vs5


nun wird halt über eine variable eine tabelle in der db erstellt mit dem namen
..._CSS5vs5

und bei dieser können sich dann die teilnehmer eintragen.

nur weiß ich nicht wie man halt die datenbank erstellt und gleich was mit reinschreibt. hab das erstellen bis jetzt immer nur über den phpmyadmin gemacht. will aber nicht meine moderaroten zugriff auf die db geben.

mfg
awiniag

Geändert von awiniag (25.12.2004 um 20:06 Uhr).
awiniag ist offline   Mit Zitat antworten
Alt 25.12.2004, 17:03   #5
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Daher insert into
http://dev.mysql.com/doc/mysql/de/HANDLER.html

PHP-Code:
$res mysql_query"INSERT INTO tabelle (spalte1,spalte2) VALUES(15,spalte1*2)"); 
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 25.12.2004, 20:03   #6
TP-Junior
 
Registriert seit: Dec 2004
awiniag macht alles soweit korrekt
es wird ja leider nicht einmal die tabelle mit dem namen über die variable $datenbankname erstellt. weiß nicht wo da der fehler liegt.. :/


mfg
awiniag
awiniag ist offline   Mit Zitat antworten
Alt 25.12.2004, 20:10   #7
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Naja, weil es ja auch nicht sql_query(...); heißt, sondern mysql_query( ... );
Wenn es dann immernoch nicht klappt, würde ich einfach mal ein echo mysql_error(); ausgeben, dann siehst du ja, wo der Fehler liegt!

Des weiterem ist aus dem Codefragment nicht erkenntlich, ob du schon eine Verbindung zu dem SQL Server aufgebaut hast, ob du schon eine Datenbank ausgewählt hast und - ob all dies überhaupt funktioniert hat
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 26.12.2004, 20:46   #8
TP-Junior
 
Registriert seit: Dec 2004
awiniag macht alles soweit korrekt
wie schon gesagt ist ein stückel aus dem ganzen script... verbindung vollkommen erfolgreich.

sql_query geht auch schon ein stückel drüber .
hab aber nun bemerkt das es hierso nur mit mysql_query ght... komisch.

leider wird aber nicht der variablenname beim erstellen der tabelle verwendet. sondern die stelle einfach freigelassen:

mysql_query("CREATE TABLE `nuke_4nlan_tuniere_$datenbankname` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`tuniername` VARCHAR( 20 ) NOT NULL ,
`rang` VARCHAR( 2 ) NOT NULL ,
`team` VARCHAR( 20 ) NOT NULL ,
`gewonnen` INT( 3 ) NOT NULL ,
`verloren` INT( 3 ) NOT NULL ,
`next-gegner` VARCHAR( 20 ) NOT NULL ,
`zeitpunkt` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
);") or die ("kann tabelle nicht erstellen");

sprich, es wird nur nuke_4nlan_tuniere_ genommen ,wie könnte man es ändern, das der variablen namen mit genutzt wird ?

mfg
awiniag

danke erst mal für die hilfen
awiniag ist offline   Mit Zitat antworten
Alt 26.12.2004, 20:53   #9
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Woher kommt denn die Variable $datenbankname? Per post/get? Dann solltest du auch $_POST["datenbankname"] verwenden, oder die Variable vorher abfangen:

$datenbankname = $_POST["datenbankname"];
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 26.12.2004, 21:39   #10
TP-Junior
 
Registriert seit: Dec 2004
awiniag macht alles soweit korrekt
die kommt aus nem formular ( wo man eigentlich den tabellen namen eingeben soll) was oben schon method=\"POST\" da stehen hat.


hab es auch mal mit $datenbankname = $_POST["datenbankname"];

versucht, geht trotzdem nicht... ich poste mal mein komplettes script:

PHP-Code:

if($Submit == _lan100) {
    global 
$admin$bgcolor2$prefix$dbi$datenbankname;
    
$datenbankname $_POST["datenbankname"];
    
mysql_query("CREATE TABLE `nuke_4nlan_tuniere_".$datenbankname."` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`tuniername` VARCHAR( 20 ) NOT NULL ,
`rang` VARCHAR( 2 ) NOT NULL ,
`team` VARCHAR( 20 ) NOT NULL ,
`gewonnen` INT( 3 ) NOT NULL ,
`verloren` INT( 3 ) NOT NULL ,
`next-gegner` VARCHAR( 20 ) NOT NULL ,
`zeitpunkt` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` ) 
);"
) or die ("kann tabelle nicht erstellen"); 
            
Header("Location: admin.php?op=neue-tuniere");
   exit;
}
###########################################################


function lanmain() {
    global 
$admin$bgcolor2$prefix$servername$serverbesitzer$serverip$servercpu$serverram$serverhdd$serveros$serverlanspeed$serverdienste$sponstext,$dbi,$version,$goingtext ,$notgoingtext,$goingselect,$notgoingselect,$goingok ,$notgoingok,$infotext,$eventdate,$location ,$details ,$games,$requirments ,$rules$suggestions ,$adminemail$tuniereins$tunierzwei,$tunierdrei,$tuniervier,$tunierfuenf,$tuniersechs,$tuniersieben,$tunieracht;
    include (
"header.php");
    
GraphicAdmin();

include(
"navi-tuniere.php");

    print
"<br>";
    
OpenTable();
     print
"<table width=\"100%\" border=\"1\" cellspacing=\"7\" cellpadding=\"0\">
  <tr>
    <td><div align=\"center\">Neues Tunier erstellen:</div></td>
  </tr>
  <tr>
    <td>
    
    <form action=\"\" method=\"POST\">
    <table width=\"400\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"2\">
        <tr> 
            <td>Schritt 1 von 2</td>
        </tr>
        <tr> 
          <td>Datenbankname: 
              <input name=\"textfield2\" type=\"$datenbankname\" value=\"z.B.  CoDeinsvseins\">
            </td>
        </tr>
        <tr> 
          <td>Name des Tuniers:
              <input name=\"text\" type=\"tuniername\" value=\"Spiel + Art\">
            </td>
        </tr>
        <tr>
          <td><div align=\"center\">
              <table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">
                <tr>
                  <td>
                      <div align=\"center\">
                        <input type=\"submit\" name=\"Submit\" value=\""
._lan100."\">
                      </div>
                    </td>
                </tr>
              </table>
            </div></td>
        </tr>
      </table>
      </form>
      </td>
  </tr>
</table>"
;

CloseTable();

        print 
"<br>";

    include(
"footer.php");


awiniag ist offline   Mit Zitat antworten
Alt 26.12.2004, 23:44   #11
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Folgender Code stammt von deinem html Forumlar:
Code:
<td>Datenbankname: 
              <input name=\"textfield2\" type=\"text\" value=\"z.B.  CoDeinsvseins\"> 
            </td>
Also heißt es auch richtig:
Code:
$datenbankname = $_POST["textfield2"];
Sollte selbsterklärend sein, warum es nicht geklappt hat!
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

Geändert von Dennis The Menace (26.12.2004 um 23:46 Uhr).
Dennis The Menace ist offline   Mit Zitat antworten
Alt 27.12.2004, 12:43   #12
TP-Junior
 
Registriert seit: Dec 2004
awiniag macht alles soweit korrekt
lol... sorry, hab mich da einwenig vertan. danke fein für die hilfe

jetzt geht es. *michganzdollfreu*


wie kann ich den nun die variable datenbankname mit zum auswerten in den nächsten schritt übernehmen,man weiß ja nicht welcher name gewählt wurde. hatte mir ja sowas gedacht wie include, aber da nimmt er ja die ganze seite...

könnte man die variable irgendwo temporär zwischenspeichern?

mfg
awiniag

Geändert von awiniag (27.12.2004 um 12:51 Uhr).
awiniag ist offline   Mit Zitat antworten
Alt 27.12.2004, 15:30   #13
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Zitat:
könnte man die variable irgendwo temporär zwischenspeichern?
Jopp, dass geht mit Sessions.
http://php.net/Session

Funktioniert ganz einfach. Zu beginn jeder php Seite, die aufgerufen werden kann:

session_start();

schreiben, und sämtliche Variablen, die du in $_SESSION["irgendwas"] speicherst, kannst du dann auf anderen Seiten weiterverwenden!
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 27.12.2004, 20:19   #14
TP-Junior
 
Registriert seit: Dec 2004
awiniag macht alles soweit korrekt
danke für den tipp, ich vrusche mich mal damit, wenn ich es nicht hinbekomme, melde ich mich wieder


schönen abend noch
awiniag
awiniag ist offline   Mit Zitat antworten
Alt 28.12.2004, 11:12   #15
TP-Junior
 
Registriert seit: Dec 2004
awiniag macht alles soweit korrekt
hey ho.. ich bin es noch einmal ... wünsche einen schönen guten morgen


ich bekomm es nicht hin *g*

ich weiß inzwischen das ich halt :

PHP-Code:

session_start
();

$datenbankname $_SESSION['datenbankname']; 
als aller erstes oben stehen haben muss & das ich mit hilfe der SID auf eine andere seite verweisen muss um die $_SESSION zu übergeben

hab dies so versucht:

PHP-Code:
################### seite 1 ####################
session_start();

$_SESSION['datenbankname'] = '$datenbankname';

if(
$Submit == _lan100) {
    global 
$admin$bgcolor2$prefix$dbi$datenbankname;
    
$datenbankname $_POST["datenbankname"];
    
mysql_query("CREATE TABLE `nuke_4nlan_tuniere_".$datenbankname."` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`tuniername` VARCHAR( 20 ) NOT NULL ,
`rang` VARCHAR( 2 ) NOT NULL ,
`team` VARCHAR( 20 ) NOT NULL ,
`gewonnen` INT( 3 ) NOT NULL ,
`verloren` INT( 3 ) NOT NULL ,
`next-gegner` VARCHAR( 20 ) NOT NULL ,
`zeitpunkt` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` ) 
);"
) or die ("kann tabelle nicht erstellen"); 
            
Header("Location: admin.php?op=neue-tuniere2" SID "");
   exit;
}

############## seite 2 #######################
session_start();

if(
$Submit == _lan100) {
    global 
$admin$bgcolor2$prefix$dbi$datenbankname;
    
sql_query("INSERT INTO ".$prefix."_4nlan_tuniere_".$_SESSION['datenbankname']." (tuniername) VALUES ('$tuniername ')",$dbi) or die ("kann tuniernamen nicht eintragen");
        
Header("Location: admin.php?op=neue-tuniere3" SID "");
        exit;

es kommt aber dann leider das raus:
HTML-Code:
Table 'meineseite.nuke_4nlan_tuniere_$datenbankname' doesn't exist
kann tuniernamen nicht eintragen
quasi, das er nicht die variable $datenbankname kennt. gibt es vielleicht eine leichtere sinvollere methode meine idee zu realisieren? sprich ein formular,wo mit ich eine tabelle erstelle und dort 2 einträge drin vor genommen werden. so bräuchte ich nicht so viel schreiben *G*.

mfg
awiniag


edit: hab das problem gelöst. schreibe sofort nachdem erstellen in die tabelle. wußte nicht das es so geht *G*. ist viel weniger zum schreiben und geht schneller . danke für die ganzen hilfen. einen schönen tag euch noch.

edit2: jetzt ist nur noch die frage, wenn ich mehrere tabellen angezeigt haben will, also die namen, was muß ich da für ein befehl verwenden... ich wollt es so machen, das man die namen unter einander aufgelistet bekommt und sie dann anwählen und löschen kann. bei einzelnen einträgen weiß ich ja wie es geht, aber nicht bei tabellen.

mfg awiniag

Geändert von awiniag (28.12.2004 um 11:39 Uhr).
awiniag ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
db per formular mit verschiedenen variablen db per formular mit verschiedenen variablen
« Hilfe header will nicht | Gästebuch Problem »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten: