Ich muss mehrere links in eine spalte schreiben …
Gibts es ne möglichkeit, die links die per leerzeichen getrennt sind beim INSERT mit zb einem | zu trennen und dieses dann als ende eines links zu definieren ?
Wenn deine Links schon URL-encoded sind und keine Leerzeichen mehr enthalten, dann ist das Leerzeichen ja als Trennzeichen schon geeignet. Das kannst natürlich durch jedes andere Sonderzeichen ersetzen, dass nicht in den Links vorkommt. Hast dir die Frage doch eigentlich selbst beantwortet. Ob es allerdings geschickt ist, Mehrfachwerte in einer Spalte und nicht als 1:n Relation zu modellieren, das ist eine andere Sache. So musst beim Auslesen immer wieder den Split machen und bei der exakten Suche nach einem Link diese in ein LIKE umsetzen und dann selbst das EQUAL (nach Split in der Ergebnismenge) testen
Die links werden ja in eine textarea eingegeben und dann in die DB eingetragen
Ich trage zuerst den title ein in eine tabelle namens container , dann hohl ich die last_insert_id , nehm diese und füg die links dann in die tabelle links ein . Containerid ist dann die last_insert_id.
Das heißt ich kann die links zum container zurweisen.
Meine frage nur, es wäre halt gut , wenn nun die links in der textarea getrennt werden bei nem leerzeichen (ende eines links) und jeder link in eine eigene spalte kommt mit der containerid natürlich …
Das wäre doch viel besser oder ?
Nur wie bekomm ich das hin?
Ich denke, am einfachsten verwendest die split-Funktion und machst aus den Links ein Array. Dann brauchst eine weitere Tabelle für diese Links mit drei Spalten Id, Parent_ID, Link_Value. In die Parent_ID kommt deine $lastid als Verweis und in den Link_Value ein einziger Link. Dann hast du eine 1:n-Relation zwischen einer Eingabe-Id und den dort eingegebene n Links. Den Insert machst durch Loopen durch das Array.
Nein, $value enthält immer nur einen einzigen Link, die Schleife wird nur 3 Mal durchlaufen, jedes Mal wird ein anderer Link ausgegeben. Das könntest leicht sehen, wenn du außen $count=0 setzt und im foreach $count++ und dann $count im echo mit ausgibst.
[PHP]
$count++;
echo „Value $count: $value \n“;
[/PHP]
Statt echo musst in der Schleife nun das richtige INSERT für die Link-Details bilden (erst mal mit ECHO nur ausgeben) und mittels mysql_query einfügen (aber nur, falls trim($value) != „“, könnten Leerzeilen oder Zeilen nur mit Leerzeichen drin sein).