php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-02-2010, 01:17
Sonork
 Registrierter Benutzer
Links : Onlinestatus : Sonork ist offline
Registriert seit: Nov 2009
Beiträge: 48
Sonork befindet sich auf einem aufstrebenden Ast
Standard MySQL Tabelle anlegen über Formular!

Hallo ersteinmal...
Mal wieder eine bestimmt simmple Frage:

Bisher habe ich Tabellen immer über phpMyadmin eingerichtet, daher habe ich nciht so viel Ahnung wie man Tabellen über PHP usw richtig anlegt. Es geht um folgendes.

Ich möchte einem Nutzer die Möglichkeit geben eine neue Tabelle in der Datenbank an zu legen, dessen Name der selbe ist der in einem Texteingabefeld eingegeben wird.

Nun ist die frage, wie binder ich in den PHP Code das Formular so ein das der Tabellenname = dem Eingabefeld ist?

PHP-Code:
<?php
require("../control/access/sqldaten.php");
mysql_query("CREATE TABLE /*hier das Eingegebene aus dem Textfeld*/ (

id int(255) NOT NULL auto_increment,
interpret varchar(100) NOT NULL,
titel varchar(100) NOT NULL,
PRIMARY KEY (id) );"
);
mysql_close();


?>
Und wie müsste dann das Formular genau aussehen?
Jemand ne idee oder geht das vieleicht auch gar nicht!?
Mit Zitat antworten
  #2 (permalink)  
Alt 05-02-2010, 01:19
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Sonork Beitrag anzeigen
Nun ist die frage, wie binder ich in den PHP Code das Formular so ein das der Tabellenname = dem Eingabefeld ist?
http://tut.php-quake.net/de/concat.html#s1
http://tut.php-quake.net/de/post.html

Zitat:
Und wie müsste dann das Formular genau aussehen?
http://de.selfhtml.org/html/formulare/

Zitat:
oder geht das vieleicht auch gar nicht!?
Das geht schon - aber ob es eine gute Idee ist, mit so etwas herumzuspielen, wenn ganz offensichtlich noch so wenig Grundlagenwissen vorhanden ist, ist eine ganz andere Frage.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 05-02-2010, 01:22
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

das würde zwar ohne Probleme gehen, klingt aber ganz sehr nach schlechtem Design. Wenn es mehrere Tabellen mit unterschiedlichen Namen aber derselben Struktur und Semantik gibt, ist definitiv ein Denkfehler drin.

Was willst du denn eigentlich damit bezwecken? Eventuell könnte man dir ja alternative Wege vorschlagen.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #4 (permalink)  
Alt 05-02-2010, 01:50
Sonork
 Registrierter Benutzer
Links : Onlinestatus : Sonork ist offline
Registriert seit: Nov 2009
Beiträge: 48
Sonork befindet sich auf einem aufstrebenden Ast
Standard

Also ersteinmal danke für die Fixen antworten!!!
Habe es jetzt ersteinmal so hinbekommen wie ich es haben wollte...

Das ich nen Denkfehler habe davon gehe ich auch aus, aber ich werde mal die lage etwas Schildern.
Es geht um eine Datnebank, bei der User Bewertungen für Spiele abgeben können.
Dabei soll aber berücksichtigt werden das jedes Spiel je nach Plattform auch andere Bewertungen bekommen kann, dem User soll es freigsetellt seine neuen Spiele selbständig hinzu zu fügen, dafür die Funktion der erstellung einer neuen Tabelle. Jede Tabelle ist dabei natürlich gleich aufgebaut.

Meine idee war es auch erst alle Spiele egal auf welcher Plattform usw. in einer Tabelle an zu legen, allerdings finde ich dann das erstellen der Abfragen, um die Ergebnisse da zu stellen zu aufwändig.

Ich weiß nciht ob man draus schlau geworden ist was ich da vor habe...

Mal noch ein kleines bsp:

Edit:
geplanter inhalt für die jeweiligen angelegten Tabellen:

Spielename / Platform / Grafik / Sound / Steuerung / Story / Schwierigkeitsgrad / Spieler / Bewertungtxt / vonusr / aktiv

und in einer Haupttabelle werden dann lediglich die Spiele aufgelistet und o sie Aktiv sind...

Geändert von Sonork (05-02-2010 um 01:52 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 05-02-2010, 01:55
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Sonork Beitrag anzeigen
Dabei soll aber berücksichtigt werden das jedes Spiel je nach Plattform auch andere Bewertungen bekommen kann
Definiere: „andere“ Bewertungen.

Zitat:
dem User soll es freigsetellt seine neuen Spiele selbständig hinzu zu fügen, dafür die Funktion der erstellung einer neuen Tabelle. Jede Tabelle ist dabei natürlich gleich aufgebaut.
Das ist Unsinn. Daten gleicher Struktur gehören in die gleiche Tabelle.

Zitat:
Meine idee war es auch erst alle Spiele egal auf welcher Plattform usw. in einer Tabelle an zu legen, allerdings finde ich dann das erstellen der Abfragen, um die Ergebnisse da zu stellen zu aufwändig.
Das ist kein Argument.
Wenn dir die Kenntnisse fehlen, um die nötigen Abfragen zu erstellen, um die jeweils gewünschten Daten zu erhalten - dann beschäftige dich intensiver mit SQL.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 05-02-2010, 02:05
Sonork
 Registrierter Benutzer
Links : Onlinestatus : Sonork ist offline
Registriert seit: Nov 2009
Beiträge: 48
Sonork befindet sich auf einem aufstrebenden Ast
Standard

Naja also ein Spiel kann unter Playstation 3 ganz andere Bewertung in der Steuerung Grafik usw bekommen als unter PC oder Xbox360.

Aber ich werde wohl euren Vorschlag beherzigen und lediglich 1 Tabelle dafür anlegen, muss ich mich halt wirklich mal mit SQL beschäftigen, was ich aj schon lange mal vor hatte

Vielen dank!
Kann soweit geclosed werden!
Mit Zitat antworten
  #7 (permalink)  
Alt 05-02-2010, 02:10
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Ich kann mich meinem Vorredner nur anschließen, will dir allerdings noch ein paar Tipps geben.

Lies dir mal intensiv die Wikipedia-Seite zum Thema Normalformen durch, da bekommst du schon mal einen Überblick, wie man eine DB vernünfftig aufbaut. Im MySQL-Handbuch gibt es auch Realwelt-Beispiele zu den verschiedenen Themen. Eine Google-Suche nach Datenbank-Tutorials ist sicherlich auch nicht verkehrt.

Du solltest es also erst richtig lernen, bevor du mit sowas online gehst und dir irgendein Script-Kiddie mit seinen zarten 14 Jahren deine Datenbank leerräumt, weil du schlecht und unsicher programmiert hast.

Viel Erfolg.

Edit: hier wird in der Regel nichts "geclosed"
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #8 (permalink)  
Alt 06-02-2010, 13:45
Sonork
 Registrierter Benutzer
Links : Onlinestatus : Sonork ist offline
Registriert seit: Nov 2009
Beiträge: 48
Sonork befindet sich auf einem aufstrebenden Ast
Standard

Nochmal ne frage, möchte keinen neuen Thread aufmachen dafür, ich habe nun mein Sytsem einigermaßen so hinbekommen wie ich es wollte, nun habe ich aber ein kleines Problem wozu ich unter Google oder unter diversen Tutorial Seiten nichts finde!

Ich möchte gewisse ausgabewerte einer Tabelle als Bild darstellen
Hier mal ein Bild der MySQL ausgabe:



Ich möchte das PS3 und PC jeweils Bilder zugewiesen bekommen, meine Frage ist nun wie!?
Wie gesagt habe leider keine Tuts gefunden! Und meine PHP/MySQL Buch was ich mir geholt habe, sagt auch ncihts zu einem solchem Thema!
Mit Zitat antworten
  #9 (permalink)  
Alt 06-02-2010, 13:56
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Sonork Beitrag anzeigen
Wie gesagt habe leider keine Tuts gefunden! Und meine PHP/MySQL Buch was ich mir geholt habe, sagt auch ncihts zu einem solchem Thema!
Von der Vorstellung, dass „Tuts“ und Bücher dir das Denken komplett abnehmen können, weil sie für jedes individuelle Problem schon eine Lösung auf Lager hätten, solltest du dich verabschieden.

Zitat:
Ich möchte gewisse ausgabewerte einer Tabelle als Bild darstellen
Dann überlege dir zuerst, was „als Bild darstellen“ eigentlich bedeutet.
Im Umfeld einer HTML-Seite bedeutet es, du möchtest Text ausgeben - und zwar den Text, der ein IMG-Element in HTML darstellt.

Zitat:
Ich möchte das PS3 und PC jeweils Bilder zugewiesen bekommen, meine Frage ist nun wie!?
Du fragst einfach ab, ob der Inhalt der Spalte den Wert "PS3" oder "PC" hat, und gibst dann jeweils den Code für das entsprechende Bild aus.

(Das kann man, wenn für jeden möglichen Spalteninhalt auch ein Bild vorhanden ist, darauf minimieren, dass man die Bilder mit Spalteninhalt+".jpg"/".gif" benennt - und dann nur noch den Spalteninhalt im src-Attribut eines IMG-Elements ausgibt, gefolgt von der (einheitlichen) Dateiendung, fertig. [Wobei man natürlich auch noch ein sinnvolles alt-Attribut ausgeben will, also ggf. ebenfalls den Spalteninhalt.])
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #10 (permalink)  
Alt 06-02-2010, 16:27
Sonork
 Registrierter Benutzer
Links : Onlinestatus : Sonork ist offline
Registriert seit: Nov 2009
Beiträge: 48
Sonork befindet sich auf einem aufstrebenden Ast
Standard

Also an sich hat es geklappt, aber eher Suboptimal, ich möchte ja das Feld für PS3 oder PC mit dem jeweiligen Symbol (Bild versehen wird!) Ich ahbe nun alles hin und her Probiert und bekomme das mit dem ersetzen nciht hin mein Quellcode sieht derzeit so aus: (finde ich aber eher Suboptimal)

PHP-Code:
<?php
//---------->Verbindungsaufbau<-----------//
require_once("../../control/access/sqldaten.php");
//----->Gesammte Tabelle
$sql "SELECT spname, os FROM Spiele WHERE spname LIKE 'A%' OR spname LIKE 'B%' OR spname LIKE 'C%' OR spname LIKE 'D%' GROUP BY spname, os";
$result=mysql_query($sql) or die("Fehler");
// SQL Daten Ausgeben
echo "Alle Spiele von A-D";
echo 
"<br>";
echo 
"<br>";
echo 
"<table border=\"0\">\n";
while (
$row=mysql_fetch_assoc($result))
{
echo 
"<tr>";
echo 
"<td bgcolor='C0C0C0'><input type='checkbox' name='$id' value='$id'></td>";
foreach (
$row as $item
echo 
"<td bgcolor='FFF87A'>$item</td>";
    if(
$item == "PS3")
        {
        echo 
"<td bgcolor='FFF87A'><img src='PS3.jpg'></td>";
        }
    if(
$item == "PC")
        {
        echo 
"<td bgcolor='FFF87A'><img src='PC.jpg'></td>";
        }
echo 
"</tr>\n";
}
echo 
"</table>\n";
?>
Was muss genau geändert werden hat da wer ne Ahnung, habt da jetzt ne Stunde dran rumgebastelt, aber irgenetwas stimmt den immer nicht, dann ahtte ich zwischenzeitlich nur noch die Bilder ohne den Namen des Spieles davor usw!
Mit Zitat antworten
  #11 (permalink)  
Alt 06-02-2010, 17:08
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.721
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Die foreach-Schleife ist überflüssig wie ein Kropf.
PHP-Code:
while ($row=mysql_fetch_assoc($result))
{
echo 
"<tr>";
echo 
"<td bgcolor='C0C0C0'><input type='checkbox' name='$id' value='$id'></td>";
echo 
'<td bgcolor="FFF87A">'.$row['spname'].'</td>';
    if(
$row['spname'] == "PS3")
        {
        echo 
"<td bgcolor='FFF87A'><img src='PS3.jpg'></td>";
        }
    if(
$row['spname'] == "PC")
        {
        echo 
"<td bgcolor='FFF87A'><img src='PC.jpg'></td>";
        }
echo 
"</tr>\n";

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite

Geändert von Kropff (07-02-2010 um 15:05 Uhr) Grund: Fehler korrigiert
Mit Zitat antworten
  #12 (permalink)  
Alt 06-02-2010, 17:32
Sonork
 Registrierter Benutzer
Links : Onlinestatus : Sonork ist offline
Registriert seit: Nov 2009
Beiträge: 48
Sonork befindet sich auf einem aufstrebenden Ast
Standard

So Ähnlich hatte cih es auch schon allerdings kommt dan folgende Fehlermeldung:

Zitat:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/32/d313662005/htdocs/brotherhood/bewertung/alpha/a_d.php on line 16
Zeile 16 beginnt bei
PHP-Code:
echo "<td bgcolor='FFF87A'>'.$row['spname'].'</td>"
und hier der Komplette Code (bisschen angepasst)

PHP-Code:
<?php
//---------->Verbindungsaufbau<-----------//
require_once("../../control/access/sqldaten.php");
//----->Gesammte Tabelle
$sql "SELECT spname, os FROM Spiele WHERE spname LIKE 'A%' OR spname LIKE 'B%' OR spname LIKE 'C%' OR spname LIKE 'D%' GROUP BY spname, os";
$result=mysql_query($sql) or die("Fehler");
// SQL Daten Ausgeben
echo "Alle Spiele von A-D";
echo 
"<br>";
echo 
"<br>";
echo 
"<table border=\"0\">\n";
while (
$row=mysql_fetch_assoc($result)) 

echo 
"<tr>"
echo 
"<td bgcolor='C0C0C0'><input type='checkbox' name='$id' value='$id'></td>"
echo 
"<td bgcolor='FFF87A'>'.$row['spname'].'</td>"
    if(
$row['os'] == "PS3"
        { 
        echo 
"<td bgcolor='FFF87A'><img src='PS3.jpg'></td>"
        } 
    if(
$row['os'] == "PC"
        { 
        echo 
"<td bgcolor='FFF87A'><img src='PC.jpg'></td>"
        } 
echo 
"</tr>\n"

echo 
"</table>\n";
?>
Wo liegt der fehler? (Wie gesagt so ähnlich hatte ich es ja acuh schon mal, habe ich etwas vergessen?)

Edit:

Ok hat sich erledigt:

Die Lösung sieht wie folgt aus:

PHP-Code:
while ($row=mysql_fetch_assoc($result)) 

echo 
"<tr>"
echo 
"<td bgcolor='C0C0C0'><input type='checkbox' name='$id' value='$id'></td>"
echo 
"<td bgcolor='FFF87A'>".$row['spname']."</td>"
    if(
$row['os'] == "PS3"
        { 
        echo 
"<td bgcolor='FFF87A'><img src='PS3.jpg'></td>"
        } 
    if(
$row['os'] == "PC"
        { 
        echo 
"<td bgcolor='FFF87A'><img src='PC.jpg'></td>"
        } 
echo 
"</tr>\n"

echo 
"</table>\n"
Danke Kropff

Geändert von Sonork (06-02-2010 um 17:41 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kyrillische Zeichen über Formular in MySQL-DB einfügen lukas PHP Developer Forum 4 29-10-2005 20:27
php/mysql editierbare Tabelle im Formular kathrina Apps und PHP Script Gesuche 13 12-05-2005 16:15
mysql tabelle mit php anlegen ? proggilein SQL / Datenbanken 13 19-11-2003 22:31
Daten über Formular in MySQL eintragen White-Horse PHP Developer Forum 4 22-08-2003 09:40
Suchfunktion über Formular auf MySQL Datenbank Chronos PHP Developer Forum 13 22-07-2003 11:43

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:21 Uhr.