php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Array liste nach bestimmten werten filtern


 
The12Nepo
27-08-2015, 07:14 
 
Hallo ich bin nun schon seit Stunden auf Google unterwegs und finde keine Lösung, vielleicht könnt ihr mir helfen.

Es geht um folgendes:
Ich hole mir über eine csv datei eine liste mit einem array.
Die liste hat auch verschiedene spalten.
Dieser wird dann auch für eine tabelle verwendet.
Jedoch möchte ich nur einträge haben wo z.B. der name "Hans" in der Spalte "namen" vorhanden ist.
Ist es mit array möglich dies zu realisieren?

Bin leider erst anfänger in dem Gebiet.
Ich danke schonmal.

 
Wasser_Wanderer
27-08-2015, 14:18 
 
Hilfreich ist zB diese Funktion PHP: in_array - Manual (http://php.net/manual/de/function.in-array.php)

 
The12Nepo
27-08-2015, 14:25 
 
Das ist im prinzip was ich brauche, jedoch finde ich so nur genau bestimmte wörter. Im prinzip muss ich ausfragen können ob in der Spalte "Nummer" die 1,2,3,4 oder 5 steht. Und dann nur auslesen wo z.B. bei "Nummer" die 1 steht.

 
mermshaus
27-08-2015, 14:27 
 
Schleife über alle Einträge mit passender Bedingung oder so was wie array_filter.

 
The12Nepo
27-08-2015, 14:34 
 
Array ist für mich ein ganz neues gebiet, im groben versteh ich worum es bei array_filter geht aber habe noch nicht die fähigkeiten das genau so umzusetzen. Ich schick mal hier den code schnipsel rein womit ich die tabelle ausgebe, vielleicht kannst du mir ja helfen das zu verstehen.

<?HTML;
if (!count($news_headlines)>0){
echo '<p>There are currently no news headlines.</p>';
}else{
sort($news_headlines,1);
foreach ($news_headlines as $key => $item){
list($news_id,$news_date,$news_title,$news_season,$news_link,$news_body) = $item;
$formatted_date = date('j.m.Y, H:i',$news_date);
echo <<<HTML
<a name="$news_id" id="$news_id"></a>
<h3>$news_title</h3>
$news_body
<hr />
HTML;
}
}
?>

Hier will ich nur die einträge haben bei denen $news_season den wert 1 hat.

Danke schonmal.

 
The12Nepo
27-08-2015, 15:08 
 
Hat sich nun geklärt :)

Habe es einfach mit einer ganz simplen if abfrage gelöst.
Nach list(....)
einfach ein if($news_season == '1'){
html form
}

Danke trotzdem für eure hilfe.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:14 Uhr.