php while schleife!

03/01/2012 21:19 xTrojaner#1
hallo leute,
stehe vor einem problem und zwar:
ich wollte heute aus meiner datenbank einen datensatz aus der datenbank abfragen der zuvor mit implode und mit einem kommar getrennt eingespeichert wurde.
Nun wollte ich das ganze auf der website wieder ausgeben lassen indem ich die strings wieder mit explode trenne und wieder mit einer while schleife
ausgebe
Aber irgendwie will das nicht klappen, wäre cool wenn ihr mir da helfen könntet bin noch anfänger :)....
Ps. Zum richtigen verständnis der datensatz ist in einer Zeile
03/01/2012 21:35 galaxyo#2
Beim explode werden die Inhalte eines Strings an der enstprechenden Stelle gesprengt und als Array abgelegt. Das Array fängt üblicherweise bei 0 an zu zählen.

Das ganze löst du mit einer Schleife. Undzwar foreach.

PHP Code:

<?php

foreach($NamedesArrays as $datensatz) {

    echo 
'$datensatz';

}

?>
Du liest die Daten aus der DB aus, explodest die an entsprechender Stelle und dabei werden diese wie bereits erwähnt in einem Array abgelegt. Dieses Array habe ich in der foreach $NamedesArrays genannt. Entsprechend abändern ;)
$datensatz ist dann entsprechend $NamedesArrays[0], dann $NamedesArrays[1] usw.
03/01/2012 22:19 PseudoPsycho#3
Quote:
Originally Posted by galaxyo View Post
Das ganze löst du mit einer Schleife. Undzwar foreach.
...oder man richtet sich nach PHP5-Standards und macht das mit 'nem Iterator:
PHP Code:
<?php
$object 
= new ArrayObject($dein_array);
$zeiger $object->getIterator();
$zeiger->rewind();
while (
$zeiger->valid())
{
    echo 
$zeiger->current();
    
$zeiger->next();
}
Foreach ist natürlich die schneller schreibbare Variante, die Iterator-Version jedoch die bessere...

Edit: @Galaxyo:
Am besten noch die einfachen Anfürhungszeichen beim echo entfernen, die Ausgabe ist sonst:
Code:
$datensatz$datensatz$datensatz...
Das könnte einige Leute verwirren...
03/02/2012 16:13 subsauber#4
Hey hab irgendwie immer noch probleme.... will es mal an einem einfach beispiel deutlich machen .... was mach ich flasch ?

<?php
$hallo = "te,xs,st,z,";

foreach($hallo as $test)
{
$zerlegen = explode(",", $hallo);
echo " $zerlegen";
}
?>
03/02/2012 16:44 PseudoPsycho#5
1. Lass die Anführungszeichen beim echo() weg!
Die werden nicht so gebraucht und schrauben dir nur die Leistung runter...
2. erst exploden, dann die Schleife:
Wenn du's schon mit foreach() machst, dann so:
PHP Code:
<?php
$hallo 
'te,xs,st,z,';
$zerlegen explode(','$hallo);

foreach(
$zerlegen as $test)
{
echo 
' '$test;
}
?>
3. Nimm lieber einfache, statt doppelte Anführungszeichen.
Die belasten den Server weniger...