Gegen Bilderklau - Das Original

Registrierung Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Statistik Chat Karte Zur Startseite

Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » [PHP & MySQL] Schleife do, for -> alle 3 mal einen Umbruch einfügen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Schleife do, for -> alle 3 mal einen Umbruch einfügen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
janinchen janinchen ist weiblich
It's me!


images/avatars/avatar-33373.png

Dabei seit: 24.11.2005
Beiträge: 1.043
Herkunft: Baden-Württemberg

Schleife do, for -> alle 3 mal einen Umbruch einfügen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Tjaja, es geht ans eingemachte, schon wieder ich smile

Also, ich brauche eine Schleife, die Einträge aus einer Datenbank ausliest.
Diese Einträge sollen dann in Tabellenzellen ausgegeben werden.
Das würde ich generell so machen:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
 <? $sql = "SELECT
                Name, Ordner
                
            FROM
                name";
            
    $result = mysql_query($sql);

    while ($row = mysql_fetch_assoc($result)) {

    echo "
       $row[Name]
";}
?>


Jetzt sollen aber immer zwei Zellen nebeneinander ausgegeben werden, danach eine neue Zeile (</tr><tr>).
Ich dachte, das kann ich doch mit einer Schleife lösen, die die Durchläufe zählt und alle 2 mal ein <tr> einfügt.
Nur irgendwie komm ich mit dieser doofen Schleife einfach nicht klar.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:


<?php
do {
for ($zahl=0$zahl<=2$zahl++) {
if ($zahl%2==0) {echo "<tr>";}
if ($zahl%2!=2) {
echo"
<td>
$row[Name]</td>
";
}
if ($z%2==1) {echo "</tr>";}
}
}?>


Weiter komm ich nicht smile So werden ja nicht die Durchläufe durch die Schleife gezählt, sondern irgendwas andres ^^
Bitte helft mir unglücklich


Eure -hier in der Homepagehilfe mittlerweile bestimmt bekannte- Janina großes Grinsen

__________________


Dieser Beitrag wurde 8 mal editiert, zum letzten Mal von janinchen: 27.07.2007 16:12.

27.07.2007 16:09 janinchen ist offline Homepage von janinchen Beiträge von janinchen suchen Nehmen Sie janinchen in Ihre Freundesliste auf Fügen Sie janinchen in Ihre Kontaktliste ein MSN Passport-Profil von janinchen anzeigen
Melli Melli ist weiblich
i will rest in pieces !!


images/avatars/avatar-50673.png

Dabei seit: 28.01.2006
Beiträge: 4.692
Herkunft: DE

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also ich kenn mich mit PHP nich aus, aber meine HTML-Kenntnisse sagen mir, dass vor das <tr> erstma ein <table> muss, genauso muss die Tabelle geschlossen werden </table>

Das hilft dir jetzt zwar nicht aber egal... xDD
28.07.2007 13:37 Melli ist offline E-Mail an Melli senden Homepage von Melli Beiträge von Melli suchen Nehmen Sie Melli in Ihre Freundesliste auf
janinchen janinchen ist weiblich
It's me!


images/avatars/avatar-33373.png

Dabei seit: 24.11.2005
Beiträge: 1.043
Herkunft: Baden-Württemberg

Themenstarter Thema begonnen von janinchen
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Melli
Also ich kenn mich mit PHP nich aus, aber meine HTML-Kenntnisse sagen mir, dass vor das <tr> erstma ein <table> muss, genauso muss die Tabelle geschlossen werden </table>

Das hilft dir jetzt zwar nicht aber egal... xDD


Ne, nicht wirklich x) Darüber, wie eine Tabelle aufgebaut werden muss, bin ich mir durchaus bewusst großes Grinsen
Da ich ja alles, was aus der Datenbank kommt in diese Zellen (<td></td>) auslesen lasse würde folglich (je nachdem, wie viele Eintragungen ausgelesen werden) die Tabelle nach rechts hin immer größer werden, und deswegen möchte ich, dass alle zwei Zellen eine neue Zeile erstellt wird (<tr></tr>).

Alles klar? großes Grinsen

PS: Ohne richtig HTML zu können, würde ich mit PHP glaub ich nix zu Stande bringen Augenzwinkern

__________________


28.07.2007 13:46 janinchen ist offline Homepage von janinchen Beiträge von janinchen suchen Nehmen Sie janinchen in Ihre Freundesliste auf Fügen Sie janinchen in Ihre Kontaktliste ein MSN Passport-Profil von janinchen anzeigen
Susi Susi ist weiblich
***


images/avatars/avatar-46048.gif

Dabei seit: 02.04.2005
Beiträge: 497
Herkunft: Sauerland

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bist du sicher, dass du das einfach so mit "==1" schreiben kannst?
php:
1:
if ($z%2==1) {echo "</tr>";}

So kenne ich das nämlich nicht. x) Ich schreibs normalerweise einfach so (am Schluss) und dann gehts auch:
php:
1:
if ($z%2==0) {echo "</tr><tr>";}


lg

__________________

28.07.2007 13:50 Susi ist offline E-Mail an Susi senden Homepage von Susi Beiträge von Susi suchen Nehmen Sie Susi in Ihre Freundesliste auf
janinchen janinchen ist weiblich
It's me!


images/avatars/avatar-33373.png

Dabei seit: 24.11.2005
Beiträge: 1.043
Herkunft: Baden-Württemberg

Themenstarter Thema begonnen von janinchen
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja stimmt, logisch smile Rest muss ja 0 sein xD

Wie machst du denn das ganze mit der Schleife?

__________________


28.07.2007 14:30 janinchen ist offline Homepage von janinchen Beiträge von janinchen suchen Nehmen Sie janinchen in Ihre Freundesliste auf Fügen Sie janinchen in Ihre Kontaktliste ein MSN Passport-Profil von janinchen anzeigen
Susi Susi ist weiblich
***


images/avatars/avatar-46048.gif

Dabei seit: 02.04.2005
Beiträge: 497
Herkunft: Sauerland

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich versteh die Frage jetzt nicht ganz, aber ich jetzt einfach mal so geändert, wie ich das meinte. ^^
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:


<?php
do {
for ($zahl=0$zahl<=2$zahl++) {
$row mysql_fetch_assoc($result);
echo"
<td>
$row[Name]</td>
";
if ($zahl%2==0) {echo "</tr><tr>";}
}
}?>

Also einfach erst ganz normal ne Tabellen-Zelle mit dem Namen drin schreiben lassen (vorher natürlich noch dieses $row-Dings auslesen lassen, ich habs jetzt provisorisch eingefügt.) Danach machst du dann ne Abfrage, ob die Nummer des Durchgangs ($zahl) durch 2 teilbar ist. Wenn das der Fall ist, wird eben ne neue Zeile angefangen. Ich hoffe das war vertständlich so. ^^

__________________

28.07.2007 15:08 Susi ist offline E-Mail an Susi senden Homepage von Susi Beiträge von Susi suchen Nehmen Sie Susi in Ihre Freundesliste auf
janinchen janinchen ist weiblich
It's me!


images/avatars/avatar-33373.png

Dabei seit: 24.11.2005
Beiträge: 1.043
Herkunft: Baden-Württemberg

Themenstarter Thema begonnen von janinchen
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Mhhh, so ganz gelöst ist das Problem jetzt noch nicht x)

Code sieht so aus:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
$sql "SELECT
                Name, Ordner
                
            FROM
                pferde
            WHERE
                Unterbringung = 'Stall 3' ";
    $result mysql_query($sql);

while ($row mysql_fetch_assoc($result)) {


for ($zahl=0$zahl<=22$zahl++) {
$row mysql_fetch_assoc($result);
echo"

    <td class="box" height="100" width="100"><a href="../Pferde/Lerental_Steckbrief.php?name=$row[Ordner]" target="_self"><font color="#000000"><b>$row[Name]</b></font></a></td>
";
if ($zahl%2==0) {echo " <td class="paddock" height="100" width="100">Paddock</td></tr><tr><td class="paddock" height="100" width="100">Paddock</td>";}

};


}
mysql_close();


Das Problem: Er zeigt mir jetzt insgesamt 22 Boxen an, wovon eben die 5 gefüllt sind. Alle andern Boxen sind komplett leer, ohne jegliche Formatierung, ohne Rand und ohne Inhalt.
Weiß jemand ne Möglichkeit, mit der ich entweder nur soviele Boxen ausgeben kann, wie auch benötigt werden oder die übrigen mit "Reservebox" beschriften?


Wär lüüüüb <3

__________________


28.07.2007 17:28 janinchen ist offline Homepage von janinchen Beiträge von janinchen suchen Nehmen Sie janinchen in Ihre Freundesliste auf Fügen Sie janinchen in Ihre Kontaktliste ein MSN Passport-Profil von janinchen anzeigen
.Maybe
Mitglied


Dabei seit: 01.12.2005
Beiträge: 5.230

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hm... Also mit LIMIT = 5 (bzw wenn die Zahl sich ändert musst du erst einmal mysql_num_rows verwenden und es als Variable speichern) kannst du eben nur 5 Boxen ausgeben lassen, ist es das, was du suchst?
Wenn du die übrigen mit Resterviert beschriften willst, musst du eben ein If reinmachen [ if(Box == 'Reserviert') { echo "Reserviert"; } ]
Sorry, aber ich verstehs nicht ganz ""
28.07.2007 18:02 .Maybe ist offline E-Mail an .Maybe senden Beiträge von .Maybe suchen Nehmen Sie .Maybe in Ihre Freundesliste auf
janinchen janinchen ist weiblich
It's me!


images/avatars/avatar-33373.png

Dabei seit: 24.11.2005
Beiträge: 1.043
Herkunft: Baden-Württemberg

Themenstarter Thema begonnen von janinchen
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hat sich erledigt smile

Maybe: Danke für die Hilfe, hab aber noch nen einfacheren Lösungsweg gefunden smile Ich hab schon im vorigen Teil des Scripts alle Pferde mit "Stall 3" zählen lassen und die Anzahl in einer Variablen gespeichert. Die hab ich eingesetzt. Funktioniert auch jetzt super Augenzwinkern

Danke euch allen x)

__________________


28.07.2007 18:21 janinchen ist offline Homepage von janinchen Beiträge von janinchen suchen Nehmen Sie janinchen in Ihre Freundesliste auf Fügen Sie janinchen in Ihre Kontaktliste ein MSN Passport-Profil von janinchen anzeigen
Baumstruktur | Brettstruktur
Gehe zu:
Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » [PHP & MySQL] Schleife do, for -> alle 3 mal einen Umbruch einfügen

Impressum

Forensoftware: Burning Board, entwickelt von WoltLab GmbH