schleife oder was ?

Jimbo2001

Mitglied
also da ich eher ein anfänger in sachen php bin hoffe ich das ihr mir helfen könnt:

also wie mache ich das, das ich aus einer db jeden 2 eintrag mit ner anderen tabellen hintergrund farbe mache.

also das zB. eintrag 1 mit dem hintergrund blau blau ist
und eintrag 2 mit hintergrund rot ist.

das muss solange gehen bis die db komplett ausgelesen wurde.

das soll vom prinzip her genau so sein wie hier im forum die beiträge und antworten.

ich hab zwar die such funktion benutzt abernichts gefunden, falls das schon mal beantwortet wurde sorry.

mfg
jim
 
Moin

Also ich löse das so:

PHP:
$COLOR1 = "#ccf5d6";
$COLOR2 = "#ffffff";
$COLOR  = $COLOR1;

While.......//schleife
{
IF ($COLOR = $COLOR1)
{       
       $COLOR = $COLOR2
}
ELSE 
{
       $COLOR = $COLOR1
}
echo "<td bgcolor=\"".$COLOR."\">";
echo "Deine Ausgabe";
echo "</td>";
}//Ende schleife



Gruß

Texaner
 
Na ja, bis auf ein paar Syntax- u. logische Fehler stimmt's schon @Texaner ;)

PHP:
$color1 = "#ff0000";
$color2 = "#0000ff";
$col1 = true;

while ($zeile = mysql_fetch_array($result))
{
	// wenn $col1 == true, dann $color1 ausgeben, andernfalls $color2
	echo "<tr bgcolor=\"".($col1?$color1:$color2)."\"><td>$zeile[inhalt]</td></tr>";
	// $col1 invertieren (false -> true und umgekehrt)
	$col1 != $col1;
}
So geht's garantiert.


reima

PS: @AKM<2b>: Deinen Vorschlag würde ich nicht uneingeschränkt empfehlen. Könnten ja "Lücken" bei den IDs auftauchen. Oder bewusst nur gerade IDs verwendet werden. Oder durch eine Abfrage gerade und ungerade durchgemischt werden. Und, und, und...
 
Zuletzt bearbeitet:
hmm jetzt nur noch eine frage wie mach ich das wenn ich alles in externen templates habe, also ich müste nur das farb ergebniss der zeilen in jeder farbe in einer variable ausgeben, da die templates einfach nur .htm dateien sind und ich da keinen php code rein schreiben kann da der dann einfach übergangen wird.

ähm ja also zur sache.

ich will einfach die farben jeder 1 und 2 zeile mit 2 variablen an die template übergeben also zB. farbe1 = #000000 und für jede 2 zeile ist farbe1 = #ffffff oder so ??

please help me !


thx
 
@reima

Syntaxfehler ok gebe ich zu (progge gerade in ASP) daher ist voll das vergessen von ; oder == zu entschuldigen :-)

Aber welche logischen Fehler meinst du ????

Wenn da welche wären dürfte es ja bei mir nicht funzen (tut es aber)

Texaner
 
höm?

hi,


also ich versteh dein problem nich so ganz :D einfach einmal
Code:
<?php
vor und
Code:
?>
nach dem code schreiben oder?! :D


cu, slimie
 
also mein derzeitiger code sieht so aus.

PHP:
<?php
require("_config.inc.php");
require("_funktions.inc.php");
require("_dbconnect.php");
$result = mysql_query("SELECT * FROM `cb_design` ORDER BY `id` ASC");
while ($design = mysql_fetch_array($result)){
include("header.php");

eval("dooutput(\"".gettemplate("add")."\");");

$result = mysql_query("SELECT * FROM cool_book ORDER BY id desc");
$number = mysql_num_rows($result);
$seiten = floor($number/$prosite);
$start = $page * $prosite;
$sql="SELECT * FROM cool_book LIMIT $start,$prosite";
$result = mysql_query("SELECT * FROM `cool_book` ORDER BY `id` DESC LIMIT $start, $prosite");
$ende = $start + $prosite;
if ($ende>$number) { $ende = $number; }

//echo "<font size=\"2\">Zur Zeit sind $number Einträge im Gästebuch <BR> \n</font>";
//echo "<font size=\"2\">Seite $page - Einträge von $start bis $ende <BR> \n</font>";

if ($page>0) {
    $i=$page-1;
    echo "<A HREF=\"index.php?page=$i\"><font size=\"2\">&lt;&lt;</font></A>&nbsp;";
}
for($i=0; $i<=$seiten; $i++) {
    if ($i==$page) {
        echo "<font size=\"3\">[$i]&nbsp;</font>";
    }
    else {
        echo "<A HREF=\"index.php?page=$i\"><font size=\"2\">[$i]</font></A>&nbsp;";
    }
}
if ($page<$seiten) {
    $i=$page+1;
    echo "<A HREF=\"index.php?page=$i\"><font size=\"2\">&gt;&gt;</font></A>";
}

eval("dooutput(\"".gettemplate("posthead")."\");");
while ($data = mysql_fetch_array($result)){

if ($data[homepage] == ""){
$homepage = "";
}elseif ($data[homepage] == "http://"){
$homepage = "";
}else{
$homepage = "<a href=\"mailto:$data[homepage]\" target=\"_blank\"><img border=\"0\" src=\"images/url.gif\"></a>";
}
if ($data[mail_adresse] == ""){
$mail_addy = "";
}else{
$mail_addy = "<a href=\"mailto:$data[mail_adresse]\"><img border=\"0\" src=\"images/email.gif\"></a>";
}
if ($data[icq_uin] == ""){
$icq_addy = "";
}else{
$icq_addy = "<a href=\"http://wwp.icq.com/scripts/search.dll?to=$data[icq_uin]\"><img src=\"http://online.mirabilis.com/scripts/online.dll?icq=$data[icq_uin]&img=5\" width=\"18\" height=\"18\" border=\"0\" alt=\"Füge $data[name] deiner Kontakt-Liste hinzu\" align=\"absmiddle\"></a>";
}

$table_farbe = "#336699";

eval("dooutput(\"".gettemplate("postit")."\");");
}

include("footer.php");
}
?>

sorry bin noch anfänger und hab hier sicher viele fehler gemacht oder hätte vieles anders machen können aber die postit variable ist die template die ausgegeben wird und darüber die tabellen farbe ist die farbe die jeden 2 eintrag in einer anderen tabellen farbe ausgeben soll.

und damit der auchangezeigt wird in der template brauch ich variablen.
 
hallo an alle erstmal!
bei mir ist auch das problem, dass ich je 2 zeilen unterschiedlich einfärben will;
habe beide vorschläge (den von Matthias Reitinger und den von Texaner) probiert, aber es klappt nicht; die benutzte variable wird nicht nach jeder ausgabe umgeändert, liegt also wahrscheinlich an der if-geschichte:


PHP:
else
{
$COLOR1 = "bgcolor=\"none\"";
$COLOR2 = "bgcolor=\"#EAEAEA\"";
$COLOR  = $COLOR1;

while ($data = mysql_fetch_array($result)) {
	if($COLOR = $COLOR1)
		{
       $COLOR = $COLOR2; }
	else {$COLOR = $COLOR1;}
	

		// wenn $col1 == true, dann $color1 ausgeben, andernfalls $color2
  echo("<tr height=20 ".$COLOR.">
        <td width=\"40%\"><p style=\"margin-left: 5\">".$data[UserName]."</td>
        <td width=\"30%\" align=center>".$data[UserPosition]."</td>
        <td width=\"40%\" align=right><p style=\"margin-right: 5\">".$data[UserTore]."</td>
        </tr>");
        // $col1 invertieren (false -> true und umgekehrt)
		
}
}

geht um diese seite:
Erftstolz-Torschützen
 
Moin, meine Lösung, denke das sollte mit die beste sein:
PHP:
      <?
      $colors[0] = "#204173652";
      $colors[1] = "#00046465";
      ?>
      <table>
      <?
      $cnt = 0;
      while ($row = mysql_fetch_assoc($sel)) {
        ?>
        <tr bgcolor="<?=$colors[$cnt%2]?>"><td>-->INHALT<--</td></tr>
        <?
        $cnt++;
      }
      ?>
      </table>

/€dit:
Das ist übrigens kein Grund einen 2 Jahre alten Thread auszugraben :-)
 
Zurück