| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Datenbank mit unbestimmter Anzahl Daten füllen... im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige heiho. ich hab mal wieder ne Frage zu php/mysql. folgende situation: ich habe eine Anzahl n Zeilen mit irgendwelchen ...
![]() |
| | #1 (permalink) |
| Anzeige heiho. ich hab mal wieder ne Frage zu php/mysql. folgende situation: ich habe eine Anzahl n Zeilen mit irgendwelchen inhalten, hier sind es Musiktitel. nun weiß ich zum Zeitpunkt, wenn ich den Code schreibe nicht, wieviel Zeilen Musiktitel ich haben werde. Frage: Wie krieg ich das in die Datenbank? Folgender Ansatz hat nicht funktioniert: Code: $p_id = mysql_query(\"SELECT * FROM playlistnumbers WHERE playlist='\".$alterpl.\"'\");
$pid = mysql_fetch_array($p_id);
for ($b=1;$b<=$maxrows+10;$b=$b+1)
{
$Interpret = $PL_Interpret.$b;
$Titel = $PL_Titel.$b;
if (($Interpret != \"\") || ($Interpret != NULL))
{
mysql_query(\"REPLACE INTO playlist (playlistid, interpret, titel) VALUES ('\".$pid['playlistid'].\"','\".$Interpret.\"','\".$Titel.\"')\");
}
} $alterpl ist aus der vorhergehenden Datei und ist der Playlist- name in playlistnumbers stehen die playlistnamen mit den dazugehö- renden playlistid's $maxrows ist aus der vorhergehenden Datei und bezeichnet die affected rows der dortigen Abfrage (=Anzahl der Datensätze) in playlist stehen die Musiktitel mit der dazugehörenden Play- listid Wer weiß was besseres? so long, gruß mcrack | |
| | |
| | #2 (permalink) |
| Themenstarter | So, is ja eigentlich nich meine Art, auf meine eigenen Artikel zu antworten, aber ich muss in der Sache einfach weiterkommen. Ihr seid meine letzte Hoffnung. Danach heißt es Probieren bis zum Abwinken. Ich hab schon alle Eventualitäten abgecheckt, es liegt wohl definitiv daran, dass mysql_query keine Zählvariablen in sich haben will... Weiß da vielleicht einer Rat, ich bin am Verzweifeln. so long, gruß mcrack |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | also ich versteh nur bahnhof....du willst einen neuen eintrag in ne db eintragen? das machst du dann mit "insert" --> http://www.mysql.com/doc/I/N/INSERT.html hier wird dann automatisch eine neue zeile hinzugefügt... |
| | |
| | #4 (permalink) |
| Themenstarter | Das ist mir auch klar. Oder mit REPLACE Es ist aber so, dass ich eine (zum Zeitpunkt des Codens) un- bestimmte Anzahl von Zeilen habe und ich somit eine Zähl- variable an die Variablen $PL_Titel und $PL_Interpret anhängen muss. Und genau da versagt die query. Weiß keiner einen Rat? so long, gruß mcrack |
| | |
| | #5 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | also ich hab den zug immer noch nicht erwischt....--> stehe also immer noch am BAHNHOF also das mit der unbekannten anzahl einträge kapier ich schon...aber du musst schon via bsp sagen WAS du mit diesen daten machen willst (kopieren, verändern,....) |
| | |
| | #6 (permalink) |
| Themenstarter | Ich will diese unbekannte Anzahl an Datensätzen in eine Daten- bank schreiben. An dem Befehl dafür hängt es auch nicht. Es geht nur darum. dass das mysql_query anscheinend keine Zählvariablen (in meinem Fall $b) haben will. Beispiel: s.o. Ich will die ganzen Datensätze einfach mit einer Zahl hintendran in die Datenbank kriegen. Und da ich nicht für jede Zahl von 1 bis 1000 eine gesonderte mysql_query schreiben will, muss ich es ja mit einer Zählvariablen machen. So wie ich das oben angegeben habe, funzt es aber nicht. Daher wollte ich wissen, ob es dafür noch einen anderen Weg gibt. Ich hoffe, ich konnte es jetzt verständlich erklären. so long, gruß mcrack |
| | |
| | #7 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | nochmals von mir geschrieben (hoffentlich versteh ich das jetzt richtig): du willst einfach ein feld in der datenbank hinzufügen.dieses feld ist eine zahl die nur EINMALvorkommt. wenn das so ist kann das mysql selbst...du must dem feld nur sagen,dass es ein primary feld ist und dann die funktion "autoincremen" dem feld hinzufügen. somit wird in diesem feld automatisch bei jedem instert die nächsthöhere zahl eingetragen. ps: wenn das nicht stimmt mach doch mal 2 html tabellen mit dem aussehen: vorher nachher |
| | |
| | #8 (permalink) |
| Themenstarter | Fast. Ich erklär mal den gesamten Ablauf der Abfrage. In der ersten Datei (also die dieser hier vorangehenden) werden alle schon bestehenden Datensätze der Tabelle ($maxrows) aufgelistet. Dann kann man weitere 10 Datensätze hinzufügen. Die inputs bekommen den Namen PL_Titel+Zahl und PL_Interpret+Zahl. In der nächsten Datei (die aus meinem Beispiel) habe ich dann also mehrere Variablen vorliegen, alle nach dem Muster $PL_Titel1 und $PL_Interpret1 Wenn ich diese Datensätze nun wieder in die Tabelle schreiben will, muss ich ja irgendwie die Zahl mit hineinbekommen in die Abfrage, da ich ja nicht von $PL_Titel1 bis $PL_Titel1000 jede Abfrage einzeln schreiben kann. Also dachte ich, ich lasse eine Zählvariable mitlaufen, die in die Tabelle stets $PL_Titel+$b und $PL_Interpret+$b schreibt. Diese Abfrage funzte jedoch nicht und in meiner Tabelle stehen danach _nur_ die Zahlen und als Playlistid '0', d.h. es ist irgendetwas schief gegangen, da die richtige Playlistid '1' wäre... Meine Frage wäre nun, ob ein anderer Weg bekannt ist, um eine unbestimmte Anzahl Datensätze in die Tabelle zu schreiben und es nicht, so wie ich, mit einer Zahl hinter der eigentlichen Variablen zu machen. Ich hoffe, nun ist mein Problem klar. so long, gruß mcrack |
| | |
| | #9 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | hab mal die 2te sql abfrage geändert.... Code: $p_id = mysql_query(\"SELECT * FROM playlistnumbers WHERE playlist='\".$alterpl.\"'\");
$pid = mysql_fetch_array($p_id);
for ($b=1;$b<=$maxrows+10;$b=$b+1)
{
$Interpret = $PL_Interpret.$b;
$Titel = $PL_Titel.$b;
if (($Interpret != \"\") || ($Interpret != NULL))
{
mysql_query(\"REPLACE INTO playlist (playlistid, interpret, titel) VALUES ('$pid[playlistid]$b','$Interpret$b','$Titel')\");
}
} |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Combobox füllen | woofast | Code Kitchen | 2 | 04.09.07 21:49 |
| MASM - Struktur füllen | rev | Code Kitchen | 4 | 29.07.06 15:48 |
| MySQL Datenbank füllen - Wo ist der Fehler? | TeeKayo2 | (Web-) Design und webbasierte Sprachen | 8 | 21.01.06 08:55 |
| Daten in mySQL Datenbank speichern | sfil | Code Kitchen | 5 | 30.08.04 21:34 |
| wer hilft mir meine Witzedatenbank zu füllen? | Yel Nats | Off topic-Zone | 4 | 12.12.03 13:49 |