[PHP] String auf Komma prüfen uns getrennt Speichern

Dieses Thema im Forum "Webentwicklung" wurde erstellt von ggo, 30. Oktober 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 30. Oktober 2010
    String auf Komma prüfen uns getrennt Speichern

    Huhu,

    ich habe folgendes Problem.

    Situation:
    Ich habe einen String $tags. Dieser hat z.b. den Inhalt "a,b,c" jedoch ist dies variabel es kann auch sein "ich,du,er,sie,es" oder "1,2,3,4,5,6,7,8,9,10" oder oder oder.
    Dann habe ich noch eine Datenbank 'tags' mit den Feldern 'id' (auto increment),'tag' !

    Frage:
    Nun will ich den Inhalt des Stings in der Datenbank speichen, also bei "a,b,c" sieht die Tabelle dann so aus

    id=0,tag=a
    id=1,tag=b
    id=2,tag=c

    bei "ich,du,er,sie,es"

    id=0,tag=ich
    id=1,tag=du
    id=2,tag=er
    ....

    Wie mache ich das nun am besten ? Bräuchte hilfe beim String trennen für den insert! Es müssten ja sowas entstehen wie §tag1="a" , $tag2="b" , $tag3="c" oder?
     
  2. 30. Oktober 2010
    AW: String auf Komma prüfen uns getrennt Speichern

    Den String kannst du am einfachsten mit explode trennen, dann solltest du gleichzeitig auch eine ID dazu haben.

    PHP:
    $string  "a,b,c,d,e" ;
    $prepare  explode ( "," $string );

    foreach (
    $prepare  as  $id => $tag ) {
        
    //
    }
     
  3. 30. Oktober 2010
    AW: String auf Komma prüfen uns getrennt Speichern

    In der foreach Schleife sollte dann der Insert in die DB stattfinden falls das noch nicht klar wurde.

    Ansonsten ist die Frage schon komplett beantwortet ;-)
     
  4. 30. Oktober 2010
    AW: String auf Komma prüfen uns getrennt Speichern

    Jop, thx an beide BW ist raus.
     
  5. 30. Oktober 2010
    AW: String auf Komma prüfen uns getrennt Speichern

    lieber in der foreach-schleife den "VALUES"-teil bilden und den insert-query danach einmalig ausführen -> schneller und von der performance her auch besser.

    oder ganz ohne foreach:
    PHP:
    $values  explode ( ',' 'ich,du,er,sie,es' );
    $values  array_map ( 'mysql_real_escape_string' $values );

    mysql_query ( '
        INSERT INTO tabelle ( `tag` ) 
        VALUES ( "' 
    implode ( '"),("' $values ) .  '" );' );
    kleiner tipp: für eindeutige tags kann man "REPLACE INTO" verwenden, dann werden nur neue tags im query verarbeitet. dazu musst du nur die spalte "tag" auf UNIQUE stellen.
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.