php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.07.2006, 21:33  
Neuer Benutzer
 
Registriert seit: 18.09.2005
Beiträge: 9
gameco
Standard Problem mit dem Hinzfügen von Tabellen durch Variable

Hallo,
ich bin gerade dabei ein etwas größeres Script zu schreiben.
Es ist eigentlich auch so gut wie fertig.
Leider stehe ich noch vor einem Problem.

Es handelt sich dabei um eine Art Ferien-Vermietungsseite.
Wenn eine neue Wohnung hinzugefügt wird, sollen automatisch neue Tabellen für den Belegungskalender erstellt werden.

Genau da liegt aktuell mein Problem.
Die Wohnung wird ohne Probleme hinzugefügt (Daten in Datenbank geschrieben, Bilder hochgeladen, etc.).
Das einzige, dass nicht geht ist das erstellen der neuen Tabellen.

ich bekomme immer die Meldung:
Code:
Parse error: syntax error, unexpected T_STRING in /www/htdocs/w0070586/costadelsol-urlaub.com/test/admin_neue_wohnung_db.php on line 183
Das ganze klingt für mich nach einem kleinen Fehler, ich kann aber leider nichts finden.

Hier einmal ein Code Ausschnitt.

PHP-Code:
//Tabellenname definieren
$tabelle2006=$zeile[id];
$tabelle2006.="_kalender_";
$tabelle2006.="2006";
$tabelle2007=$id;
$tabelle2007.="_kalender_";
$tabelle2007.="2007";
$tabelle2008=$id;
$tabelle2008.="_kalender_";
$tabelle2008.="2008";
$tabelle2009=$id;
$tabelle2009.="_kalender_";
$tabelle2009.="2009";
$tabelle2010=$id;
$tabelle2010.="_kalender_";
$tabelle2010.="2010";

//Datenbank Login einbinden
    
include('inc/connect.inc');

CREATE TABLE $tabelle2006 (
    
tag char(4NOT NULL,
    
we int(1) default '0',
    
belegt int(1) default '0',
    
PRIMARY KEY (tag)
); 
Ich habe es schon mit allen Sachen versucht.
'$variable', "$variable", ".$variable.".
Leider alles ohne Erfolg.

Ich hoffe, dass mir jemand helfen kann.

Danke im Voraus.

Gruß
gameco
gameco ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.07.2006, 21:40  
Gast
 
Beiträge: n/a
Standard

Wie kommst Du darauf Deine SQL-Anweisungen einfach so in Deine PHP-Datei zu schreiben?

Dazu solltest Du die, für die von Dir verwendete Datenbank zur Verfügung gestellten, Funktionen nutzen.

Außerdem solltest Du prüfen, ob es tatsächlich erforderlich ist, dynamisch Tabellen zu erstellen. Das sollte in der Regel nicht der Fall sein.
 
Alt 18.07.2006, 21:42  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard Re: Problem mit dem Hinzfügen von Tabellen durch Variable

Zitat:
Zitat von gameco
CREATE TABLE $tabelle2006 (
tag char(4) NOT NULL,
we int(1) default '0',
belegt int(1) default '0',
PRIMARY KEY (tag)
);
Du solltest schon php und mysql trennen. Soll heißen SQL gehört in einen string (mit Variable, Zuweisung und Stringbegrenzern) und wird über die API an die Datenbank übergeben.
Ansonsten ist es günstig, wenn der Fehler an line 183 angegeben ist, diese Zeilennummer in Deinem Ausschnitt auch wiederzufinden...

--n
nikosch ist gerade online  
Alt 18.07.2006, 21:59  
Neuer Benutzer
 
Registriert seit: 18.09.2005
Beiträge: 9
gameco
Standard

Hallo, sorry, hab ich vergessen anzugeben. Es ist die Zeile mit dem Create table.

Wie müsste dass den dann genau aussehen.
Ist der Aufbau der selbe, als ob ich etwas in eine bestehende Tabelle schreibe.

@karl-150
Es ist leider notwendig, da jede Wohnung eine neue Tabelle benötigt, die an Hand der ID identifiziert werden soll.

Gruß
gameco
gameco ist offline  
Alt 18.07.2006, 22:59  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Zitat:
Zitat von gameco
Wie müsste dass den dann genau aussehen.
Ist der Aufbau der selbe, als ob ich etwas in eine bestehende Tabelle schreibe.
Ja.

Zitat:
Zitat von gameco
@karl-150
Es ist leider notwendig, da jede Wohnung eine neue Tabelle benötigt, die an Hand der ID identifiziert werden soll.
Wofür braucht dafür pro Wohnung eine neue Tabelle? Für so etwas werden Datenbankstrukturen normalisiert.
xabbuh ist offline  
Alt 18.07.2006, 23:05  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Da hat der Karl schon recht, normalerweise würde jede Wohnung nur durch einen Datensatz repräsentiert werden, ne ID regelt den Zugriff auf die 'Wohnung'. Schätze Du hast weder den eigentlichen Sinn der Datenbank noch die Einbindung in PHP ganz durchdrungen. Schau einfach mal in die PHP Manualthemen zu mysql_connect, mysql_fetch_array usw. Da steht fürs erste ne Menge drin.

CREATE TABLE $tabelle2006 ... ); ist jedenfalls ein reiner SQL Befehl und kann nicht einfach so ins Script geschrieben werden.
nikosch ist gerade online  
Alt 19.07.2006, 10:23  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von gameco
Wie müsste dass den dann genau aussehen.
So wie du alle MySQL-Befehle von PHP aus sendest: mit mysql_query()
Zergling-new ist offline  
Alt 19.07.2006, 14:11  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard Re: Problem mit dem Hinzfügen von Tabellen durch Variable

Zitat:
Zitat von gameco
Es ist eigentlich auch so gut wie fertig.
Huch? Erst Programmieren, incl. Datenbankanbindung, dann vergessen, wie das geht, dann sich um den DB-Entwurf kümmern?

Wie wäre es mit einer Belegungstabelle mit den Attributen Wohnungs-ID, Start des Belegungs-Zeitraumes (Typ DATE o.Ä.), Ende des Belegungszeitraumes, ID des Kunden, sonstige belegungsspezifische Felder, wie Buchungsnummer etc.

Damit kannst du alle Wohnungen beliebig in einer Tabelle verwalten. Um z.B. zu prüfen, ob eine Wohnung zwischen Tag a und Tag b frei ist, prüfst du, ob der Start-Tag aller Belegungen dieser Wohnung oder der End-Tag zwischen (BETWEEN) a und b liegt, oder ob a zwischen dem Start- und dem End-Tag liegt.

Wenn die Belegung eher Tageweise (oder Wochenweise) ist, dann macht es wohl mehr Sinn, anstatt dem Start- und End-Tag den jeweils elegten Tag (resp. Woche) zu speichern und dann eben für eine dreitägige Buchung 3 Spalten zu belegen.

In jedem Fall st die ID der Wohnung ein Attribut der gemeinsamen Buchungs-Tabelle. Für jede Wohnung eine eigene solche Tabelle anzulegen ist ... Käse.

Basti
Basti ist offline  
Alt 20.07.2006, 00:06  
Neuer Benutzer
 
Registriert seit: 18.09.2005
Beiträge: 9
gameco
Standard

Hallo,
Vielen dank für die Antwort.

Ich habe das ganze jetzt mittels mysql_query gelöst.

Ich denke, dass die andere Methode zu weit gehen würde (klingt recht kompliziert).

Gruß
gameco
gameco ist offline  
Alt 20.07.2006, 00:43  
Neuer Benutzer
 
Registriert seit: 18.09.2005
Beiträge: 9
gameco
Standard

Hallo, ich noch einmal

Bin jetzt gerade wieder an meinem Script.

Und stoße auf ein neues Problem.

Es müssen nun Daten in die Tabelle eingefügt werden (für jeden Tag eine Zeile).
Nun zu meiner Frage.

Gibt es eine Möglichkeit, dass ich die Zeile: (INSERT INTO $tabelle2006 (tag, we) VALUES ('0101', 7) nicht für jeden Tag ein neues mysql_query zu schreiben.

Gruß
gameco
gameco ist offline  
 


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
mysql_query oder tabellen problem flflfl PHP Tipps 2006 2 08.04.2006 12:51
[Erledigt] Tabellen erstellen problem PHP Tipps 2006 5 06.03.2006 16:55
Problem beim Abfragen aller Tabellen in einer Datenbank gulli23 Datenbanken 5 26.02.2006 20:04
[Erledigt] Delete aus mehreren Tabellen - Problem Datenbanken 4 16.09.2005 15:24
SELECT * FROM 2 Tabellen - Problem Datenbanken 1 01.09.2005 16:30
Problem bei Abfrage auf Zwei Tabellen PHP Tipps 2005 2 21.04.2005 17:16
Problem beim DIR als Variable... PHP Tipps 2005 14 12.04.2005 12:53
Problem mit Tabellen! HTML, Usability und Barrierefreiheit 3 30.03.2005 03:08
Problem Suche Array das nur den text in Variable ließt ... PHP Tipps 2005 2 09.01.2005 11:58
Session Problem mit Variable übergeben PHP Tipps 2004-2 6 13.12.2004 13:16
problem mit einer abfrage über mehrere tabellen! PHP Tipps 2004 1 12.10.2004 18:54
über PHP Daten in MySQL Tabellen updaten -- Problem PHP Tipps 2004 4 27.09.2004 21:34
problem mit aufnahme einer $_REQUEST variable Promaetheus PHP Tipps 2004 5 23.09.2004 18:03
[Erledigt] variable Tabellen erzeugen PHP Tipps 2004 1 14.06.2004 09:33
tabellen problem HTML, Usability und Barrierefreiheit 15 11.06.2004 14:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
www.php.de/php-tipps-2006/41275-problem-mit-dem-hinzfuegen-von-tabellen-durch-variable.html

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:12 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.