php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.10.2008, 23:21  
kai
Neuer Benutzer
 
Registriert seit: 15.10.2008
Beiträge: 8
kai befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] probleme beim weiterverwenden übernommener variabel zum erstellen einer da

hallo

ich bin neu hier und möchte mich erstmal vorstellen mein name ist kai bin 32jahre und in sachen programieren absoluter anfänger.darum bitte ich um nach sicht mit mir ich wachse mit meiner aufgabe aber ich glabe wer nicht fragt bleibt dumm.

so nun zu meinem problem:

ich möchte ein mysql datenbank tabelle erstellen lassen wenn der user in ein eingabefeld den namen für die tabelle eingegeben hat und auf "ok" geklickt hat.
das sieht bis jetzt so aus:
ich habe eine html index datei mit dem eingabefeld und der übernahme der variabel.
code:
<html>

<head>
<title>Titel</title>


</head>

<body>

<form action="neue_db.php" method=post>
Überschrift <br>
<input type=text name="Hersteller" size= 50>
<p></p>
<input type=submit name="SUBMIT" value="ok">
</form>

</body>
</html>

code ende

in der php datei "neue_db.php" wird jetz die eingabe des users in der variabel "hersteller" übernommen.
und jetzt kommt das problem der inhalt der variabel "Hersteller" soll jetzt als name für eine sql tabelle her genommen werden und ich weiß nicht wie!

so weit bin ich mit der datei "neue_db.php"

<?php
include("db_connect.php");
$tabelle = $_POST['Hersteller'];

$dbanfrage = "CREATE table "$tabelle" (.....


danke für jede hilfe schon mal im vorraus!
kai ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.10.2008, 23:31  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Hallo und herzlich willkommen!
Bitte benutze doch die PHP-Tags des Forums, um deinen Code hervorzuheben.

Wo genau liegt denn dein Problem? Du bist doch auf dem richtige Weg. Nur so ein paar Sachen wie die Anführungszeichen klappen bei dir nicht. wenn du einen Editor mit Syntaxhervorhebung benutzt, sollte dir das eigentlich auffallen.
PHP-Code:
<?php
include "db_connect.php";
$tabelle mysql_real_escape_string($_POST['Hersteller']);

$dbanfrage 'CREATE TABLE ' $tabelle '...';
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 15.10.2008, 23:37  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.849
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Willkommen hier. Eine Sache vorweg. Wenn du hier Code postest, und diesen in die vorgesehenen PHP Tags packst, dann kann man das besser lesen.

Ohne Tags:
$dbanfrage = "CREATE table "$tabelle" (.....

Mit Tags:
PHP-Code:
$dbanfrage "CREATE table "$tabelle" (..... 
Nun aber zu deiner Frage. Um eine tabelle zu erstellen, must du nicht nur den tabellennamen angeben, sondern auch alle gewünschten Spaltenbezeichnungen. Der erforderliche MySql-Befehl sieht z.B. so aus:

PHP-Code:
$sql "CREATE TABLE `kunden` (
  `lfd` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(50) NOT NULL ,
  `datum` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`lfd`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 "
;

mysql_query($sql) or die(mysql_error); 
Das Ganze ist so komplex, dass es für erste Übungen nicht sehr geignet erscheint. Ich empfehle dir, ein Tutorial durchzuarbeiten und zunächst die PHP-Grundlagen zu erlernen. Mit diesen weißt du dann auch die Antwort auf die eingangs gestellte Frage:

PHP-Code:
$dbanfrage 'CREATE TABLE ' $tabelle ' (.....'
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 16.10.2008, 00:04  
kai
Neuer Benutzer
 
Registriert seit: 15.10.2008
Beiträge: 8
kai befindet sich auf einem aufstrebenden Ast
Standard

ja das erstellen der datenbank tabelle ist nicht das problem solange ich den tabellennamen konstant angebe, ich möchte aber den tabellennamen aus einer variabel auslesen um später mehrere tabellen aus dem formular erstellen kann. vieleich mal kurz wozu ich die datenbank brauche, das ganz soll bei einer späteren abfrage im bezug auf eine druckerhersteller und den typ des drucker die dazugehörige patrone ausgeben.

hier mal die ganze neue_db.php:
PHP-Code:
<?php
include("db_connect.php");
$tabelle mysql_real_escape_string($_POST['Hersteller']);

$dbanfrage 'CREATE TABLE ' $tabelle "(
Typ INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
BK VARCHAR(30),
Color VARCHAR(30),
BK_alt VARCHAR(30),
Cyan VARCHAR(30),
Magenta VARCHAR(30),
Yellow VARCHAR(30),
Gruen VARCHAR(30),
Rot VARCHAR(30),
Photo_BK VARCHAR(30),
Photo_Cyan VARCHAR(30),
Photo_Magenta VARCHAR(30)
)"
;

if (
mysql_db_query ($dbname$dbanfrage$dbverbindung)) {
print (
"Tabellenerzeugung erfolgreich.");
} else {
print (
"Konnte Tabelle nicht erstellen.");
}
mysql_close ($dbverbindung);
?>
@Manko10, ja mit den anführungszeichen hab ich so mein sorgen ich weiß manchmal nie wo und welche gesetzt werden müßen.
leider hat dein vor schlag nicht funktioniert sql meldet
"Konnte Tabelle nicht erstellen"
kai ist offline  
Alt 16.10.2008, 00:15  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Was ist denn in der db_connect.php?
Ich denke mal, du solltest mysql_query() und nicht mysql_db_query() verwenden.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 16.10.2008, 00:25  
kai
Neuer Benutzer
 
Registriert seit: 15.10.2008
Beiträge: 8
kai befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
Was ist denn in der db_connect.php?
Ich denke mal, du solltest mysql_query() und nicht mysql_db_query() verwenden.
die datei "db_connect stellt die verbindung zur datenbank her ,hab gelesen es sei sicherer dies auszulagern.
das sieht bei mir so aus:
PHP-Code:
<?php
$host     
"localhost";
$user     "user1";
$password "12345abc";
$dbname   "datenbank1";


$dbverbindung mysql_connect($host,$user,$password) or die
  (
"Keine Verbindung moeglich");
mysql_select_db($dbname) or die
  (
"Die Datenbank existiert nicht");

?>
PHP-Code:
mysql_query ($... , $...) 
anstatt

PHP-Code:
mysql_db_query($.... , $....) 
gibt bei mir folgenden fehler/warnung

Warning: Wrong parameter count for mysql_query() in /hp/bc/ac/az/www/drucker/neue_db.php on line 20
Konnte Tabelle nicht erstellen.
kai ist offline  
Alt 16.10.2008, 09:40  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.257
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
vieleich mal kurz wozu ich die datenbank brauche, das ganz soll bei einer späteren abfrage im bezug auf eine druckerhersteller und den typ des drucker die dazugehörige patrone ausgeben.
Da hast Du wohl was falsch verstanden. Man benutzt eine gemeinsame Tabelle, in denen die Druckerhersteller eingetragen werden.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 16.10.2008, 10:20  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Was mysql_query() angeht, so ziehe bitte das Manual zu Rate, dann fällt dir dein Fehler gleich auf: mysql_query()
Überhaupt: wozu willst du eine Tabelle erstellen, wenn du Daten auslesen willst? Ich denke mal, du solltest dich wohl wirklich erst einmal mehr in die Grundlagen einarbeiten, bevor weitermachst.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 16.10.2008, 10:31  
kai
Neuer Benutzer
 
Registriert seit: 15.10.2008
Beiträge: 8
kai befindet sich auf einem aufstrebenden Ast
Standard

hallo guten morgen

hab das problem gefunden ich hatte hinter dem letzten tabellen eintrag in der mysql anweisung ein komma zuviel "honk", ich seh den wald vor lauterbäumen nicht. naja manchmal ist das so.
danke noch mal für eure hilfe hat mir auf jeden fall weiter geholfen.

@Manko10
leider bin ich ein mensch der nicht viel lernt wenn er ein buch liest! ich fummel solange rum bis es funtz schaue für problem lösungen meistens mal in google nach erst wenn ich nicht mehr weiter weiß frag ich jemanden.

wie gesagt ich wachse mit meiner aufgabe!

danke noch mal bis demnächst

kai
kai ist offline  
Alt 16.10.2008, 10:56  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.257
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Trotzdem gilt das in #7 gesagte.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Doppelte Datensetze in der Daten bank !!! Cyber Soldier PHP Tipps 2006 5 01.03.2006 23:30
daten von Datei in Variabel umwandeln ? oder chrisbog PHP Tipps 2006 2 13.01.2006 19:42
Probleme beim Übertragen von Daten in die DB PHP Tipps 2005-2 3 25.08.2005 19:03
Probleme beim erstellen und einbinden eines favicon !! HTML, Usability und Barrierefreiheit 1 20.03.2005 18:15
Probleme beim neuen Template erstellen PHP Tipps 2005 4 07.01.2005 19:56
[Erledigt] Probleme mit dem anzeigen von Daten in einem Formular PHP Tipps 2004 2 26.07.2004 19:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php eingabefeld weiterverwenden

Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum