You are not logged in.

wcf.regNote.message

Mirak

Beginner

  • "Mirak" started this thread

Posts: 30

  • Send private message

1

Tuesday, November 22nd 2005, 10:08pm

$anzahl viele MySQL DB Einträge erstellen

Hi, ich habe ein kleines Script welches von Außen so aussieht: http://www.hiphop-home.de/images/nora/

Bei jedem Eintrag in diesem Script wird mir eine neue Tabelle erstellt mit diesesn Daten:

id -> partyid -> name -> date -> location -> amount -> path
1 -> 1 -> Bauzen BSE-X-Fest -> 20.10.2005 -> Bauzen bei Berg -> 10 -> /bauzen20102005/

so und ich will jetzt, das er mir xx Einträge erstellt die soaussehen (Anzahl gibt man im Formular bei Bildernazahl ein):

id -> partyid -> name -> date -> location -> amount -> path
1 -> 1 -> Bauzen BSE-X-Fest -> 20.10.2005 -> Bauzen bei Berg -> 10 -> /bauzen20102005/1.jpg
2 -> 1 -> Bauzen BSE-X-Fest -> 20.10.2005 -> Bauzen bei Berg -> 10 -> /bauzen20102005/2.jpg
3 -> 1 -> Bauzen BSE-X-Fest -> 20.10.2005 -> Bauzen bei Berg -> 10 -> /bauzen20102005/3.jpg

und so weiter... Habt ihr mit vllt eien Tipp wie ich da am besten vorgehe?

Wäre echt nett, vielen Dank :D

Hier noch mein Script:

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?
$connect mysql_connect('localhost''***''***') or die(mysql_error());
$selectdb mysql_select_db('usr_web128_1');
if($addparty == "Senden")
{
$maintab mysql_query("INSERT INTO `main` (`dbname`) VALUES ('".$_POST["dbname"]."')");

$readmainmysql_query("SELECT * FROM `main` ORDER BY id DESC LIMIT 1"); 
while($line mysql_fetch_array($readmain))
{
echo "Danke";
}
$createnewtab mysql_query("CREATE TABLE ".$_POST["dbname"]." (
id int(255) NOT NULL auto_increment,
partyid TEXT NOT NULL,
name TEXT NOT NULL,
date TEXT NOT NULL,
location TEXT NOT NULL,
amount TEXT NOT NULL,
path TEXT NOT NULL,
PRIMARY KEY (id)
);");


$writenewtab mysql_query("INSERT INTO `".$_POST["dbname"]."` (`partyid`,`name`,`date`,`location`,`amount`,`path`) VALUES
('".$_POST["partyid"]."','".$_POST["name"]."','".$_POST["date"]."','".$_POST["location"]."','".$_POST["amount"]."','".$_POST["path"]."')");

}
else
{
?>
<form name="form1" method="post" action="">
<table width="314" height="162" border="1">
  <tr>
    <td width="140">Name:</td>
    <td width="158">
      <input type="text" name="name">    </td>
  </tr>
  <tr>
    <td>Datenbank-Name:</td>
    <td><input type="text" name="dbname"></td>
  </tr>
  <tr>
    <td>Datum:</td>
    <td><input type="text" name="date"></td>
  </tr>
  <tr>
    <td>Ort:</td>
    <td><input type="text" name="location"></td>
  </tr>
  <tr>
    <td>Bilderanzahl:</td>
    <td><input type="text" name="amount"></td>
  </tr>
  <tr>
    <td>Pfad:</td>
    <td><input type="text" name="path"></td>
  </tr>
  <tr>
    <td>Party-ID:</td>
    <td><input type="text" name="partyid"></td>
  </tr>
</table>
<p>
  <input type="submit" name="addparty" value="Senden">
</p>
</form>
<?
}
?>

This post has been edited 2 times, last edit by "Mirak" (Nov 22nd 2005, 10:13pm)


Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

2

Tuesday, November 22nd 2005, 10:19pm

RE: $anzahl viele MySQL DB Einträge erstellen

Wie wärs mit:

PHP Source code

1
2
3
4
5
$query "INSERT INTO `".$_POST["dbname"]." (`partyid`,`name`,`date`,`location`,`amount`,`path`) VALUES ('".$_POST["partyid"]."','".$_POST["name"]."','".$_POST["date"]."','".$_POST["location"]."','".$_POST["amount"]."','".$_POST["path"];
for($i 0$i 10$i++)
{
        $writenewtab mysql_query($query."/".($i 1).".jpg')");
}


Ciao Ephraim

Mirak

Beginner

  • "Mirak" started this thread

Posts: 30

  • Send private message

3

Tuesday, November 22nd 2005, 10:36pm

So ganz will der Code bei mir nicht, hab auch geschaut ob ich noch was anpassen muss, aber hab nichts gefunden woran der Fehler liegen könnte. Fehler zeigt sich darin, das es nicht mehr in die neue Tabelle schreibt, die durch das Formular angelgt wurde... mhh

xundy

Beginner

Posts: 37

  • Send private message

4

Wednesday, November 23rd 2005, 6:21am

Also so ein Thema hatten wir doch schonmal glaub ich.

Also für jeden Eintrag eine eigen Tablle zu erstellen ist doch der Schiere Wahnsinn.

Aussrerdem ist es auch nicht unwahrscheinlich, daß gleiche Tabllennamen eingegeben werden.

Aber alleine von der Peformance solltest du eine Eventtablle machen und dort dann alle eintragen so läßt sich auch viel schneller auslesen oder nach Suchkriterien filtern,
denn bei deiner Methode würde es für jeden event eie Eigene Datenbankabfrage benötigen plus eine Abfrage für die vorhandenen Tabllen, also das solltest du nochmals überdenken, desweiteren hast du keinen Schutz vor SQL-Injections ergriffen ;)


mfg

Mirak

Beginner

  • "Mirak" started this thread

Posts: 30

  • Send private message

5

Wednesday, November 23rd 2005, 8:34pm

mir fällt nicht ein wie ich es besse machen sollte... ich wollte noch KOmmentare bei jedem Bild haben...

Prometheus

Administrator

Posts: 3,278

  • Send private message

6

Wednesday, November 23rd 2005, 8:47pm

die einfachste lösung ist du machst dir eine tabelle mit den kategorien (partyid ...) und eine weitere mit bildern (bildname, bildid, kategorieid...) ... dann kannst du wenn du weißt welche kategorie du anschauen willst anhand der kategorie id ein select auf die bilder machen und dir die alle anzeigen lassen. kommentare würd ich dann in ne extra tabelle machen und als referenz die bildid. und in deinem formular machst du entweder anstatt freie eingabe der kategorie dann ein dropdown als auswahl der vorhandenen kategorien oder wenn du darüber gleich neue kategorien anlegen willst kannst du auch den name angeben und es wird sofort eine neue kategorie erstellt. außerdem würd ich das dann so machen das du die bilder automatisch angelegt bekommst. ich denke momentan lädst du die bilder mit ftp hoch und speicherst die dann manuell in der tabelle. da würd ich was basteln was dir aus dem angegebenen verzeichnis die bilder ausließt und anhand der namen in die bildtabelle packt. dann weißt du sicher das alle bilder die du hoch lädst auch drin sind und schließt aus das du tip fehler hast.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

CiL

Beginner

Posts: 37

  • Send private message

7

Wednesday, January 25th 2006, 2:16pm

?(

Also wenn ich das richtig begreife:

Hast du ein Formular wo man Daten angibt das dann neue Tabellen erstellt? In die dann die Werte eingetragen werden?
Das beduetet du sammelst auf deinem Datenbank eine unmenge an Tabellen nur um eigentlich immer das Gleiche festzuhalten?

Das ist totaler murks du hast eine main Tabelle in der du eine neue Tabelle erstellst wo der name über ein Formular eingetragen wird?
Wenn du jetzt sagst ja genau dann sag ich dir geh zurück und orientiere dich neu das ist nicht das Entity-Relationship-Modell. Das solltest du dir unbedingt mal angucken und herausfinden wie man eine Datenbanken benutzt! Zudem sollest du dir mal überlegen die werte der entsprechenden einträge besser zu überlegen eine ID brauch nicht den Wert text sondern es bietet sich int oder smallint an je nachdem wie gross das ganze wird...

wenn das jetzt Fragen aufwirft bitte nochmal posten und hilfe rufen

wcf.user.socialbookmarks.titel