SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 23.07.2002, 16:03:28
Moses Moses ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 55
Anfängerfrage - Arrayausgabe Zeilenumbruch erzwingen

Hallo,
habe mal wieder eine absolute Anfängerfrage (bitte schlagt nicht alle gleich die Hände über dem Kopf zusammen, bin einfach noch neu hier bei PHP).
Also, ich habe eine Datenbankabfrage und lasse mir das Ergebnis als Text in einer Tabelle ausgeben, nun möchte ich aber daß nach z.B. allen 4 Array Werten ein Zeilenumbruch eingefügt wird, wie mache ich das? - Geht wohl irgendwie über Array Count oder?
Also zur Verdeutlichung, die Ausgabe wäre z.B.
Name 1 - Name 2 - Name 3 - Name 4 (hier der Zeilenumbruch)
Name 5 - Name 6 - Name 7 - Name 8 (wieder Zeilenumbruch)
etc.

Bin für jede Hilfe (String, Verweis wo ich was finden kann, etc.)dankbar.

Grüße,
Moses
Mit Zitat antworten
  #2  
Alt 23.07.2002, 16:14:52
Benutzerbild von Matt
Matt Matt ist offline
Member
 
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
eine lösung: (ich weiss nicht, ob es nicht auch eine funktion dafür gibt, aber ich geb dir mal nen algorithmus)

Code:
$count=0;
foreach($array as $cell)
{
print "$cell - ";
$count++;
if($count==4) {print "<br>";$count=0;}
}
sicherlich nicht die schönste art, müsste aber funktionieren, ich habs allerdings nicht ausprobiert!
Mit Zitat antworten
  #3  
Alt 23.07.2002, 16:19:04
Benutzerbild von Matt
Matt Matt ist offline
Member
 
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
hm... noch eine idee:

Code:
for($count=0;$count<sizeof($array);$count++)
{
if($count%4==0) print "<br>";
print $array[$count]; 
}
so das müsste auch gehen, und gefällt mir schon um einiges besser.
das prozentzeichen ist eine moduloanweisung und errechnet den rest einer ganzzahldivision. Wenn $count durch vier teilbar ist, ist der rest null -> es wurde bei dem letzten mal durchlaufen ein viertes ergebnis ausgegeben, bevor das nächste (wieder erste) ergebnis ausgegeben wird, mache ich jetzt einen zeilenumbruch.
Mit Zitat antworten
  #4  
Alt 23.07.2002, 17:45:28
Moses Moses ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 55
Hallo Matt,
danke für die ausführliche Hilfe.
Leider funktioniert es immer noch nicht so wie ich es mir vorstelle.
Bei dem ersten Code gibt er mir eine Fehlermeldung für die foreach() Anweisung zurück.
Beim zweiten Code macht er zwar den Zeilenumbruch wie gewünscht, schreibt aber vier mal den Namen 1 macht dann den Zeilenumbruch, schreibt viermal den Namen 2 usw.
Name 1 - Name 1 - Name 1 - Name 1
Name 2 - Name 2 - etc.

Da muß ich wohl irgendwas grundlegend falsch gemacht haben....

Wenn Du noch eine gute Idee hast wäre ich dankbar.

Grüße,
Moses
Mit Zitat antworten
  #5  
Alt 23.07.2002, 20:27:55
Viper Viper ist offline
Anfänger
 
Registriert seit: Jun 2002
Beiträge: 75
Hi!

Ich denke mal das Du das ganze durch eine 'While'-Schleife ablaufen lässte.
Dann könntest Du es in etwa so machen:

$i = 0 ;
while(.....) {
echo $name ;
$i++
if($i >= 4) {
echo "<br />" ;
$i = 0 ;
}
}

Wäre vielleicht am einfachsten
Mit Zitat antworten
  #6  
Alt 24.07.2002, 09:42:51
Benutzerbild von Matt
Matt Matt ist offline
Member
 
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
die while schleife ist doch fad ;)
poste doch mal deinen code für version 2 bitte, ich glaub nämlich nicht, dass das den fehler machen kann, allein schon von der logik her ist das unmöglich!
EDIT:
auch beispiel 1 müsste von der for-each schleife problemlos funktionieren, ich versteh das nicht, bist du sicher, dass das wirklich ein array ist, dass du da hast, und dass die daten so sind, wie du glaubst? Schreib doch bitte auch mal die fehlermeldungen her.
Mit Zitat antworten
  #7  
Alt 24.07.2002, 11:50:16
Moses Moses ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 55
Fad oder nicht - es funktioniert!
Vielen Dank.
Trotzdem würde ich gerne wissen was ich vorher falsch gemacht habe, damit ich was lerne.

while ($Aus = mysql_fetch_array($erg)) {
for($count=0;$count<sizeof($Aus);$count++)
{
if($count%4==0) print "<br>";
print $Aus[$count];
}
}
wenn ich es so mache, wird der Zeilenumbruch nach jedem Element gedruckt.

-----------------

while ($Aus = mysql_fetch_array($erg)) {
for($count=0;$count<sizeof($Aus);$count++)
{
print $count;
if($count%4==0) print "<br>";
print "<a href='Datei.php?ID=" .$Aus["ID"]."'>".$Aus["Name"] ."</a> - " ;
print $count;
}
}


Wenn ich es so mache, wird jedes Element viermal gedruckt und dann kommt der Zeilenumbruch, habe $count schon an verschiedene Positionen gesetzt alles mit dem gleichen Ergebniss (mit print, ohne print, mit Klammer, ohne Klammern, etc - denkemal, daß ich alle Versionen durchprobiert habe, bin mir schon gar nict mehr sicher, welche Version die da oben ist).

Grüße,
Moses
Mit Zitat antworten
  #8  
Alt 24.07.2002, 11:56:43
Benutzerbild von Matt
Matt Matt ist offline
Member
 
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
AUTSCH! Ich hätte deine nachricht besser lesen sollen, ich dachte, du hast das array schon als ganzes und nicht aus einer db, somit kann das ja natürlich nicht gehen, weil du in der while schleife immer nur ein array mit einem eintrag hast, dass dann allerdings vier mal angezeigt wird... nunja. tut leid...
Mit Zitat antworten
  #9  
Alt 24.07.2002, 12:03:30
Moses Moses ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 55
Da habe ich aber gleich noch eine Frage zur while Schleife (ich hoffe ich gehe euch mit meinem Unwissen nicht zu sehr auf die Nerven)
Ich möchte nach jedem Array Wert einen Bindestrich (soweit kein Problem, kann ich - unglaublich aber wahr ;-)
Aber nach dem letzten Array Wert will ich diesen Bindestrich unterdrücken -

$i = 0 ;
while($Aus = mysql_fetch_array($erg)) {
echo "<a href='datei.php?ID=" .$Aus["ID"]."'>".$Aus["Name"] ."</a>";
$i++ ;
if($i<4)
{
echo " - ";
}
if($i >= 4)
//-- bzw. else
{
echo "<br />" ;
$i = 0 ;
}
}
}

Wie muß ich argumentieren, damit nach dem letzten Array Wert weder Bindestrich noch Umbruch erfolgt?

Grüße,
Moses
Mit Zitat antworten
  #10  
Alt 24.07.2002, 12:04:49
Moses Moses ist offline
Anfänger
 
Registriert seit: Jul 2002
Beiträge: 55
Matt,
trotzdem vielen Dank - hat mir auch so sehr weitergeholfen in meinen Anfängen in PHP!

Danke,
Moses
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:16:40 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt