php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.03.2011, 12:06  
Neuer Benutzer
 
Registriert seit: 01.03.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
matador2909 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] 4 spalten 20 zeilen

hallo liebe gemeinde..

ich hoffe ihr könnt mir helfen.. google konnte es nicht wirklich..
(bin aber auch anfänger..)

habe ein array a la:
PHP-Code:
$arr_bis_next = array(
        
bla_1 => $bla_1,
        
bla_2 => $bla_2,
        
bla_3 => $bla_3,
        
bla_4 => $bla_4,
        
etc ); 
das sortiere ich nach den werten von $bla_1, $bla_2 etc...mit:
PHP-Code:
asort($arr_bis_next); 
so und nu kommts

ich möchte eine tabelle mit vier spalten und zwanzig zeilen haben..
wobei zwei zeilen einer "arrayzeile" zugeordnet werden sollen.. (bla_1 => $bla_1)
und alle $bla_1 etc, die 0 als wert haben nicht benutzen will..

endergebnis:

string bla_1 string bla_2 string bla_3 string bla_4
$bla_1 $bla_2 $bla_3 $bla_4
string bla_5 string bla_6 string bla_7 string bla_8
$bla_5 $bla_6 $bla_7 $bla_8
string bla_9 string bla_10 string bla_11 string bla_12
$bla_9 $bla_10 $bla_11 $bla_12

also hab ich es so versucht:
PHP-Code:
$rows 20;
$cols 4;

echo 
"<table border=\"1\" align=\"center\" cellpadding=\"10\" cellspacing=\"0\">";
for(
$i 1$i <= $rows$i++)
{
   echo 
" <tr>";
   for(
$j 1$j <= $cols$j++)
    {
        echo 
"<td>$key hat den Wert: $val</td>";
   }
   echo 
"</tr>";
}
echo 
"</table>"
allerdings kommt das raus:
(logischer weise weil irgendwo
PHP-Code:
foreach ($arr_bis_next as $key => $val){} 
fehlt)

hat den Wert: hat den Wert: hat den Wert: hat den Wert:
hat den Wert: hat den Wert: hat den Wert: hat den Wert:
hat den Wert: hat den Wert: hat den Wert: hat den Wert:
hat den Wert: hat den Wert: hat den Wert: hat den Wert:
hat den Wert: hat den Wert: hat den Wert: hat den Wert:
hat den Wert: hat den Wert: hat den Wert: hat den Wert:
hat den Wert: hat den Wert: hat den Wert: hat den Wert:
hat den Wert: hat den Wert: hat den Wert: hat den Wert:
hat den Wert: hat den Wert: hat den Wert: hat den Wert:
hat den Wert: hat den Wert: hat den Wert: hat den Wert:
etc

nur wie fülle ich das ganze, so dass am ende eine tabelle mit 4 spalten und 20 zeilen rauskommt und in jeder zelle nur ein wert auftaucht?

Geändert von matador2909 (01.03.2011 um 12:20 Uhr).
matador2909 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.03.2011, 12:11  
Erfahrener Benutzer
 
Registriert seit: 03.03.2010
Beiträge: 221
PHP-Kenntnisse:
Fortgeschritten
RustyXXL befindet sich auf einem aufstrebenden Ast
Standard

Erstens: bitte die entsprechenden Code-Tags benutzen

Zweitens: Wo kommen $key und $val her? ich vermute mal Du hast eine foreach-schleife kopiert und dann in eine for-schleife umgeschrieben ohne die Variablen anzupassen?

nvm...sry...man sollte dem forum zum antworten die volle aufmerksamkeit widmen...

Geändert von RustyXXL (01.03.2011 um 12:16 Uhr).
RustyXXL ist offline   Mit Zitat antworten
Alt 01.03.2011, 12:14  
Neuer Benutzer
 
Registriert seit: 01.03.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
matador2909 befindet sich auf einem aufstrebenden Ast
Standard

Hi RustyXXL,

key und val muss ich mir noch aus dem array holen...

allerdings weiss ich eben nicht genau ob das mit

PHP-Code:
foreach ($arr_bis_next as $key => $val){} 
funktioniert..

ich hatte foreach an verschiedenen stellen schon eingebaut, allerdings ist das ergebnis naja... (200 spalten und zeilen..)

grüße

Geändert von matador2909 (01.03.2011 um 12:18 Uhr).
matador2909 ist offline   Mit Zitat antworten
Alt 01.03.2011, 12:21  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

das Problem ist halt dass du ein eindeminsinales array in 2 demensionen aufteilen willst.
PHP-Code:
$i 0;
$j 0;
$newArray = array();
foreach(
$arr_bis_next as $key => $val){
if(
$j == 0){ // in jeder 4en spalte setze den zähler für zeilen auf 0 und erhöhe die spalten anzahl um 1
$i++;
$j 0;
}else{
$j++;
}
$newArray[$i][$j] = array('val'=>$val,'key'=>$key);

ist nicht getestet... aufjedenfall könntest du dann nach dieser schleife deine geschachtelte foreach schleife nehmen und dort folgendes ausgeben:

PHP-Code:
echo "<td>".$newArray[$i][$j]['key']." hat den Wert: ".$newArray[$i][$j]['val']."</td>"
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 01.03.2011, 12:34  
Neuer Benutzer
 
Registriert seit: 01.03.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
matador2909 befindet sich auf einem aufstrebenden Ast
Standard

@BlackScorp:
du meinst dass ich key und val trennen will?


haken: ich hab schon ein riesiges array... (mit ~170 zeilen)

kann ich die gegebenen daten nicht irgendwie so verwursten?

das einfach ausgeben der werte in listenform geht ja:
PHP-Code:
echo '<table border="0" align="center"><colgroup span="4"></colgroup><tr>';
foreach (
$arr_bis_next as $key => $val
{
  echo 
"$key hat den Wert: $val<br>";
}
echo 
'</tr></table>'
oder hab ich nicht geschnallt, was deine empfehlung war??
matador2909 ist offline   Mit Zitat antworten
Alt 01.03.2011, 12:45  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

probier das aus

PHP-Code:
<?php

$bla_1 
'foo_1';
$bla_2 'foo_2';
$bla_3 'foo_3';
$bla_4 'foo_4';
$arr_bis_next = array(
    
'bla_1' => $bla_1,
    
'bla_2' => $bla_2,
    
'bla_3' => $bla_3,
    
'bla_4' => $bla_4,
    
'bla_5' => $bla_1,
    
'bla_6' => $bla_2,
    
'bla_7' => $bla_3,
    
'bla_8' => $bla_4,
    
'bla_9' => $bla_1,
    
'bla_10' => $bla_2,
    
'bla_11' => $bla_3,
    
'bla_12' => $bla_4,
    
'bla_13' => $bla_1,
    
'bla_14' => $bla_2,
    
'bla_15' => $bla_3,
    
'bla_16' => $bla_4,
);

asort($arr_bis_next);
$i 0;
$j 0;
$newArray = array();
foreach (
$arr_bis_next as $key => $val) {
    if (
$j == 0) {
        
$j 0;
        
$i++;
    }
    
$newArray[$i-1][$j] = array('val' => $val'key' => $key);
    
$j++;
}
$rows count($arr_bis_next);
$cols $rows 4;

echo 
"<table border=\"1\" align=\"center\" cellpadding=\"10\" cellspacing=\"0\">";
for (
$i 0$i $rows$i++) {
    echo 
" <tr>";
    for (
$j 0$j $cols$j++) {
        echo 
"<td>" $newArray[$i][$j]['key'] . " hat den Wert: " $newArray[$i][$j]['val'] . "</td>";
    }
    echo 
"</tr>";
}
echo 
"</table>";

?>
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 01.03.2011, 12:51  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

jo klar, brech dir die beine wenn der tür-rahmen zu niedrig ist

ich empfehl dir dein array so aufzubauen wie du es auch später darstellen willst:
PHP-Code:
$data = array(
   [
0] => array('bla_1' => $bla_1'bla_2' => $bla_2'bla_3' => $bla_3'bla_4' => $bla_4),
   ...
);

echo 
'<table ...>';
foreach ( 
$data as $zeile ) {
   echo 
'<tr ...>';
   foreach ( 
$zeile as $spalteDerZeile ) {
      echo 
'<td ...>'.$spalteDerZeile.'</td>';
   }
   echo 
'</tr>';
}
echo 
'</table>'
sollte dein Array dir von irgendetwas vorgegeben sein oder der aufwand zu groß das array das du bekommst anders zusammenbauen zu lassen, kannst du es in einem 2ten Array für den Verwendungszweck neuorganisieren.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 01.03.2011, 12:54  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

Zitat:
Zitat von tr0y Beitrag anzeigen
sollte dein Array dir von irgendetwas vorgegeben sein oder der aufwand zu groß das array das du bekommst anders zusammenbauen zu lassen, kannst du es in einem 2ten Array für den Verwendungszweck neuorganisieren.
desswegen habe ich doch diese foreach schleife um das vorhandene Array umzustellen in ein 2D array
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 01.03.2011, 12:55  
Neuer Benutzer
 
Registriert seit: 01.03.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
matador2909 befindet sich auf einem aufstrebenden Ast
Standard

NICE!!! dat sieht schon mal gut aus!!

hab
PHP-Code:
$rows count($arr_bis_next);
$cols $rows 4
durch
PHP-Code:
$rows 10;
$cols 4
ersetzt und siehe da... es scheint zu klappen!
danke schonmal!!!!!

jetzt nochwas:
- wie schmeiße ich alle "blas" aus dem array, die den wert 0 haben?
matador2909 ist offline   Mit Zitat antworten
Alt 01.03.2011, 12:58  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Und warum brichst du dir dadrunter mit 2 for-schleifen und offSet-Crits die Beine ?
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Antwort


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
[Erledigt] spalten in php durch arrays sortieren lassen Dintar1989 PHP Tipps 2010 3 29.06.2010 15:32
[MySQL] Hilfe bei Query (Zeilen zu Spalten) DannyD Datenbanken 2 24.05.2010 19:31
Datenbanken Zeilen von zwei Spalten ausgeben aschunk PHP Tipps 2010 5 27.04.2010 14:28
Bilder aus Spalten in Zeilen anzeigen Typ15 PHP Tipps 2010 5 31.03.2010 21:46
[Erledigt] Ausgabe von mehreren Zeilen einer Tabelle Rutor PHP Tipps 2010 2 22.02.2010 10:05
[Erledigt] Leere Zeilen ignorieren? BlackScorp PHP Tipps 2009 8 15.10.2009 09:45
PHP/Access - Anfrageergebnis mit gesammten Spalten oder als Objekt ? SkiD PHP Tipps 2009 3 15.08.2009 23:50
Mehrere Spalten in einer Zeile einer 2 Tabelle ketchup PHP Tipps 2009 5 28.04.2009 07:49
[Erledigt] Mehrere Spalten und Zeilen aus Tabelle in einem Array speichern shivana Datenbanken 1 04.11.2008 12:07
Zeilen in Spalten selecten stefan a Datenbanken 6 19.04.2008 09:37
drei Spalten einer Tabelle zusammenfügen Lia PHP Tipps 2005-2 24 16.08.2005 15:58
spalten zählen mit ausnahmen Datenbanken 8 16.07.2005 13:04
Datenausgabe in 2 Spalten und mehrere Zeilen mediaindesign Datenbanken 8 27.03.2005 09:13
[Erledigt] Daten aus DB in Spalten und Zeilen ausgeben PHP Tipps 2004 2 27.07.2004 13:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php foreach spalten, foreach php, php foreach tabelle spalten, array aus zeilen spalten, php liste mit 4 spalten, php foreach in zwei spalten ausgeben, ausgabe bis 20 zeilen php, leere tabelle 4 spalten und 20 reihen, leere tabellen mit 4 spalten und 20 zeilen, spalten und zeilen in array php, eine tabelle mit 20 spalten

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:04 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