php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.06.2005, 11:10  
Gast
 
Beiträge: n/a
Standard [unserialize] Wie die Daten aus der DB richtig darstellen?!

Hallo,
ich habe folgendes Problem!
Ich speicher erst mit serialize mehrere Daten aus einem Array in der Datenbank! Leider ist es bei jedem Eintrag unterschiedlich wieviele Daten im Array stehen.
So sieht bei mir z.B. ein Eintrag aus:
a:2:{s:3:""0";s:4:"1000";s:3:""1";s:4:"2000";}

Ich gehe mal davon aus das a:2 mir sagt das zwei Einträge vorhanden sind (nämlich 1000 und 2000)!
Wie kann ich nun aus diesem String herausfiltern wieviele Einträge vorhanden sind und diese dann entsprechend einzeln ansprechen?!

Ich muss das doch irgendwie mit foreach machen oder??
Kann mir dazu mal jemand ein Codebeispiel geben? Ich hab schon ein paar sachen ausprobiert aber irgendwie gehts net

Gruß Maik
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.06.2005, 11:12  
Gast
 
Beiträge: n/a
Standard

völlig egal, wie groß das Feld ist, count() gibt immer die Anzahl an Elementen an und für foreach wird diese Information nicht benötigt (da php sich selbst damit versorgen kann)

PHP-Code:
<?php
$arr 
range(0rand(5,10));

echo 
'Anzahl Elemente: 'count($arr), "
\n"
;
foreach(
$arr as $e)
    echo 
$e"
\n"
;
    
$s serialize($arr);
$ds unserialize($s);

echo 
'Anzahl Elemente: 'count($ds), "
\n"
;
foreach(
$ds as $e)
    echo 
$e"
\n"
;
?>

siehe auch:
http://php.net/foreach
http://php.net/count
 
Alt 27.06.2005, 11:38  
Gast
 
Beiträge: n/a
Standard

Hmm... bei mir scheint´s net zu klappen...

Folgendes habe ich getestet:
PHP-Code:
<?php
$ds 
unserialize($row[arr_preise_titel]);

echo 
'Anzahl Elemente: 'count($ds), "
\n"
;
foreach(
$ds as $e)
   echo 
$e"
\n"
;
?>
Ich erhalte die Fehlermeldung:
Warning: Invalid argument supplied for foreach() in /var/www/web1/html/admin/produkte.php on line 266

Wenn ich einfach nur echo $row[arr_preise_titel]; mache bekomme ich ausgegeben:
a:2:{s:3:""0";s:4:"1000";s:3:""1";s:4:"2000";}
 
Alt 27.06.2005, 11:40  
Gast
 
Beiträge: n/a
Standard

Und echo "<pre> $ds </pre>"; gibt mir nix aus...
 
Alt 27.06.2005, 11:52  
Gast
 
Beiträge: n/a
Standard

Fehler gefunden...
Der Eintrag in der DB ist verkehrt... also (s:3:""0" ... muss mal schauen warum das so eingetragen wurde!
Im Prinzip funktionierts aber!!
Thx
 
Alt 27.06.2005, 11:52  
Gast
 
Beiträge: n/a
Standard

hm, an der Zeichenkette wurde doch auch rumgebastelt, oder?
s:3:""0";
String, Länge 3, aber nur zwei Zeichen : "0
 
Alt 27.06.2005, 11:56  
Gast
 
Beiträge: n/a
Standard

btw: http://php.net/language.types.array#...es.array.donts (Abschnitt "Array do's and don'ts")
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten aus Datenbank (richtig) ausgeben. momonov PHP Tipps 2008 19 27.03.2008 16:43
Mehrere Arrays unterschiedlicher Größe kombinieren querfisch PHP Tipps 2007 9 31.03.2007 21:34
tabelle in 3 Spalten richtig darstellen test022 PHP Tipps 2007 15 28.03.2007 15:38
Einlesen von Daten in Formular Fragenfrager PHP Tipps 2006 3 14.08.2006 10:11
einzelne Daten aufrufen von .csv PHP Tipps 2005-2 7 23.08.2005 08:28
Überprüfung auf Herkunft der Daten PHP Tipps 2005-2 8 04.08.2005 12:01
daten mit positionsangabe einlesen PHP Tipps 2005-2 3 20.07.2005 16:45
Daten für DB richtig aufbereiten Datenbanken 2 19.07.2005 21:03
Daten aus der Datenbank in 3 Spalten pro Zeile darstellen? ThaRider PHP Tipps 2005-2 7 14.07.2005 23:00
[Erledigt] Daten auslesen - Daten hinzufügen - Daten Speichern PHP Tipps 2004-2 1 04.12.2004 10:59
IMAP: Bild(er) in HTML Part richtig darstellen PHP-Fortgeschrittene 1 07.10.2004 12:21
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
Modales Fenster zur Eingabe von Daten HTML, Usability und Barrierefreiheit 0 22.06.2004 12:52
Übertragung von Daten zwischen Anmeldeschritten PHP Tipps 2004 6 18.06.2004 20:32
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.