php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.11.2007, 12:12  
Benutzer
 
Registriert seit: 04.02.2004
Beiträge: 65
wishy
Standard nach x ausgaben pasue machen [gelöst]

Hallo Leute!

ich lese daten aus meiner datenbank aus. das funktioniert alles wunderbar. nun sollen die daten in eine html tabelle kommen, und zwar immer drei datensätze pro zeile. Wie kann ich nach jedem dritten datensatz sowas wie </tr><tr> einfügen?

PS: Leider kommt mir kein passender Titel in den Sinn. Werde diesen aber gerne ändern...
wishy ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.11.2007, 12:17  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

hallo @wishy

Lass die Datensätze einfach durch eine Schleife laufen.
Du kannst entweder alle Datensätze via foreach durchlaufen lassen und via if, bei jedem 3. Datensatz abtrennen oder dies mit verschachtelten for schleifen machen (diese bevorzuge ich).
Klar wie ich es meine ?

Gruß Simon
__________________
Der G-Translator
Simon9990 ist offline   Mit Zitat antworten
Alt 06.11.2007, 12:29  
Benutzer
 
Registriert seit: 06.10.2004
Beiträge: 77
Xfer
Standard

Mal nen bissel Code (Ungetestet, aber so sollte es ungefähr laufen):
PHP-Code:

echo '<table><tr>';
$i=0;
foreach(
$data as $row)
{
 echo 
'<td>'.$row['feldname'].'</td>';
 
$i++;
 if(
$i%3==0)
 {
 echo 
'</tr><tr>';
 }
}
echo 
'</tr></table>'
Bevor man die Tabelle schließt muss man die evtl. leeren Zellen noch ausgeben lassen, die Anzahl der Datensätze ist ja nicht immer durch 3 teilbar.

cu
Xfer
__________________
Xfer ist offline   Mit Zitat antworten
Alt 06.11.2007, 14:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dafür kannst du den Modulo-Operator verwenden. Das liefert dir den Rest einer Division.

15 % 7 = 1, da die 7 2x voll in die 15 passt und der Rest von 1 übrig bleibt.

Bei einer Schleife kannst du dann $i % 3 == 0 als Bedingung setzen. Jeden 3. Schleifenduchlauf ist dieses Konstrukt TRUE, sonst FALSE.
Zergling-new ist offline   Mit Zitat antworten
Alt 06.11.2007, 17:04  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Zergling
Dafür kannst du den Modulo-Operator verwenden.
Der Beitrag von Xfer ist ja nichts anderes (bzw. eine schlecht formatierte Version davon).
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 06.11.2007, 18:21  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ja, aber erfahrungsgemäß geht der wichtige Teil dann unter (wird nicht verstanden und dann ignoriert) und deshalb wollte ich den Operator noch einmal genauer erklären
Zergling-new ist offline   Mit Zitat antworten
Alt 06.11.2007, 19:08  
Benutzer
 
Registriert seit: 04.02.2004
Beiträge: 65
wishy
Standard

Zitat:
Zitat von Zergling
Ja, aber erfahrungsgemäß geht der wichtige Teil dann unter (wird nicht verstanden und dann ignoriert) und deshalb wollte ich den Operator noch einmal genauer erklären
Vielen Dank für die schnelle Hilfe!

Irgendwie bin ich mit foreach nicht auf einen grünen Zweig gekommen. mit while hats funktioniert. Hier meine Lösung:
PHP-Code:
$geteventinfo=mysql_query("SELECT $sprache, lang_nr FROM order_lang order by id ASC");
$num_rows mysql_num_rows($geteventinfo);
$datensatz 0;
$mod $num_rows%3;
while (
$eventinfo=mysql_fetch_array($geteventinfo)){
$datensatz++;
$lang_name $eventinfo[0];
$lang_nr $eventinfo[1];
echo 
'<td><span class="zusammen"><input type="checkbox" name="or_target[]" value="' .$lang_nr .'">[img]inc/flag/' .$lang_nr .'.gif[/img]' .$lang_name .'</span></td>';

if(
$datensatz%== 0){
    if(
$num_rows == $datensatz){
    echo 
'</tr>';
    }else{
        echo 
'</tr><tr><td></td>';
        }
    }
if(
$num_rows == $datensatz){
    if(
$mod == 1){
    echo 
'<td></td><td></td>';
    }
    if(
$mod == 2){
    echo 
'<td></td>';
    }
    }

Eventuell nicht elegant, aber es funktioniert.

Grüsse aus der Schweiz
Wishy
wishy ist offline   Mit Zitat antworten
Alt 07.11.2007, 10:28  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Chasch's au so mache:
PHP-Code:
<?php 
$geteventinfo 
mysql_query("SELECT $sprache, lang_nr FROM order_lang order by id ASC");
$datensatz 0;
$line '';
while (
$eventinfo mysql_fetch_row($geteventinfo)){
    
$lang_name $eventinfo[0];
    
$lang_nr $eventinfo[1];
    
$line .= '<td><span class="zusammen">
                <input type="checkbox" name="or_target[]" value="' 
$eventinfo[1] . '">
              [img]inc/flag/' 
$eventinfo[1] . '.gif[/img]' 
                 
$eventinfo[0] . '</span></td>';
    if((
$datensatz == 2){
        
print_line($line3);
        
$line '';
        
$datensatz 0;
    }
    else{
        
$datensatz ++;
    }
}
if(
$datensatz 0){
    
print_line($line$datensatz);
}

function 
print_line($line$count){
    if(
$count 3){
        for(
$i $count;$i <= 3;$i ++){
            
$line .= "<td></td>";
        }
    }
    echo 
"<tr><td></td>$line</tr>";
}
?>
__________________
Gruss
L
lazydog 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
zwischen den mysql ausgaben manuellen text eingeben Bonaparte PHP Tipps 2008 3 20.12.2007 21:05
validierungs problem mit java-script ausgaben sysop HTML, Usability und Barrierefreiheit 2 24.07.2007 14:07
Ausgaben externer Programme verwerten micbur PHP Tipps 2006 6 02.06.2006 16:04
echo AUsgaben seven-12 PHP Tipps 2006 1 03.05.2006 14:49
WYSIWYG-Editor ausgaben in DB?? bona PHP Tipps 2006 5 05.04.2006 13:59
es fehlen 2 ausgaben 24bits PHP Tipps 2005-2 2 08.09.2005 14:42
echo ausgaben seven-12 PHP Tipps 2005-2 6 15.06.2005 13:43
aus doppelten ausgaben mach eine Datenbanken 2 06.03.2005 09:25
[Erledigt] Einnahmen und Ausgaben monatsweise ausgeben PHP Tipps 2005 1 02.03.2005 20:49
Daten in Eingabefelder ausgaben! Boennchen PHP Tipps 2005 5 02.03.2005 10:57
PHP-Datei ausführen und Ausgaben an Var übergeben - wie? zwelch PHP Tipps 2005 2 14.01.2005 18:46
Ausgaben von localhost kommen nicht richtig an. DutziMan Server, Hosting und Workstations 5 23.11.2004 22:04
Grafische Ausgaben im WEB PHP Tipps 2004 4 24.09.2004 16:48
tabelle mit 2 farben ausgaben PHP Tipps 2004 2 29.07.2004 20:21
Ausgaben Größe von php script PHP Tipps 2004 8 29.07.2004 19:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php nach jedem dritten datensatz etwas einfügen

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.