Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
array - explode - trim.. ich komm net weiter [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
array - explode - trim.. ich komm net weiter


 
michygan
25-06-2008, 14:24 
 
Hallo, hoffe mir kann einer weiter helfen sehe leider keine bäume mehr im wald!

ich hole mir aus der tabelle kommentar(text) was zwischen "*" steht, mit explode wunderbar, nun bekomme ich z.B.
das heraus:


Angebot:angebotenTEST:set;Angebot:Angebot:nicht angeboten;TEST:Angebot:angeboten;TEST:set;name:nicht angeboten


also hab ich nun 3 verschiedene werte die ich brauche, verwende ich jetzt
wieder explode so bekomme ich ja mehrere array´s also [0],[1] usw.

womit ich dann leider nicht weiter arbeiten kann, denn ich trenne auch das " : " mit explode und verwende dann trim, womit ich das dann in einer hilfstabelle speichere und weiter verarbeite...



ich weiß net irgendwie ist der Knoten drin!!
Hoffe ihr versteht es wie ich es meine und könnt mir weiterhelfen!!!


DANKE

 
asp2php
25-06-2008, 14:27 
 
Zeige, was du bisher hast, dann schauen wir mal weiter :)

 
MelloPie
25-06-2008, 14:27 
 
also ich würde das Tabellen format ändern...

btw. Deine Frage verstehe ich nicht wo hast Du denn drei Werte?
Was willst Du erreichen?

 
michygan
25-06-2008, 14:58 
 
ok mom, mach ich das so


$db_fu = array();


while($row=mysql_fetch_row($rs)){


$fu = explode("*",$row[2]);

$fu_help = explode(";",$fu[1]);


$fu2 = explode(":",$fu_help[0]);


$db_fu['funktion'] = trim($fu2[0]);
$db_fu['wert'] = trim($fu2[1]);

$sql_in = "insert into temp_funktion_report (`mvid`,`rowid`,`funktion`,`wert`,`user`) values
('".$row[0]."',".$row[1].",'".$db_fu["funktion"]."','".$db_fu["wert"]."','".$user."') ";
mysql_query($sql_in);


was auch so weit funktioniert, ich hänge aber mom an der stelle
$fu_help = explode(";",$fu[1]);


denn dort gibt er mir das nicht in einen einfachen array raus , so dass ich nicht trim anwenden kann..

 
michygan
25-06-2008, 16:32 
 
Original geschrieben von MelloPie
also ich würde das Tabellen format ändern...

btw. Deine Frage verstehe ich nicht wo hast Du denn drei Werte?
Was willst Du erreichen?

es ist so das in einigen kommentarfelder zusätzliche parameter eingetragen werden die dann, damit ich sie wieder raus bekomme in "*" sind, nun ist es aber so, dass das mehrere sind, die dann mit einem ";" getrennt werden, nun hole ich mir alle kommentare die ein sternchen haben und möchte die auswerten und zwar so:

Upsellingangebot:angeboten
TEST:set
Upsellingangebot:angeboten
Upsellingangebot:nicht angeboten
TEST:set
Upsellingangebot:angeboten
TEST:set
name:nicht angeboten


damit ich diese dann mit trim in einer hilfstabelle speichern kann, siehe oben!

Also brauche ich ja explode für * und ; und :
wobei ich aber bei anwendung von explode bei ; ein mehrdimensonales Array erhalte, womit ich dann nicht wirklich alles mit einmal mit : exploden kann!

na weiß i net weiter...

 
michygan
26-06-2008, 11:21 
 
So ein großes Forum und keiner hat Rat???????????????

 
TobiaZ
26-06-2008, 11:28 
 
So ein großes Forum und keiner hat Rat??????????????? hör auf zu drängeln und kontrollier mal deine SZ-Taste. ;)

Vielleicht solltest du mal etwas präziser mit deiner Beschreibung werden...

denn dort gibt er mir das nicht in einen einfachen array raus , so dass ich nicht trim anwenden kann.. Wie sieht das Array aus? Was erwartest du statt dessen?

wobei ich aber bei anwendung von explode bei ; ein mehrdimensonales Array erhalte, womit ich dann nicht wirklich alles mit einmal mit : exploden kann! Natürlich nicht. Aber du hast sicher schon mal etwas von Schleifen gehört, oder?

BTW: Wie Mellowpie schon sagt, du solltest dir rechtzeitig gedanken um dein verkorkstes Datenbank-Layout machen, sonst kommst du spätestens in einem Jahr wieder. Mit einem viel größeren Problem vor dir. ;)

 
michygan
26-06-2008, 11:56 
 
jo danke für dein nette Hilfestellung

wie in meinem Beitrag zuvor beschrieben, bekomme ich durch das exploden ein mehrdimensonalles array, da ich leider mit array´s noch nicht viel gearbeitet habe, weiß ich auch nicht wie ich mit einer Schleife vorgehen muss! Daher auch meine Frage in diesem Forum, wie ich das am besten mache !!!






Upsellingangebot:angeboten
TEST:set
Upsellingangebot:angeboten
Upsellingangebot:nicht angeboten
TEST:set
Upsellingangebot:angeboten
TEST:set
name:nicht angeboten


$db_fu['funktion'] = trim($fu2[0]);
$db_fu['wert'] = trim($fu2[1]);

$sql_in = "insert into temp_funktion(`mvid`,`rowid`,`funktion`,`wert`,`user`) values
('".$row[0]."',".$row[1].",'".$db_fu["funktion"]."','".$db_fu["wert"]."','".$user."') ";
mysql_query($sql_in);




anhand dessen siehst du ja das ich dann alles was vor dem : steht in eienr spalte und alles nach dem : in einer spalte in einer tabelle inserte
!!
Hoffe nun ist es einwenig verständlicher...by TobiaZ: Signatur entfernt!

 
asp2php
26-06-2008, 13:47 
 
Du hast:

$text = "Angebot:angebotenTEST:set;Angebot:Angebot:nicht angeboten;
TEST:Angebot:angeboten;TEST:set;name:nicht angeboten";

dann machst du:

$arr_1 = explode(";",$text);
// array variable bereit stellen
$arr_2 = array();
// arr_1 durchlaufen
foreach ($arr_1 as $temp)
$arr_2[] = explode(":",$temp);
// Ausgabe und anschauen
echo "<pre>\n";
print_r($arr_2);
echo "</pre>\n";


Alles klar?

 
michygan
27-06-2008, 10:55 
 
Danke!

Vielen Vielen Dank, das war wohl mein Knoten!

Danach ne schleife die mein Array zählt und alles hat funktioniert!!


$fu = explode("*",$row[2]);

$arr_1 = explode(";",$fu[1]);
// array variable bereit stellen
$arr_2 = array();
// arr_1 durchlaufen
foreach ($arr_1 as $temp)
$arr_2[] = explode(":",$temp);
// Ausgabe und anschauen

for($k=0;$k<count($arr_2);$k++){

$db_fu['funktion'] = trim($arr_2[$k][0]);
$db_fu['wert'] = trim($arr_2[$k][1]);
}



Danke nochmal..

MfG
Michaby TobiaZ: Signatur entfernt!

 
unset
27-06-2008, 11:12 
 
Nimm mal das Geschrei' aus deiner Sigantur, ist ja grauenhaft!

 
TobiaZ
27-06-2008, 11:20 
 
Original geschrieben von unset
Nimm mal das Geschrei' aus deiner Sigantur, ist ja grauenhaft!Genau! So langsam ist mal gut mit deinem "Benehmen" in einem Forum. :teach:

- -

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